diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 7a8103f8120..5b799d0b5b7 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -17,12 +17,6 @@ var/area/Y = get_area(X) return Y.name -/proc/get_area_master(O) - var/area/A = get_area(O) - if(A && A.master) - A = A.master - return A - /proc/get_area_by_name(N) //get area by its name for(var/area/A in world) if(A.name == N) @@ -81,13 +75,13 @@ return heard /proc/alone_in_area(area/the_area, mob/must_be_alone, check_type = /mob/living/carbon) - var/area/our_area = get_area_master(the_area) + var/area/our_area = get_area(the_area) for(var/C in living_mob_list) if(!istype(C, check_type)) continue if(C == must_be_alone) continue - if(our_area == get_area_master(C)) + if(our_area == get_area(C)) return 0 return 1 diff --git a/code/datums/wires/airalarm.dm b/code/datums/wires/airalarm.dm index fa6df74fa03..9030adfa6d6 100644 --- a/code/datums/wires/airalarm.dm +++ b/code/datums/wires/airalarm.dm @@ -46,7 +46,7 @@ A.mode = 1 // AALARM_MODE_SCRUB A.apply_mode() if(WIRE_ALARM) // Clear alarms. - var/area/AA = get_area_master(A) + var/area/AA = get_area(A) if(AA.atmosalert(0, holder)) A.post_alert(0) A.update_icon() @@ -68,7 +68,7 @@ A.mode = 3 // AALARM_MODE_PANIC A.apply_mode() if(WIRE_ALARM) // Post alarm. - var/area/AA = get_area_master(A) + var/area/AA = get_area(A) if(AA.atmosalert(2, holder)) A.post_alert(2) A.update_icon() \ No newline at end of file diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 244e0886e52..5713e348ee1 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -45,7 +45,6 @@ var/safe = 0 //Is the area teleport-safe: no space / radiation / aggresive mobs / other dangers var/no_air = null - var/area/master // master area used for power calcluations var/list/related // the other areas of the same type as this var/parallax_movedir = 0 @@ -98,10 +97,9 @@ var/list/teleportlocs = list() -/area/New() +/area/Initialize() icon_state = "" layer = AREA_LAYER - master = src uid = ++global_uid related = list(src) map_name = name // Save the initial (the name set in the map) name of the area. @@ -343,17 +341,17 @@ var/list/teleportlocs = list() /area/proc/powered(chan) // return true if the area has power to given channel - if(!master.requires_power) + if(!requires_power) return 1 - if(master.always_unpowered) + if(always_unpowered) return 0 switch(chan) if(EQUIP) - return master.power_equip + return power_equip if(LIGHT) - return master.power_light + return power_light if(ENVIRON) - return master.power_environ + return power_environ return 0 @@ -372,19 +370,19 @@ var/list/teleportlocs = list() var/used = 0 switch(chan) if(LIGHT) - used += master.used_light + used += used_light if(EQUIP) - used += master.used_equip + used += used_equip if(ENVIRON) - used += master.used_environ + used += used_environ if(TOTAL) - used += master.used_light + master.used_equip + master.used_environ + used += used_light + used_equip + used_environ if(STATIC_EQUIP) - used += master.static_equip + used += static_equip if(STATIC_LIGHT) - used += master.static_light + used += static_light if(STATIC_ENVIRON) - used += master.static_environ + used += static_environ return used /area/proc/addStaticPower(value, powerchannel) @@ -397,20 +395,19 @@ var/list/teleportlocs = list() static_environ += value /area/proc/clear_usage() - - master.used_equip = 0 - master.used_light = 0 - master.used_environ = 0 + used_equip = 0 + used_light = 0 + used_environ = 0 /area/proc/use_power(amount, chan) switch(chan) if(EQUIP) - master.used_equip += amount + used_equip += amount if(LIGHT) - master.used_light += amount + used_light += amount if(ENVIRON) - master.used_environ += amount + used_environ += amount /area/Entered(A) diff --git a/code/game/area/areas/holodeck.dm b/code/game/area/areas/holodeck.dm index fa8b23ae5b9..9fec25892e6 100644 --- a/code/game/area/areas/holodeck.dm +++ b/code/game/area/areas/holodeck.dm @@ -14,9 +14,9 @@ */ /area/holodeck/powered(var/chan) - if(!master.requires_power) + if(!requires_power) return 1 - if(master.always_unpowered) + if(always_unpowered) return 0 if(!linked) return 0 diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index 21759b80ff8..5164e1eb9bd 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -98,7 +98,7 @@ C.setDir(src.dir) C.network = tempnetwork - var/area/A = get_area_master(src) + var/area/A = get_area(src) C.c_tag = "[A.name] ([rand(1, 999)])" diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 78d389dec00..5441fc9c481 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -265,7 +265,7 @@ var/obj/item/device/multitool/P = W if(istype(P.buffer, /obj/machinery/computer/cloning)) - if(get_area_master(P.buffer) != get_area_master(src)) + if(get_area(P.buffer) != get_area(src)) user << "-% Cannot link machines across power zones. Buffer cleared %-" P.buffer = null return diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index f2ed800bac2..56e34308850 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -127,7 +127,7 @@ var/obj/item/device/multitool/P = W if(istype(P.buffer, /obj/machinery/clonepod)) - if(get_area_master(P.buffer) != get_area_master(src)) + if(get_area(P.buffer) != get_area(src)) user << "-% Cannot link machines across power zones. Buffer cleared %-" P.buffer = null return diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 6169398b739..65a25732c77 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -36,9 +36,6 @@ var/alert = signal.data["alert"] var/area/our_area = get_area(src) - if (our_area.master) - our_area = our_area.master - if(alarm_area == our_area.name) switch(alert) if("severe") diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 00b2cb81810..ddf5be80c9e 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -171,7 +171,7 @@ var/list/holopads = list() var/area/holo_area = get_area(src) var/area/eye_area = get_area(master.eyeobj) - if(eye_area in holo_area.master.related) + if(eye_area in holo_area.related) return TRUE clear_holo(master)//If not, we want to get rid of the hologram. diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 4fdd4377a99..aba49f48f58 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -48,7 +48,7 @@ on = !on - for(var/area/A in area.master.related) + for(var/area/A in area.related) A.lightswitch = on A.updateicon() @@ -56,7 +56,7 @@ L.on = on L.updateicon() - area.master.power_change() + area.power_change() /obj/machinery/light_switch/power_change() diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 741a3d16d0e..6c9033b656a 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -636,11 +636,7 @@ break if(!control_area) - var/area/CA = get_area(src) - if(CA.master && CA.master != CA) - control_area = CA.master - else - control_area = CA + control_area = get_area(src) for(var/obj/machinery/porta_turret/T in control_area) turrets |= T diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index e4b2e330889..b0bc320624f 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -301,7 +301,7 @@ var/pow_chan if(A) for(var/c in use_channels) - if(A.master && A.master.powered(c)) + if(A.powered(c)) pow_chan = c break return pow_chan @@ -339,13 +339,13 @@ if(A) var/pow_chan for(var/c in list(EQUIP,ENVIRON,LIGHT)) - if(A.master.powered(c)) + if(A.powered(c)) pow_chan = c break if(pow_chan) var/delta = min(20, chassis.cell.maxcharge-cur_charge) chassis.give_power(delta) - A.master.use_power(delta*coeff, pow_chan) + A.use_power(delta*coeff, pow_chan) diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index a1d848a1e77..f361f86431d 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -146,10 +146,8 @@ /obj/item/areaeditor/proc/get_area() var/turf/T = get_turf(usr) var/area/A = T.loc - A = A.master return A - /obj/item/areaeditor/proc/get_area_type(area/A = get_area()) if(A.outdoors) return AREA_SPACE diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index da770c0e074..8d53145e3db 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -56,7 +56,7 @@ if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0)) last_tick = world.timeofday - var/area/A = get_area_master(src) + var/area/A = get_area(src) if(!A || emped) on = 0 else diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index b1ce7612734..36b8f38a2b7 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -133,7 +133,7 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir == 1 ? -24 : 24) : 0 - var/area/A = get_area_master(src) + var/area/A = get_area(src) if(name == initial(name)) name = "[A.name] Air Alarm" @@ -311,7 +311,7 @@ send_signal(device_id, list("checks" = text2num(params["val"])^2)) . = TRUE if("set_external_pressure") - var/area/A = get_area_master(src) + var/area/A = get_area(src) var/target = input("New target pressure:", name, A.air_vent_info[device_id]["external"]) as num|null if(!isnull(target) && !..()) send_signal(device_id, list("set_external_pressure" = target)) @@ -337,12 +337,12 @@ apply_mode() . = TRUE if("alarm") - var/area/A = get_area_master(src) + var/area/A = get_area(src) if(A.atmosalert(2, src)) post_alert(2) . = TRUE if("reset") - var/area/A = get_area_master(src) + var/area/A = get_area(src) if(A.atmosalert(0, src)) post_alert(0) . = TRUE @@ -374,7 +374,7 @@ return 0 /obj/machinery/airalarm/proc/refresh_all() - var/area/A = get_area_master(src) + var/area/A = get_area(src) for(var/id_tag in A.air_vent_names) var/list/I = A.air_vent_info[id_tag] if(I && I["timestamp"] + AALARM_REPORT_TIMEOUT / 2 > world.time) @@ -409,7 +409,7 @@ return 1 /obj/machinery/airalarm/proc/apply_mode() - var/area/A = get_area_master(src) + var/area/A = get_area(src) switch(mode) if(AALARM_MODE_SCRUBBING) for(var/device_id in A.air_scrub_names) @@ -541,7 +541,7 @@ icon_state = "alarmp" return - var/area/A = get_area_master(src) + var/area/A = get_area(src) switch(max(danger_level, A.atmosalm)) if(0) icon_state = "alarm0" @@ -596,7 +596,7 @@ if(!frequency) return - var/area/A = get_area_master(src) + var/area/A = get_area(src) var/datum/signal/alert_signal = new alert_signal.source = src @@ -614,7 +614,7 @@ frequency.post_signal(src, alert_signal,null,-1) /obj/machinery/airalarm/proc/apply_danger_level() - var/area/A = get_area_master(src) + var/area/A = get_area(src) var/new_area_danger_level = 0 for(var/area/R in A.related) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index f9897593750..22e701f8e6c 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -48,7 +48,7 @@ id_tag = num2text(uid) /obj/machinery/atmospherics/components/unary/vent_pump/Destroy() - var/area/A = get_area_master(src) + var/area/A = get_area(src) A.air_vent_names -= id_tag A.air_vent_info -= id_tag @@ -165,7 +165,7 @@ "sigtype" = "status" ) - var/area/A = get_area_master(src) + var/area/A = get_area(src) if(!A.air_vent_names[id_tag]) name = "\improper [A.name] vent pump #[A.air_vent_names.len + 1]" A.air_vent_names[id_tag] = name diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm index 2b535e472a7..455d75d6969 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm @@ -40,7 +40,7 @@ id_tag = num2text(uid) /obj/machinery/atmospherics/components/unary/vent_scrubber/Destroy() - var/area/A = get_area_master(src) + var/area/A = get_area(src) A.air_scrub_names -= id_tag A.air_scrub_info -= id_tag @@ -131,7 +131,7 @@ "sigtype" = "status" ) - var/area/A = get_area_master(src) + var/area/A = get_area(src) if(!A.air_scrub_names[id_tag]) name = "\improper [A.name] air scrubber #[A.air_scrub_names.len + 1]" A.air_scrub_names[id_tag] = name diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index e3631a56d80..d37d35f9684 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -53,11 +53,11 @@ if(POWER_REQ_NONE) return FALSE if(POWER_REQ_ALL) - return !T || !A || ((!A.master.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha))) + return !T || !A || ((!A.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha))) if(POWER_REQ_CLOCKCULT) for(var/obj/effect/clockwork/sigil/transmission/ST in range(src, SIGIL_ACCESS_RANGE)) return FALSE - return !T || !A || (!istype(T, /turf/open/floor/clockwork) && (!A.master.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha))) + return !T || !A || (!istype(T, /turf/open/floor/clockwork) && (!A.power_equip || isspaceturf(T)) && !is_type_in_list(loc, list(/obj/item, /obj/mecha))) /mob/living/silicon/ai/updatehealth() if(status_flags & GODMODE) @@ -97,7 +97,7 @@ sleep(50) var/turf/T = get_turf(src) var/area/AIarea = get_area(src) - if(AIarea && AIarea.master.power_equip) + if(AIarea && AIarea.power_equip) if(!isspaceturf(T)) ai_restore_power() return @@ -119,7 +119,7 @@ T = get_turf(src) AIarea = get_area(src) if(AIarea) - for(var/area/A in AIarea.master.related) + for(var/area/A in AIarea.related) for (var/obj/machinery/power/apc/APC in A) if (!(APC.stat & BROKEN)) theAPC = APC @@ -132,7 +132,7 @@ src << "Lost connection with the APC!" aiRestorePowerRoutine = POWER_RESTORATION_SEARCH_APC return - if(AIarea.master.power_equip) + if(AIarea.power_equip) if(!isspaceturf(T)) ai_restore_power() return diff --git a/code/modules/modular_computers/hardware/recharger.dm b/code/modules/modular_computers/hardware/recharger.dm index 4a6001814ff..2a07e316c67 100644 --- a/code/modules/modular_computers/hardware/recharger.dm +++ b/code/modules/modular_computers/hardware/recharger.dm @@ -39,11 +39,11 @@ else var/area/A = get_area(src) - if(!A || !isarea(A) || !A.master) + if(!istype(A)) return 0 - if(A.master.powered(EQUIP)) - A.master.use_power(amount, EQUIP) + if(A.powered(EQUIP)) + A.use_power(amount, EQUIP) return 1 return 0 diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index bd7b268fb65..526953873b7 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -408,8 +408,8 @@ // returns whether this light has power // true if area has power and lightswitch is on /obj/machinery/light/proc/has_power() - var/area/A = src.loc.loc - return A.master.lightswitch && A.master.power_light + var/area/A = get_area(src) + return A.lightswitch && A.power_light /obj/machinery/light/proc/flicker(var/amount = rand(10, 20)) set waitfor = 0 @@ -534,7 +534,6 @@ // called when area power state changes /obj/machinery/light/power_change() var/area/A = get_area(src) - A = A.master seton(A.lightswitch && A.power_light) // called when on fire diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 350233ecd34..6767788c034 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -56,27 +56,27 @@ if(!use_power) return 1 - var/area/A = src.loc.loc // make sure it's in an area - if(!A || !isarea(A) || !A.master) + var/area/A = get_area(src) // make sure it's in an area + if(!A) return 0 // if not, then not powered if(chan == -1) chan = power_channel - return A.master.powered(chan) // return power status of the area + return A.powered(chan) // return power status of the area // increment the power usage stats for an area /obj/machinery/proc/use_power(amount, chan = -1) // defaults to power_channel var/area/A = get_area(src) // make sure it's in an area - if(!A || !isarea(A) || !A.master) + if(!A) return if(chan == -1) chan = power_channel - A.master.use_power(amount, chan) + A.use_power(amount, chan) /obj/machinery/proc/addStaticPower(value, powerchannel) var/area/A = get_area(src) - if(!A || !A.master) + if(!A) return - A.master.addStaticPower(value, powerchannel) + A.addStaticPower(value, powerchannel) /obj/machinery/proc/removeStaticPower(value, powerchannel) addStaticPower(-value, powerchannel)