Skip to content

Commit

Permalink
Merge branch 'master' into NewKutjevo
Browse files Browse the repository at this point in the history
  • Loading branch information
Steelpoint committed May 12, 2024
2 parents 8b1f657 + 62d8082 commit 82ab5f4
Show file tree
Hide file tree
Showing 29 changed files with 92 additions and 103 deletions.
22 changes: 13 additions & 9 deletions code/__DEFINES/turfs.dm
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
#define RANGE_TURFS(RADIUS, CENTER) \
block( \
locate(max(CENTER.x-(RADIUS),1), max(CENTER.y-(RADIUS),1), CENTER.z), \
locate(min(CENTER.x+(RADIUS),world.maxx), min(CENTER.y+(RADIUS),world.maxy), CENTER.z) \
)
block( \
(CENTER).x-(RADIUS), (CENTER).y-(RADIUS), (CENTER).z, \
(CENTER).x+(RADIUS), (CENTER).y+(RADIUS), (CENTER).z \
)

#define RECT_TURFS(H_RADIUS, V_RADIUS, CENTER) \
block( \
locate(max((CENTER).x-(H_RADIUS),1), max((CENTER).y-(V_RADIUS),1), (CENTER).z), \
locate(min((CENTER).x+(H_RADIUS),world.maxx), min((CENTER).y+(V_RADIUS),world.maxy), (CENTER).z) \
(CENTER).x-(H_RADIUS), (CENTER).y-(V_RADIUS), (CENTER).z, \
(CENTER).x+(H_RADIUS), (CENTER).y+(V_RADIUS), (CENTER).z \
)

///Returns all turfs in a zlevel
#define Z_TURFS(ZLEVEL) block(locate(1,1,ZLEVEL), locate(world.maxx, world.maxy, ZLEVEL))
#define Z_TURFS(ZLEVEL) block(1, 1, (ZLEVEL), world.maxx, world.maxy, (ZLEVEL))

/// Returns a list of turfs in the rectangle specified by BOTTOM LEFT corner and height/width, checks for being outside the world border for you
/// Returns a list of turfs in the rectangle specified by BOTTOM LEFT corner and height/width
#define CORNER_BLOCK(corner, width, height) CORNER_BLOCK_OFFSET(corner, width, height, 0, 0)

/// Returns a list of turfs similar to CORNER_BLOCK but with offsets
#define CORNER_BLOCK_OFFSET(corner, width, height, offset_x, offset_y) ((block(locate(corner.x + offset_x, corner.y + offset_y, corner.z), locate(min(corner.x + (width - 1) + offset_x, world.maxx), min(corner.y + (height - 1) + offset_y, world.maxy), corner.z))))
#define CORNER_BLOCK_OFFSET(corner, width, height, offset_x, offset_y) \
block( \
(corner).x + (offset_x), (corner).y + (offset_y), (corner).z, \
(corner).x + ((width) - 1) + (offset_x), (corner).y + ((height) - 1) + (offset_y), (corner).z \
)

/// Returns an outline (neighboring turfs) of the given block
#define CORNER_OUTLINE(corner, width, height) ( \
Expand Down
3 changes: 1 addition & 2 deletions code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -729,8 +729,7 @@
if(orange)
turfs -= get_turf(center)
. = list()
for(var/V in turfs)
var/turf/T = V
for(var/turf/T as anything in turfs)
. += T
. += T.contents
if(areas)
Expand Down
3 changes: 1 addition & 2 deletions code/controllers/subsystem/interior.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ SUBSYSTEM_DEF(interior)

var/list/bounds = template.load(locate(bottom_left.x + (INTERIOR_BORDER_SIZE / 2), bottom_left.y + (INTERIOR_BORDER_SIZE / 2), bottom_left.z), centered = FALSE)

var/list/turfs = block( locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]),
locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))
var/list/turfs = block(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ], bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])

