From 83efddc6996e6ee77d0d011401cc255b9ea44e64 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Tue, 12 May 2015 23:08:42 -0400 Subject: [PATCH 01/11] All lightbulbs in light explosion damage range break --- code/modules/power/lighting.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index ac145588874..8ccf8648f7f 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -560,11 +560,9 @@ qdel(src) return if(2.0) - if (prob(75)) - broken() + broken() if(3.0) - if (prob(50)) - broken() + broken() return //blob effect From f44897cc90e127dc9eac639b89e4bf7c1a2a16d3 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Wed, 13 May 2015 09:25:13 -0400 Subject: [PATCH 02/11] OH YEAAAAAAAAAAAH --- code/__HELPERS/unsorted.dm | 18 ++++++++++++ code/game/mecha/mecha.dm | 56 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 8186b13e4f7..ce9341eff58 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1683,3 +1683,21 @@ atom/proc/GetTypeInAllContents(typepath) temp_col = "0[temp_col]" colour += temp_col return colour + +/proc/get_distant_turf(var/turf/T,var/direction,var/distance) + if(!T || !direction || !distance) return + + var/dest_x = T.x + var/dest_y = T.y + var/dest_z = T.z + + if(direction & NORTH) + dest_y = min(world.maxy, dest_y+distance) + if(direction & SOUTH) + dest_y = max(0, dest_y-distance) + if(direction & EAST) + dest_x = min(world.maxy, dest_x+distance) + if(direction & WEST) + dest_x = max(0, dest_x-distance) + + return locate(dest_x,dest_y,dest_z) \ No newline at end of file diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index faf33ba5682..356936dbe81 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -69,6 +69,7 @@ var/obj/item/mecha_parts/mecha_equipment/selected var/max_equip = 3 var/datum/events/events + var/turf/crashing = null var/stepsound = 'sound/mecha/mechturn.ogg' @@ -365,6 +366,61 @@ /obj/mecha/Bump(var/atom/obstacle) // src.inertia_dir = null + if(src.throwing)//high velocity mechas in your face! + var/breakthrough = 0 + if(istype(obstacle, /obj/structure/window/)) + obstacle.Destroy(brokenup = 1) + breakthrough = 1 + + else if(istype(obstacle, /obj/structure/grille/)) + var/obj/structure/grille/G = obstacle + G.health = (0.25*initial(G.health)) + G.destroyed = 1 + G.icon_state = "[initial(G.icon_state)]-b" + G.density = 0 + getFromPool(/obj/item/stack/rods, get_turf(G.loc)) + breakthrough = 1 + + else if(istype(obstacle, /obj/structure/table)) + var/obj/structure/table/T = obstacle + T.destroy() + breakthrough = 1 + + else if(istype(obstacle, /obj/structure/rack)) + new /obj/item/weapon/rack_parts(obstacle.loc) + qdel(obstacle) + breakthrough = 1 + + else if(istype(obstacle, /obj/structure/reagent_dispensers/fueltank)) + obstacle.ex_act(1) + + else if(istype(obstacle, /mob/living)) + var/mob/living/L = obstacle + var/hit_sound = list('sound/weapons/genhit1.ogg','sound/weapons/genhit2.ogg','sound/weapons/genhit3.ogg') + if(L.flags & GODMODE) + return + L.take_overall_damage(5,0) + if(L.buckled) + L.buckled = 0 + L.Stun(5) + L.Weaken(5) + L.apply_effect(STUTTER, 5) + playsound(src, pick(hit_sound), 50, 0, 0) + breakthrough = 1 + + else + src.throwing = 0//so mechas don't get stuck when landing after being sent by a Mass Driver + src.crashing = null + + if(breakthrough) + if(crashing) + spawn(1) + src.throw_at(crashing, 50, src.throw_speed) + else + spawn(1) + crashing = get_distant_turf(get_turf(src), dir, 3)//don't use get_dir(src, obstacle) or the mech will stop if he bumps into a one-direction window on his tile. + src.throw_at(crashing, 50, src.throw_speed) + if(istype(obstacle, /obj)) var/obj/O = obstacle if(istype(O, /obj/effect/portal)) //derpfix From 304471774a88b54bdfea8fb74cd13974ca7c95e8 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Thu, 14 May 2015 17:42:43 -0700 Subject: [PATCH 03/11] FIX: Psychiatrist spawning with two PDA's --- code/game/jobs/job/medical.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 4a6a299f318..90365fd0a3d 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -64,7 +64,7 @@ H.equip_or_collect(new /obj/item/clothing/under/rank/medical/mortician(H), slot_w_uniform) H.equip_or_collect(new /obj/item/clothing/suit/storage/labcoat/mortician(H), slot_wear_suit) if(H.backbag != 1) - H.equip_or_collect(new /obj/item/clothing/head/surgery/black(H.back), slot_in_backpack) + H.equip_or_collect(new /obj/item/clothing/head/surgery/black(H.back), slot_in_backpack) H.equip_or_collect(new /obj/item/weapon/autopsy_scanner(H.back), slot_in_backpack) H.equip_or_collect(new /obj/item/device/mass_spectrometer(H.back), slot_in_backpack) H.equip_or_collect(new /obj/item/weapon/storage/box/bodybags(H.back), slot_in_backpack) @@ -222,7 +222,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_belt) + H.equip_to_slot_or_del(new /obj/item/device/pda/medical(H), slot_wear_pda) H.equip_or_collect(new /obj/item/device/flashlight/pen(H), slot_s_store) if(H.backbag == 1) H.equip_or_collect(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) From adef121fb1a8fad321b0fc37fa8629e3c13d777b Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Thu, 14 May 2015 18:35:03 -0700 Subject: [PATCH 04/11] MAPFIX: Pipe errors. Engineering, Virology. --- _maps/map_files/cyberiad/cyberiad.dmm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 799d2bb97e0..3b289c7c91c 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -6265,8 +6265,8 @@ "cqy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "cqz" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft) "cqA" = (/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 9; level = 2},/turf/simulated/wall/r_wall,/area/engine/controlroom) -"cqB" = (/obj/machinery/camera{c_tag = "Atmospherics Access"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6; level = 1},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor,/area/engine/controlroom) -"cqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/hologram/holopad,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/turf/simulated/floor,/area/engine/controlroom) +"cqB" = (/obj/machinery/camera{c_tag = "Atmospherics Access"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/turf/simulated/floor,/area/engine/controlroom) +"cqC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/hologram/holopad,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor,/area/engine/controlroom) "cqD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor,/area/engine/controlroom) "cqE" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor,/area/engine/controlroom) "cqF" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/obj/machinery/computer/drone_control,/turf/simulated/floor,/area/engine/controlroom) @@ -6330,8 +6330,8 @@ "crL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) "crM" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor,/area/hallway/primary/aft) "crN" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft) -"crO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/engine/controlroom) -"crP" = (/obj/machinery/door/firedoor{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9; level = 1},/turf/simulated/floor,/area/engine/controlroom) +"crO" = (/obj/machinery/door/firedoor{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/floor,/area/engine/controlroom) +"crP" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/hidden/yellow{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/wall/r_wall,/area/engine/controlroom) "crQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/engine/controlroom) "crR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/wall/r_wall,/area/engine/controlroom) "crS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/turf/simulated/wall/r_wall,/area/engine/break_room) @@ -6386,7 +6386,7 @@ "csP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) "csQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor,/area/hallway/primary/aft) "csR" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/camera{c_tag = "Aft Primary Hallway 2"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft) -"csS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/engine/break_room) +"csS" = (/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/yellow{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/simulated/wall/r_wall,/area/engine/break_room) "csT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room) "csU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/recharge_station,/turf/simulated/floor,/area/engine/break_room) "csV" = (/turf/simulated/wall/r_wall,/area/engine/break_room) @@ -6732,7 +6732,7 @@ "czx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{level = 1},/turf/simulated/wall/r_wall,/area/medical/virology) "czy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "viro_airlock_interior"; locked = 1; name = "Virology Internal Airlock"; req_access_txt = "5"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "viro_airlock_control"; name = "Virology Access Button"; pixel_x = -28; pixel_y = 8; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "czz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/medical/virology) -"czA" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Virology APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) +"czA" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Virology APC"; pixel_x = -25; pixel_y = 3},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "czB" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/virology) "czC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) "czD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -8229,7 +8229,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaacmEcnZcoacobcocclwcodclwcoeclwcofcogcohcoicojaaacokciGcolciIcomciKciKconcoocopcoqcorcoscotcouceVcovcowcoxcoycozchLcoAckvckvckvcoBchMbHTbHTcoCcoCcoDcoEcoFcoGcoHcoCcoIcoJcoKcoLcoMcoDcoNcmfcdTcmgbEDcoOckNckOckPaaaaaacjvcoPcoQcoRcjvbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoScoTcoUcoVcoWcoXcoYcoYcoZcpacpbcpccpdcpecpfcpgcnQcphcpicpjcpjcpkcplcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUNcpmcpncpobUNbUNbWHbWHcppbWHbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacmEcpqcmGcprcmGcpscptcpucpvcmKcpwclzcpxcdbccZaaaaaaaaaaaachucpycpzcpAcpAchBcpBchBcpCceTbZUcpDcpEcpFcpGcpHcpHcpHcpIcpJckvcpKckvcpLchMbHTbHTcoCcpMcpNcpOcpPcpQcpRcoCcpQcpRcpPcpScpTcpUcoNcnrcpVcnsbEDcpWckNcpXckPcnzcnzcjvcjvcjvcjvcjvcpYbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpZcqacqbcqccqdcqecqfcqgcqhcqicnNcqjcpdcpdcqkcqlcnQcqmcpicpjcqncqocqpcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqqcqrcqsbYdbUMbUNbUNbWHbWIbWHbUNbUNaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUabCcqtcqtcqtcqtcqtcqtcqtcqtcqucqucqucqucquciCclzclzclzclzclzclzcqvcqwcqxcqxcqxcqxcqxchuchBchBchBchBchBchBchBcqyceTbZUcqzcqAcqBcqCcqDcqEcqFcqGcqHcqIcqJcqKcqLchMbHTbHTcoCcqMcqNcpOcpPcpPcqOcoCcqPcpPcpPcpScpOcqQcoNbEDbEDbEDcqRcqSckNcqTckPcqUbHTbHTbHTbHTcqVbHTbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqWcqXcqYcqZcracrbcrccrdcrecrfcnOcpdcpdcpdcrgcrhcnQcnQcpicpjcricrjcrkcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrlbUKbUKbULbUMbUMbUNbUNbUNbUNbUOaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmcrncrocrpcrqcrqcrrcrscrtcrucrvcrwcrxcrycrzcrzcrzcrAcrBcrCcrDcrDcrEcrFcrGcrHcrIcrHcrHcrHcrGcrHcrHcrJcrKcrLcrMceTbZUcrNcrOcrPcrQceVcrRclMcrScrTcrUcrVcrWcrXcrYbHTbHTcoCcrZcsacsbcsccsdcsecoCcsfcsdcsgcshcsbcsicoNbHTbHTbHTcsjcoOckNcoOcskbHTbHTbHTbHTbHTbHTbHTbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacslcjIcsmcjLcslcsncsocspcsqcsrcsscstcsscsucsvcmzcnQcnQcswcpjcsxcsycszcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmcrncrocrpcrqcrqcrrcrscrtcrucrvcrwcrxcrycrzcrzcrzcrAcrBcrCcrDcrDcrEcrFcrGcrHcrIcrHcrHcrHcrGcrHcrHcrJcrKcrLcrMceTbZUcrNcrPcrOcrQceVcrRclMcrScrTcrUcrVcrWcrXcrYbHTbHTcoCcrZcsacsbcsccsdcsecoCcsfcsdcsgcshcsbcsicoNbHTbHTbHTcsjcoOckNcoOcskbHTbHTbHTbHTbHTbHTbHTbHTbHTbHTcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacslcjIcsmcjLcslcsncsocspcsqcsrcsscstcsscsucsvcmzcnQcnQcswcpjcsxcsycszcpjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmcrncsAcsBcsCcsBcsDcsEcsFcsGcsHcsIcsHcsJcsKcsKcsKcsKceTbZVbZVbZVcsKcsLcsKcsKcsKcsKcsKcsKcsKcsKcsKcsKcsMcsNcsOcsPcsQcsRcsScsTcsUcsVcsWcsXcsYcsZctactbctcctdctecmnctfctgcthctictjctkcpPctlcoCctmcpPctkctncpOctocoNctpcmscmsctqctrctscttckPctuctvctvctwcnzcnzcnzctxctvcnCcnzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIctyctzctAcjIctBctCctDctEctFctGctHctIctJctKcmzcnQcnQcpicpjctLctMctNctOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrmctPcsBctQctRctSctTctUctVctWctXctYctZcuacubcuccudcudcuecdqcufcdqcubcugcubcubcubcubcubcubcubcubcubcubcuhcsKcuicujcukculcumcuncuocupcuqcurcuscutcuucuvcuwcuxcrVcdzcuycuzcuAcpPcpOcpPcpPcuBcuCcuDcpPcpPcpScpOcuEcoNcuFcnzaaacuGckPcuHckPckPaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIcjIcjIcjIcjIcjIcjIcjIcjIcuIcuJcuKcjIcuLcuMcuNcuOcuPcuQcuRcnQcuScnQcuTcuUcuVcuWcpjcuXcuYcuXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUabCcqtcqtcqtcqtcqtcqtcuZcvacvacvbcsHcvccqtcqxcvdcvecvecvfcvecvgcvecvecvhcvicvecvecvjcvkcvicvecvecvecvecvlcvmcvncvocvpcvqcvrcvscvtcvscvscvucvscvvcvwcvxcvycvzcrYbHTcuFcvAcvBcvCcvDcvEcvFcvGcoCcvHcvFcvIcpScvJcvKcoNcuFcnzaaacuGcvLcvMcvNckPaaaaaaaaaaaacvOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjIcvPcvQcvRcvScvTcvUcvVcvWcvXcvYcvZcjIcwacwbcwccwdcwecwecwfcwgcwhcwicwjcwkcwlcwmcpjcwncwocwnaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa From 53249a9d13acc5951001cd22992fc5e59af97f03 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Thu, 14 May 2015 20:23:37 -0700 Subject: [PATCH 05/11] FIX: Floodlights no longer have 999 range This commit fixes the fact that floodlights had literally 999 range to them, illuminating more tiles than were actually on the map. They now have 14 range, and 20 brightness to maintain functionality similar to that which they had before the lighting overhaul. --- code/game/machinery/floodlight.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm index 9c3b04f36d6..37a892f940b 100644 --- a/code/game/machinery/floodlight.dm +++ b/code/game/machinery/floodlight.dm @@ -11,7 +11,9 @@ var/use = 5 var/unlocked = 0 var/open = 0 - var/brightness_on = 999 //can't remember what the maxed out value is + var/brightness_on = 14 + light_power = 20 + //var/brightness_on = 999 //can't remember what the maxed out value is //Lighting overhaul: No max, stop TRYING TO ILLUMINATE MORE TILES THAN THE MAP CONSISTS OF. /obj/machinery/floodlight/New() src.cell = new(src) From f5f15881c24b08a067121ea46d3d05d9ae5f302b Mon Sep 17 00:00:00 2001 From: Krausus Date: Fri, 15 May 2015 01:07:08 -0400 Subject: [PATCH 06/11] Fixes luminosity checks They should now be more in-line with how they worked under the old lighting system. --- code/game/dna/genes/goon_powers.dm | 2 +- code/game/gamemodes/vampire/vampire_powers.dm | 6 +++--- code/game/objects/structures/spirit_board.dm | 4 ++-- code/modules/hydroponics/seed.dm | 2 +- code/modules/hydroponics/trays/tray.dm | 2 +- code/modules/lighting/lighting_overlay.dm | 9 +++++++++ code/modules/mob/living/carbon/human/life.dm | 4 ++-- code/modules/mob/living/carbon/monkey/life.dm | 4 ++-- code/modules/mob/living/simple_animal/hostile/statue.dm | 6 +++--- 9 files changed, 24 insertions(+), 15 deletions(-) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index febbc302eaa..5411fb3edae 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -59,7 +59,7 @@ var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T var/light_available if(L) - light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) + light_available = L.get_clamped_lum()*10 else light_available = 5 if(light_available <= 2) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 8a59cb6d147..a3285863d0e 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -273,9 +273,9 @@ var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T var/light_available if(L) - light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) + light_available = L.get_clamped_lum(0.5)*10 else - light_available = 5 + light_available = 10 if(!istype(T)) return 0 @@ -446,7 +446,7 @@ if(T.y>world.maxy-outer_tele_radius || T.y max_lum) continue diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm index 8ddfa279ea1..664bbaf1c18 100644 --- a/code/game/objects/structures/spirit_board.dm +++ b/code/game/objects/structures/spirit_board.dm @@ -64,9 +64,9 @@ var/turf/T = get_turf(src) var/atom/movable/lighting_overlay/LO = locate(/atom/movable/lighting_overlay) in T if(LO) - light_amount = max(0,min(10,LO.lum_r + LO.lum_g + LO.lum_b)-5) + light_amount = LO.get_clamped_lum(0.5)*10 else - light_amount = 5 + light_amount = 10 if(light_amount > 2) M << "It's too bright here to use [src.name]!" diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 0e4e7d56ac1..c11d46154f2 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -281,7 +281,7 @@ if(!light_supplied) var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in current_turf if(L) - light_supplied = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)-5) + light_supplied = L.get_clamped_lum()*10 else light_supplied = 5 diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index 23e7afa0fd7..2dae36c58d0 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -810,7 +810,7 @@ var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T var/light_available if(L) - light_available = max(0,min(10,L.lum_r + L.lum_g + L.lum_b)) + light_available = L.get_clamped_lum()*10 else light_available = 5 light_string = "a light level of [light_available] lumens" diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm index 932eee6461a..9110619a4fa 100644 --- a/code/modules/lighting/lighting_overlay.dm +++ b/code/modules/lighting/lighting_overlay.dm @@ -25,6 +25,15 @@ . = ..() verbs.Cut() +/atom/movable/lighting_overlay/proc/get_clamped_lum(var/minlum = 0, var/maxlum = 1) + var/lum = max(lum_r, lum_g, lum_b) + if(lum <= minlum) + return 0 + else if(lum >= maxlum) + return 1 + else + return (lum - minlum) / (maxlum - minlum) + /atom/movable/lighting_overlay/proc/update_lumcount(delta_r, delta_g, delta_b) lum_r += delta_r lum_g += delta_g diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index e51a4e3c357..dfc38cdd389 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -746,7 +746,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc var/turf/T = loc var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T if(L) - light_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + light_amount = (L.get_clamped_lum()*10) - 5 //hardcapped so it's not abused by having a ton of flashlights else light_amount = 5 nutrition += light_amount @@ -768,7 +768,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc var/turf/T = loc var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T if(L) - light_amount = L.lum_r + L.lum_g + L.lum_b //hardcapped so it's not abused by having a ton of flashlights + light_amount = L.get_clamped_lum()*10 else light_amount = 10 if(light_amount > species.light_dam) //if there's enough light, start dying diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 6b555052d6b..ec2c33983af 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -442,7 +442,7 @@ var/turf/T = loc var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T if(L) - light_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + light_amount = (L.get_clamped_lum()*10) - 5 //hardcapped so it's not abused by having a ton of flashlights else light_amount = 5 @@ -672,4 +672,4 @@ proc/handle_wetness() if(mob_master.current_cycle%20==2) //dry off a bit once every 20 ticks or so wetlevel = max(wetlevel - 1,0) - return + return diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index dc52bc78c2c..5121a96ffac 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -116,19 +116,19 @@ var/DLlight_amount var/atom/movable/lighting_overlay/L = locate(/atom/movable/lighting_overlay) in T if(L) - light_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + light_amount = L.lum_r + L.lum_g + L.lum_b else light_amount = 5 var/atom/movable/lighting_overlay/DL = locate(/atom/movable/lighting_overlay) in destination if(DL) - DLlight_amount = min(10,L.lum_r + L.lum_g + L.lum_b) - 5 //hardcapped so it's not abused by having a ton of flashlights + DLlight_amount = L.lum_r + L.lum_g + L.lum_b else DLlight_amount = 5 if(T && destination) // Don't check it twice if our destination is the tile we are on or we can't even get to our destination if(T == destination) destination = null - else if(light_amount <= 1 && DLlight_amount <= 1) // No one can see us in the darkness, right? + else if(light_amount < 0.1 && DLlight_amount < 0.1) // No one can see us in the darkness, right? return null // We aren't in darkness, loop for viewers. From b908a4b0ab2c998173241e722bda3c59076c53e6 Mon Sep 17 00:00:00 2001 From: Krausus Date: Fri, 15 May 2015 02:08:28 -0400 Subject: [PATCH 07/11] Fixes copy-paste error It was like this before I changed it! --- code/modules/mob/living/simple_animal/hostile/statue.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 5121a96ffac..1d0ca670899 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -121,7 +121,7 @@ light_amount = 5 var/atom/movable/lighting_overlay/DL = locate(/atom/movable/lighting_overlay) in destination if(DL) - DLlight_amount = L.lum_r + L.lum_g + L.lum_b + DLlight_amount = DL.lum_r + DL.lum_g + DL.lum_b else DLlight_amount = 5 if(T && destination) From 28f569f386881bff4b457db51c55a6e41ddfaf6c Mon Sep 17 00:00:00 2001 From: Krausus Date: Fri, 15 May 2015 02:33:10 -0400 Subject: [PATCH 08/11] Fixes Cloak of Darkness --- code/game/dna/genes/goon_powers.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm index 5411fb3edae..6007d233512 100644 --- a/code/game/dna/genes/goon_powers.dm +++ b/code/game/dna/genes/goon_powers.dm @@ -63,9 +63,9 @@ else light_available = 5 if(light_available <= 2) - M.alpha = round(255 * 1.15) + M.alpha = round(M.alpha * 0.8) else - M.alpha = round(255 * 0.80) + M.alpha = 255 //WAS: /datum/bioEffect/chameleon /datum/dna/gene/basic/stealth/chameleon From 49bf914c14545c502e473b1faa49784b11f16236 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Fri, 15 May 2015 04:37:44 -0700 Subject: [PATCH 09/11] FIX: Linda airflow affecting mob when it shouldn't This commit fixes Linda airflow affecting AI eyes, blob overminds, observers, and replaces the magboot check for humans with a better version. --- code/game/gamemodes/blob/overmind.dm | 3 ++- code/modules/mob/dead/observer/observer.dm | 3 +++ code/modules/mob/living/carbon/human/human_defense.dm | 6 ++---- code/modules/mob/living/silicon/ai/freelook/eye.dm | 3 +++ 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index c5be700afd4..5a9e5af05d7 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -118,4 +118,5 @@ else return 0 - +/mob/camera/experience_pressure_difference() + return 0 \ No newline at end of file diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 544999a099d..d92ef4d3047 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -229,6 +229,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(A) A.Entered(src) +/mob/dead/observer/experience_pressure_difference() + return 0 + /mob/dead/observer/examine() if(usr) usr << desc diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 7ba218dc9fa..4d4c20e8d5c 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -492,10 +492,8 @@ emp_act /mob/living/carbon/human/experience_pressure_difference(pressure_difference, direction) if(shoes) - if(istype(shoes,/obj/item/clothing/shoes/magboots)) //TODO: Make a not-shit shoe var system to negate airflow. - var/obj/item/clothing/shoes/magboots/MB = shoes - if(MB.magpulse) - return 0 + if(istype(shoes,/obj/item/clothing/shoes/magboots) && (shoes.flags & NOSLIP)) //TODO: Make a not-shit shoe var system to negate airflow. + return 0 ..() /mob/living/carbon/human/water_act(volume, temperature, source) diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm index 01945aa86fd..86e9be09ca1 100644 --- a/code/modules/mob/living/silicon/ai/freelook/eye.dm +++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm @@ -77,6 +77,9 @@ return return ai.eyeobj.loc +/mob/aiEye/experience_pressure_difference() + return 0 + // AI MOVEMENT // The AI's "eye". Described on the top of the page. From ff929c3b59c34580d811cd2e2438303cfd92cdab Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Fri, 15 May 2015 13:42:08 -0400 Subject: [PATCH 10/11] Lighting runtime fix --- code/modules/lighting/light_source.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/lighting/light_source.dm b/code/modules/lighting/light_source.dm index 30493b98bec..5b7d706d3da 100644 --- a/code/modules/lighting/light_source.dm +++ b/code/modules/lighting/light_source.dm @@ -50,7 +50,7 @@ /datum/light_source/proc/destroy() destroyed = 1 force_update() - if(source_atom) source_atom.light_sources -= src + if(source_atom && source_atom.light_sources) source_atom.light_sources -= src if(top_atom) top_atom.light_sources -= src /datum/light_source/proc/update(atom/new_top_atom) From 80d33eaab2760330ddf4534bfaed5ecdcad1e6e0 Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Fri, 15 May 2015 13:06:34 -0700 Subject: [PATCH 11/11] FIX: APC's unbuildable due to runtime This commit fixes APC's being unbuildable due to a runtime error. The runtime error was caused by checking for area.master, which no longer exists after the lighting overhaul. Signed-off-by: Tigercat2000 --- code/modules/power/apc.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 89f288d0131..757bfc6b40f 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -119,7 +119,7 @@ if (building==0) init() else - area = src.loc.loc:master + area = src.loc.loc area.apc |= src opened = 1 operating = 0