Merge branch 'Citadel-Station-13:master' into Projectile_Rework

This commit is contained in:
Solaris-Shade
2022-03-21 17:21:14 -04:00
committed by GitHub
5 changed files with 32 additions and 12 deletions

View File

@@ -16057,13 +16057,15 @@
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/structure/cable,
/obj/effect/turf_decal/tile/neutral{
dir = 8
},
/obj/effect/turf_decal/tile/neutral{
dir = 4
},
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
"bke" = (
@@ -16666,6 +16668,9 @@
dir = 1
},
/obj/effect/turf_decal/tile/neutral,
/obj/structure/cable/yellow{
icon_state = "1-4"
},
/turf/open/floor/plasteel,
/area/hallway/primary/port)
"bmc" = (

View File

@@ -357,16 +357,27 @@ Turf and target are separate in case you want to teleport some distance from a t
if(M.ckey == key)
return M
//Returns the atom sitting on the turf.
//For example, using this on a disk, which is in a bag, on a mob, will return the mob because it's on the turf.
//Optional arg 'type' to stop once it reaches a specific type instead of a turf.
/proc/get_atom_on_turf(atom/movable/M, stop_type)
var/atom/loc = M
while(loc && loc.loc && !isturf(loc.loc))
loc = loc.loc
if(stop_type && istype(loc, stop_type))
/**
* Returns the top-most atom sitting on the turf.
* For example, using this on a disk, which is in a bag, on a mob,
* will return the mob because it's on the turf.
*
* Arguments
* * something_in_turf - a movable within the turf, somewhere.
* * stop_type - optional - stops looking if stop_type is found in the turf, returning that type (if found).
**/
/proc/get_atom_on_turf(atom/movable/something_in_turf, stop_type)
if(!istype(something_in_turf))
CRASH("get_atom_on_turf was not passed an /atom/movable! Got [isnull(something_in_turf) ? "null":"type: [something_in_turf.type]"]")
var/atom/movable/topmost_thing = something_in_turf
while(topmost_thing?.loc && !isturf(topmost_thing.loc))
topmost_thing = topmost_thing.loc
if(stop_type && istype(topmost_thing, stop_type))
break
return loc
return topmost_thing
//Returns a list of all locations the target is within.
/proc/get_nested_locs(atom/movable/M, include_turf = FALSE)

View File

@@ -134,7 +134,7 @@
approx_lines = max(1, mheight / CHAT_MESSAGE_APPROX_LHEIGHT)
// Translate any existing messages upwards, apply exponential decay factors to timers
message_loc = get_atom_on_turf(target)
message_loc = isturf(target) ? target : get_atom_on_turf(target)
if (owned_by.seen_messages)
var/idx = 1
var/combined_height = approx_lines

View File

@@ -42,7 +42,7 @@
var/atom/movable/movable_source = src
bound_width = movable_source.bound_width
var/image/balloon_alert = image(loc = get_atom_on_turf(src), layer = ABOVE_MOB_LAYER)
var/image/balloon_alert = image(loc = isturf(src) ? src : get_atom_on_turf(src), layer = ABOVE_MOB_LAYER)
balloon_alert.plane = BALLOON_CHAT_PLANE
balloon_alert.alpha = 0
balloon_alert.appearance_flags = RESET_ALPHA|RESET_COLOR|RESET_TRANSFORM

View File

@@ -0,0 +1,4 @@
author: "bunny232"
delete-after: True
changes:
- bugfix: "A wire outside meta station customs has been fixed."