var/list/areas = list()
for(var/turf/current_turf as anything in turfs)
Expand Down
4 changes: 1 addition & 3 deletions code/controllers/subsystem/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -363,9 +363,7 @@ SUBSYSTEM_DEF(mapping)
if(!level_trait(z,ZTRAIT_RESERVED))
clearing_reserved_turfs = FALSE
CRASH("Invalid z level prepared for reservations.")
var/turf/A = get_turf(locate(SHUTTLE_TRANSIT_BORDER,SHUTTLE_TRANSIT_BORDER,z))
var/turf/B = get_turf(locate(world.maxx - SHUTTLE_TRANSIT_BORDER,world.maxy - SHUTTLE_TRANSIT_BORDER,z))
var/block = block(A, B)
var/block = block(SHUTTLE_TRANSIT_BORDER, SHUTTLE_TRANSIT_BORDER, z, world.maxx - SHUTTLE_TRANSIT_BORDER, world.maxy - SHUTTLE_TRANSIT_BORDER, z)
for(var/turf/T as anything in block)
// No need to empty() these, because they just got created and are already /turf/open/space/basic.
T.turf_flags = UNUSED_RESERVATION_TURF
Expand Down
2 changes: 1 addition & 1 deletion code/datums/components/overlay_lighting.dm
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@
LAZYINITLIST(affected_turfs)
if(range <= 2)
//Range here is 1 because actual range of lighting mask is 1 tile even if it says that range is 2
for(var/turf/lit_turf in RANGE_TURFS(1, current_holder.loc))
for(var/turf/lit_turf as anything in RANGE_TURFS(1, current_holder.loc))
lit_turf.dynamic_lumcount += lum_power
affected_turfs += lit_turf
else
Expand Down
6 changes: 1 addition & 5 deletions code/datums/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,7 @@
. = ..()
if(!.)
return
var/list/turfs = block( locate(.[MAP_MINX], .[MAP_MINY], .[MAP_MINZ]),
locate(.[MAP_MAXX], .[MAP_MAXY], .[MAP_MAXZ]))
for(var/i in 1 to turfs.len)
var/turf/place = turfs[i]

for(var/turf/place as anything in block(.[MAP_MINX], .[MAP_MINY], .[MAP_MINZ], .[MAP_MAXX], .[MAP_MAXY], .[MAP_MAXZ]))
// ================== CM Change ==================
// We perform atom initialization of the docking_ports BEFORE skipping space,
// because our lifeboats have their corners as object props and still
Expand Down
8 changes: 1 addition & 7 deletions code/datums/tutorial/_tutorial.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,13 +101,7 @@ GLOBAL_LIST_EMPTY_TYPED(ongoing_tutorials, /datum/tutorial)
/datum/tutorial/proc/verify_template_loaded()
// We subtract 1 from x and y because the bottom left corner doesn't start at the walls.
var/turf/true_bottom_left_corner = reservation.bottom_left_turfs[1]
// We subtract 1 from x and y here because the bottom left corner counts as the first tile
var/turf/top_right_corner = locate(
true_bottom_left_corner.x + initial(tutorial_template.width) - 1,
true_bottom_left_corner.y + initial(tutorial_template.height) - 1,
true_bottom_left_corner.z
)
for(var/turf/tile as anything in block(true_bottom_left_corner, top_right_corner))
for(var/turf/tile as anything in CORNER_BLOCK(true_bottom_left_corner, initial(tutorial_template.width), initial(tutorial_template.height)))
// For some reason I'm unsure of, the template will not always fully load, leaving some tiles to be space tiles. So, we check all tiles in the (small) tutorial area
// and tell start_tutorial to abort if there's any space tiles.
if(istype(tile, /turf/open/space))
Expand Down
12 changes: 10 additions & 2 deletions code/game/machinery/telecomms/presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,11 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
else
update_icon()

/obj/structure/machinery/telecomms/relay/preset/tower/mapcomms/update_state()
..()
if(inoperable())
handle_xeno_acquisition(get_turf(src))

/// Handles xenos corrupting the tower when weeds touch the turf it is located on
/obj/structure/machinery/telecomms/relay/preset/tower/mapcomms/proc/handle_xeno_acquisition(turf/weeded_turf)
SIGNAL_HANDLER
Expand All @@ -328,12 +333,15 @@ GLOBAL_LIST_EMPTY(all_static_telecomms_towers)
if(SSticker.mode.is_in_endgame)
return

if(operable())
return

if(ROUND_TIME < XENO_COMM_ACQUISITION_TIME)
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (XENO_COMM_ACQUISITION_TIME - ROUND_TIME))
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (XENO_COMM_ACQUISITION_TIME - ROUND_TIME), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)
return

if(!COOLDOWN_FINISHED(src, corruption_delay))
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (COOLDOWN_TIMELEFT(src, corruption_delay)))
addtimer(CALLBACK(src, PROC_REF(handle_xeno_acquisition), weeded_turf), (COOLDOWN_TIMELEFT(src, corruption_delay)), TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_NO_HASH_WAIT)
return

var/obj/effect/alien/weeds/node/pylon/cluster/parent_node = weeded_turf.weeds.parent
Expand Down
8 changes: 6 additions & 2 deletions code/game/objects/items/handheld_distress_beacon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@

if(active)
to_chat(user, "[src] is already active!")
return
return FALSE
var/reason = tgui_input_text(user, "What is the reason for activating this beacon?", "Distress Reason")
if(!reason)
return FALSE

active = TRUE
update_icon()

Expand All @@ -52,7 +56,7 @@
for(var/client/admin_client in GLOB.admins)
if((R_ADMIN|R_MOD) & admin_client.admin_holder.rights)
playsound_client(admin_client,'sound/effects/sos-morse-code.ogg',10)
message_admins("[key_name(user)] has used a [beacon_type]! [CC_MARK(user)] [beacon_call_buttons](<A HREF='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];deny_distress_handheld=\ref[user]'>DENY</A>) [ADMIN_JMP_USER(user)] [CC_REPLY(user)]")
message_admins("[key_name(user)] has used a [beacon_type] for the reason '[SPAN_ORANGE(reason)]'! [CC_MARK(user)] [beacon_call_buttons](<A HREF='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];deny_distress_handheld=\ref[user]'>DENY</A>) [ADMIN_JMP_USER(user)] [CC_REPLY(user)]")
to_chat(user, SPAN_NOTICE("A distress beacon request has been sent to [recipient]."))

/// CMB distress beacon held by CMB Marshal for signalling distress to Anchorpoint Station
Expand Down
8 changes: 2 additions & 6 deletions code/game/world.dm
Original file line number Diff line number Diff line change
Expand Up @@ -332,9 +332,7 @@ GLOBAL_LIST_INIT(reboot_sfx, file2list("config/reboot_sfx.txt"))
if(!map_load_z_cutoff)
return
// var/area/global_area = GLOB.areas_by_type[world.area] // We're guaranteed to be touching the global area, so we'll just do this
// var/list/to_add = block(
// locate(old_max + 1, 1, 1),
// locate(maxx, maxy, map_load_z_cutoff))
// var/list/to_add = block(old_max + 1, 1, 1, maxx, maxy, map_load_z_cutoff)
// global_area.contained_turfs += to_add

/world/proc/increase_max_y(new_maxy, map_load_z_cutoff = maxz)
Expand All @@ -345,9 +343,7 @@ GLOBAL_LIST_INIT(reboot_sfx, file2list("config/reboot_sfx.txt"))
if(!map_load_z_cutoff)
return
// var/area/global_area = GLOB.areas_by_type[world.area] // We're guarenteed to be touching the global area, so we'll just do this
// var/list/to_add = block(
// locate(1, old_maxy + 1, 1),
// locate(maxx, maxy, map_load_z_cutoff))
// var/list/to_add = block(1, old_maxy + 1, 1, maxx, maxy, map_load_z_cutoff)
// global_area.contained_turfs += to_add

/world/proc/incrementMaxZ()
Expand Down
2 changes: 1 addition & 1 deletion code/modules/buildmode/submodes/area_edit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
var/choice = alert("Are you sure you want to fill area?", "Area Fill Confirmation", "Yes", "No")
if(choice != "Yes")
return
for(var/turf/T in block(get_turf(cornerA),get_turf(cornerB)))
for(var/turf/T as anything in block(get_turf(cornerA),get_turf(cornerB)))
storedarea.contents.Add(T)
log_admin("Build Mode: [key_name(c)] set the area of the region from [AREACOORD(cornerA)] through [AREACOORD(cornerB)] to [storedarea].")

5 changes: 2 additions & 3 deletions code/modules/buildmode/submodes/fill.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,7 @@
if(LAZYACCESS(modifiers, LEFT_CLICK)) //rectangular
if(LAZYACCESS(modifiers, CTRL_CLICK))
var/list/deletion_area = block(get_turf(cornerA),get_turf(cornerB))
for(var/deleted_turfs in deletion_area)
var/turf/T = deleted_turfs
for(var/turf/T as anything in deletion_area)
for(var/atom/movable/AM in T)
qdel(AM)
T.ScrapeAway(INFINITY, CHANGETURF_DEFER_CHANGE)
Expand All @@ -59,7 +58,7 @@
var/choice = alert("Your selected area is [selection_size] tiles! Continue?", "Large Fill Confirmation", CONFIRM_YES, CONFIRM_NO)
if(choice != CONFIRM_YES)
return
for(var/turf/T in block(get_turf(cornerA),get_turf(cornerB)))
for(var/turf/T as anything in deletion_area)
if(ispath(objholder,/turf))
T = T.ChangeTurf(objholder)
T.setDir(BM.build_dir)
Expand Down
7 changes: 3 additions & 4 deletions code/modules/cm_tech/techtree.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,8 @@
// (The `+ 2` on both of these is 1 for a buffer tile, and 1 for the outer `/turf/closed/void`.)
var/area_max_x = longest_tier * 2 + 2
var/area_max_y = length(all_techs) * 3 + 2
for(var/t in block(locate(1, 1, zlevel.z_value), locate(area_max_x, area_max_y, zlevel.z_value)))
var/turf/pos = t
for(var/A in pos)
for(var/turf/pos as anything in block(1, 1, zlevel.z_value, area_max_x, area_max_y, zlevel.z_value))
for(var/A as anything in pos)
qdel(A)

if(pos.x == area_max_x || pos.y == area_max_y)
Expand All @@ -83,7 +82,7 @@
var/x_offset = (longest_tier - tier_length) + 1

var/datum/tier/T = tree_tiers[tier]
for(var/turf/pos in block(locate(x_offset, y_offset, zlevel.z_value), locate(x_offset + tier_length*2, y_offset + 2, zlevel.z_value)))
for(var/turf/pos as anything in block(x_offset, y_offset, zlevel.z_value, x_offset + tier_length*2, y_offset + 2, zlevel.z_value))
pos.ChangeTurf(/turf/open/blank)
pos.color = "#000000"
LAZYADD(T.tier_turfs, pos)
Expand Down
9 changes: 2 additions & 7 deletions code/modules/holidays/halloween/decorators.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
var/list/turf/valid_turfs = list()
var/list/ground_levels = SSmapping.levels_by_trait(ZTRAIT_GROUND)
for(var/ground_z in ground_levels)
var/list/turf/all_turfs = block(locate(1, 1, ground_z), locate(world.maxx, world.maxy, ground_z))
for(var/turf/open/turf in all_turfs)
for(var/turf/open/turf in Z_TURFS(ground_z))
if(turf.is_groundmap_turf)
var/valid = TRUE
for(var/atom/movable/movable as anything in turf.contents)
Expand All @@ -42,11 +41,7 @@
if(!length(valid_turfs))
break
var/turf/considered_turf = pick(valid_turfs)
var/x_min = max(1, considered_turf.x - exclusion_range)
var/y_min = max(1, considered_turf.y - exclusion_range)
var/x_max = min(world.maxx, considered_turf.x + exclusion_range)
var/y_max = min(world.maxy, considered_turf.y + exclusion_range)
var/list/turf/denied_turfs = block(locate(x_min, y_min, considered_turf.z), locate(x_max, y_max, considered_turf.z))
var/list/turf/denied_turfs = RANGE_TURFS(exclusion_range, considered_turf)
valid_turfs -= denied_turfs
picked_turfs += considered_turf

Expand Down
20 changes: 3 additions & 17 deletions code/modules/mapping/map_template.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,7 @@
var/list/obj/docking_port/stationary/ports = list()
var/list/area/areas = list()

var/list/turfs = block(
locate(
bounds[MAP_MINX],
bounds[MAP_MINY],
bounds[MAP_MINZ]
),
locate(
bounds[MAP_MAXX],
bounds[MAP_MAXY],
bounds[MAP_MAXZ]
)
)
var/list/turfs = block(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ], bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])
for(var/turf/current_turf as anything in turfs)
var/area/current_turfs_area = current_turf.loc
areas |= current_turfs_area
Expand Down Expand Up @@ -163,12 +152,9 @@
return

/datum/map_template/proc/get_affected_turfs(turf/T, centered = FALSE)
var/turf/placement = T
if(centered)
var/turf/corner = locate(placement.x - round(width/2), placement.y - round(height/2), placement.z)
if(corner)
placement = corner
return block(placement, locate(placement.x+width-1, placement.y+height-1, placement.z))
return RECT_TURFS(floor(width / 2), floor(height / 2), T)
return CORNER_BLOCK(T, width, height)


//for your ever biggening badminnery kevinz000
Expand Down
5 changes: 1 addition & 4 deletions code/modules/mapping/reader.dm
Original file line number Diff line number Diff line change
Expand Up @@ -355,10 +355,7 @@
// SSmapping.build_area_turfs(z_index)

if(!no_changeturf)
var/list/turfs = block(
locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]),
locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))
for(var/turf/T as anything in turfs)
for(var/turf/T as anything in block(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ], bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))
//we do this after we load everything in. if we don't, we'll have weird atmos bugs regarding atmos adjacent turfs
T.AfterChange(CHANGETURF_IGNORE_AIR)

Expand Down
3 changes: 1 addition & 2 deletions code/modules/mapping/space_management/space_reservation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,7 @@
if(!final)
continue
passing = TRUE
for(var/I in final)
var/turf/checking = I
for(var/turf/checking as anything in final)
if(!(checking.turf_flags & UNUSED_RESERVATION_TURF))
passing = FALSE
break
Expand Down
7 changes: 7 additions & 0 deletions code/modules/mob/living/carbon/human/examine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,13 @@
if(wear_id)
msg += "[t_He] [t_is] [wear_id.get_examine_location(src, user, WEAR_ID, t_He, t_his, t_him, t_has, t_is)].\n"

//Restraints
if(handcuffed)
msg += SPAN_ORANGE("[capitalize(t_his)] arms are restrained by [handcuffed].\n")

if(legcuffed)
msg += SPAN_ORANGE("[capitalize(t_his)] ankles are restrained by [legcuffed].\n")

//Admin-slept
if(sleeping > 8000000)
msg += SPAN_HIGHDANGER("<B>This player has been slept by staff.</B>\n")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -819,7 +819,7 @@
return

var/list/alerts = list()
for(var/i in RANGE_TURFS(floor(width/2), T))
for(var/i as anything in RANGE_TURFS(floor(width/2), T))
alerts += new /obj/effect/warning/alien(i)

if(!do_after(Q, time_taken, INTERRUPT_NO_NEEDHAND, BUSY_ICON_FRIENDLY))
Expand Down
4 changes: 1 addition & 3 deletions code/modules/nightmare/nmtasks/mapload.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,9 @@
var/list/bounds = parsed.bounds
if(length(bounds) < 6)
return
var/list/turf_block = block( locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]),
locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))
var/list/area/arealist = list()
var/list/atom/atomlist = list()
for(var/turf/turf as anything in turf_block)
for(var/turf/turf as anything in block(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ], bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))
atomlist += turf
if(turf.loc)
arealist |= turf.loc
Expand Down
3 changes: 1 addition & 2 deletions code/modules/nightmare/nmtasks/mapscheduler.dm
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
var/list/tainted = list()

for(var/list/bounds as anything in tainted_bounds)
var/list/TT = block( locate(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ]),
locate(bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ]))
var/list/TT = block(bounds[MAP_MINX], bounds[MAP_MINY], bounds[MAP_MINZ], bounds[MAP_MAXX], bounds[MAP_MAXY], bounds[MAP_MAXZ])
tainted |= TT

for(var/turf/T as anything in tainted)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/organs/limbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@
var/no_perma_damage = owner.status_flags & NO_PERMANENT_DAMAGE
var/no_bone_break = owner.chem_effect_flags & CHEM_EFFECT_RESIST_FRACTURE
if(previous_brute > 0 && !is_ff && body_part != BODY_FLAG_CHEST && body_part != BODY_FLAG_GROIN && !no_limb_loss && !no_perma_damage && !no_bone_break)
if(CONFIG_GET(flag/limbs_can_break) && brute_dam >= max_damage * CONFIG_GET(number/organ_health_multiplier))
if(CONFIG_GET(flag/limbs_can_break) && brute_dam >= max_damage * CONFIG_GET(number/organ_health_multiplier) && (status & LIMB_BROKEN))
var/cut_prob = brute/max_damage * 5
if(prob(cut_prob))
limb_delimb(damage_source)
Expand Down
2 changes: 2 additions & 0 deletions code/modules/paperwork/desk_bell.dm
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@

/obj/item/desk_bell/ares
name = "AI core reception bell"
desc = "The cornerstone of any customer service job. This one is linked to ARES and will notify any active Working Joes upon being rung."
ring_cooldown_length = 60 SECONDS // Prevents spam

/obj/item/desk_bell/ares/ring_bell(mob/living/user)
if(broken_ringer)
Expand Down
8 changes: 2 additions & 6 deletions code/modules/shuttle/shuttle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,9 +105,7 @@
///returns turfs within our projected rectangle in no particular order
/obj/docking_port/proc/return_turfs()
var/list/L = return_coords()
var/turf/T0 = locate(L[1],L[2],z)
var/turf/T1 = locate(L[3],L[4],z)
return block(T0,T1)
return block(L[1], L[2], z, L[3], L[4], z)

/obj/docking_port/proc/return_center_turf()
var/list/L = return_coords()
Expand Down Expand Up @@ -159,9 +157,7 @@
//Debug proc used to highlight bounding area
/obj/docking_port/proc/highlight(_color)
var/list/L = return_coords()
var/turf/T0 = locate(L[1],L[2],z)
var/turf/T1 = locate(L[3],L[4],z)
for(var/turf/T in block(T0,T1))
for(var/turf/T as anything in block(L[1], L[2], z, L[3], L[4], z))
T.color = _color
T.maptext = null
if(_color)
Expand Down
Loading

0 comments on commit 82ab5f4

Please sign in to comment.