diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index a72b00fc8c9..448946924b9 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -6,7 +6,6 @@
desc = "Has a valve and pump attached to it"
use_power = 1
- var/area/initial_loc
level = 1
var/area_uid
var/id_tag = null
@@ -44,17 +43,14 @@
icon_state = "in"
New()
- initial_loc = get_area(loc)
- if (initial_loc.master)
- initial_loc = initial_loc.master
- area_uid = initial_loc.uid
+ ..()
+ area_uid = areaMaster.uid
if (!id_tag)
assign_uid()
id_tag = num2text(uid)
if(ticker && ticker.current_state == 3)//if the game is running
src.initialize()
src.broadcast_status()
- ..()
high_volume
name = "Large Air Vent"
@@ -168,11 +164,11 @@
"sigtype" = "status"
)
- if(!initial_loc.air_vent_names[id_tag])
- var/new_name = "[initial_loc.name] Vent Pump #[initial_loc.air_vent_names.len+1]"
- initial_loc.air_vent_names[id_tag] = new_name
- src.name = new_name
- initial_loc.air_vent_info[id_tag] = signal.data
+ if(!areaMaster.air_vent_names[id_tag])
+ var/new_name = "[areaMaster.name] Vent Pump #[areaMaster.air_vent_names.len+1]"
+ areaMaster.air_vent_names[id_tag] = new_name
+ name = new_name
+ areaMaster.air_vent_info[id_tag] = signal.data
radio_connection.post_signal(src, signal, radio_filter_out)
@@ -362,11 +358,9 @@
del(src)
/obj/machinery/atmospherics/unary/vent_pump/Destroy()
- if(initial_loc)
- initial_loc.air_vent_info -= id_tag
- initial_loc.air_vent_names -= id_tag
+ areaMaster.air_vent_info.Remove(id_tag)
+ areaMaster.air_vent_names.Remove(id_tag)
..()
- return
/obj/machinery/atmospherics/unary/vent_pump/Topic(href, href_list)
if(..())
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index c1cf2d88bfc..e32d8fe774b 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -8,7 +8,6 @@
level = 1
- var/area/initial_loc
var/id_tag = null
var/frequency = 1439
var/datum/radio_frequency/radio_connection
@@ -28,17 +27,14 @@
var/radio_filter_out
var/radio_filter_in
New()
- initial_loc = get_area(loc)
- if (initial_loc.master)
- initial_loc = initial_loc.master
- area_uid = initial_loc.uid
+ ..()
+ area_uid = areaMaster.uid
if (!id_tag)
assign_uid()
id_tag = num2text(uid)
if(ticker && ticker.current_state == 3)//if the game is running
src.initialize()
src.broadcast_status()
- ..()
update_icon()
var/hidden=""
@@ -84,11 +80,11 @@
"filter_n2" = scrub_N2,
"sigtype" = "status"
)
- if(!initial_loc.air_scrub_names[id_tag])
- var/new_name = "[initial_loc.name] Air Scrubber #[initial_loc.air_scrub_names.len+1]"
- initial_loc.air_scrub_names[id_tag] = new_name
+ if(!areaMaster.air_scrub_names[id_tag])
+ var/new_name = "[areaMaster.name] Air Scrubber #[areaMaster.air_scrub_names.len+1]"
+ areaMaster.air_scrub_names[id_tag] = new_name
src.name = new_name
- initial_loc.air_scrub_info[id_tag] = signal.data
+ areaMaster.air_scrub_info[id_tag] = signal.data
radio_connection.post_signal(src, signal, radio_filter_out)
return 1
@@ -348,8 +344,6 @@
update_multitool_menu(usr)
/obj/machinery/atmospherics/unary/vent_scrubber/Destroy()
- if(initial_loc)
- initial_loc.air_scrub_info -= id_tag
- initial_loc.air_scrub_names -= id_tag
+ areaMaster.air_scrub_info.Remove(id_tag)
+ areaMaster.air_scrub_names.Remove(id_tag)
..()
- return
diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm
index ce6d0c50766..0e66a3bc314 100644
--- a/code/WorkInProgress/Mini/atmos_control.dm
+++ b/code/WorkInProgress/Mini/atmos_control.dm
@@ -89,12 +89,12 @@
var/list/alarms=list()
for(var/obj/machinery/alarm/alarm in (machines)) // removing sortAtom because nano updates it just enough for the lag to happen
- if(!is_in_filter(alarm.alarm_area.type))
+ if(!is_in_filter(alarm.areaMaster.type))
continue // NO ACCESS 4 U
var/list/alarm_data=list()
alarm_data["ID"]="\ref[alarm]"
- alarm_data["danger"] = max(alarm.local_danger_level, alarm.alarm_area.atmosalm-1)
+ alarm_data["danger"] = max(alarm.local_danger_level, alarm.areaMaster.atmosalm-1)
alarm_data["name"] = "[alarm]"
alarms+=list(alarm_data)
data["alarms"]=alarms
@@ -235,14 +235,14 @@
if(href_list["atmos_alarm"])
current.alarmActivated=1
- current.alarm_area.updateDangerLevel()
+ current.areaMaster.updateDangerLevel()
spawn(1)
src.updateUsrDialog()
current.update_icon()
return
if(href_list["atmos_reset"])
current.alarmActivated=0
- current.alarm_area.updateDangerLevel()
+ current.areaMaster.updateDangerLevel()
spawn(1)
src.updateUsrDialog()
current.update_icon()
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 6f3e6aec3bf..3bfbb5da25f 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -23,11 +23,11 @@
if (0)
return
-/proc/get_area_master(O)
+/proc/get_area_master(const/O)
var/area/A = get_area(O)
- if(A && A.master)
- A = A.master
- return A
+
+ if (isarea(A))
+ return A.master
/proc/get_area_name(N) //get area by its name
for(var/area/A in world)
diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm
index a33dfc1727e..9b7306f1b86 100644
--- a/code/controllers/_DynamicAreaLighting_TG.dm
+++ b/code/controllers/_DynamicAreaLighting_TG.dm
@@ -138,7 +138,7 @@ atom/movable/New()
trueLuminosity = luminosity * luminosity
light = new(src)
- area = get_area(src)
+ areaMaster = get_area(src)
//Objects with opacity will trigger nearby lights to update at next lighting process.
atom/movable/Destroy()
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index e4969abebdc..3b364afbfe3 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -16,7 +16,7 @@
var/moved_recently = 0
var/mob/pulledby = null
- var/area/area
+ var/area/areaMaster
/atom/movable/Move()
var/atom/A = src.loc
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 110b36c43f4..c50d213fc65 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -40,7 +40,6 @@
var/list/air_scrub_info = list()
/obj/machinery/alarm
- name = "alarm"
icon = 'icons/obj/monitors.dmi'
icon_state = "alarm0"
anchored = 1
@@ -70,7 +69,6 @@
var/preset = AALARM_PRESET_HUMAN
var/screen = AALARM_SCREEN_MAIN
var/area_uid
- var/area/alarm_area
var/local_danger_level = 0
var/alarmActivated = 0 // Manually activated (independent from danger level)
var/danger_averted_confidence=0
@@ -99,7 +97,7 @@
/obj/machinery/alarm/proc/apply_preset(var/no_cycle_after=0)
// Propogate settings.
- for (var/area/A in alarm_area.related)
+ for (var/area/A in areaMaster.related)
for (var/obj/machinery/alarm/AA in A)
if ( !(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted && AA.preset != src.preset)
AA.preset=preset
@@ -154,12 +152,8 @@
/obj/machinery/alarm/proc/first_run()
- alarm_area = get_area(src)
- if (alarm_area.master)
- alarm_area = alarm_area.master
- area_uid = alarm_area.uid
- if (name == "alarm")
- name = "[alarm_area.name] Air Alarm"
+ area_uid = areaMaster.uid
+ name = "[areaMaster.name] Air Alarm"
// breathable air according to human/Life()
/*
@@ -291,14 +285,14 @@
)
/obj/machinery/alarm/proc/master_is_operating()
- return alarm_area.master_air_alarm && !(alarm_area.master_air_alarm.stat & (NOPOWER|BROKEN))
+ return areaMaster.master_air_alarm && !(areaMaster.master_air_alarm.stat & (NOPOWER|BROKEN))
/obj/machinery/alarm/proc/elect_master()
- for (var/area/A in alarm_area.related)
+ for (var/area/A in areaMaster.related)
for (var/obj/machinery/alarm/AA in A)
if (!(AA.stat & (NOPOWER|BROKEN)))
- alarm_area.master_air_alarm = AA
+ areaMaster.master_air_alarm = AA
return 1
return 0
@@ -317,7 +311,7 @@
icon_state = "alarmp"
return
- switch(max(local_danger_level, alarm_area.atmosalm-1))
+ switch(max(local_danger_level, areaMaster.atmosalm-1))
if (0)
icon_state = "alarm0"
if (1)
@@ -326,13 +320,13 @@
icon_state = "alarm1"
/obj/machinery/alarm/receive_signal(datum/signal/signal)
- if(stat & (NOPOWER|BROKEN) || !alarm_area)
+ if(stat & (NOPOWER|BROKEN) || !areaMaster)
return
- if (alarm_area.master_air_alarm != src)
+ if (areaMaster.master_air_alarm != src)
if (master_is_operating())
return
elect_master()
- if (alarm_area.master_air_alarm != src)
+ if (areaMaster.master_air_alarm != src)
return
if(!signal || signal.encryption)
return
@@ -345,14 +339,14 @@
return
var/dev_type = signal.data["device"]
- if(!(id_tag in alarm_area.air_scrub_names) && !(id_tag in alarm_area.air_vent_names))
+ if(!(id_tag in areaMaster.air_scrub_names) && !(id_tag in areaMaster.air_vent_names))
register_env_machine(id_tag, dev_type)
var/got_update=0
if(dev_type == "AScr")
- alarm_area.air_scrub_info[id_tag] = signal.data
+ areaMaster.air_scrub_info[id_tag] = signal.data
got_update=1
else if(dev_type == "AVP")
- alarm_area.air_vent_info[id_tag] = signal.data
+ areaMaster.air_vent_info[id_tag] = signal.data
got_update=1
if(got_update && waiting_on_device==id_tag)
updateUsrDialog()
@@ -361,24 +355,24 @@
/obj/machinery/alarm/proc/register_env_machine(var/m_id, var/device_type)
var/new_name
if (device_type=="AVP")
- new_name = "[alarm_area.name] Vent Pump #[alarm_area.air_vent_names.len+1]"
- alarm_area.air_vent_names[m_id] = new_name
+ new_name = "[areaMaster.name] Vent Pump #[areaMaster.air_vent_names.len+1]"
+ areaMaster.air_vent_names[m_id] = new_name
else if (device_type=="AScr")
- new_name = "[alarm_area.name] Air Scrubber #[alarm_area.air_scrub_names.len+1]"
- alarm_area.air_scrub_names[m_id] = new_name
+ new_name = "[areaMaster.name] Air Scrubber #[areaMaster.air_scrub_names.len+1]"
+ areaMaster.air_scrub_names[m_id] = new_name
else
return
spawn (10)
send_signal(m_id, list("init" = new_name) )
/obj/machinery/alarm/proc/refresh_all()
- for(var/id_tag in alarm_area.air_vent_names)
- var/list/I = alarm_area.air_vent_info[id_tag]
+ for(var/id_tag in areaMaster.air_vent_names)
+ var/list/I = areaMaster.air_vent_info[id_tag]
if (I && I["timestamp"]+AALARM_REPORT_TIMEOUT/2 > world.time)
continue
send_signal(id_tag, list("status") )
- for(var/id_tag in alarm_area.air_scrub_names)
- var/list/I = alarm_area.air_scrub_info[id_tag]
+ for(var/id_tag in areaMaster.air_scrub_names)
+ var/list/I = areaMaster.air_scrub_info[id_tag]
if (I && I["timestamp"]+AALARM_REPORT_TIMEOUT/2 > world.time)
continue
send_signal(id_tag, list("status") )
@@ -410,33 +404,33 @@
var/target_pressure = (current_pressures[2] + current_pressures[3])/2
switch(mode)
if(AALARM_MODE_SCRUBBING)
- for(var/device_id in alarm_area.air_scrub_names)
+ for(var/device_id in areaMaster.air_scrub_names)
send_signal(device_id, list("power"= 1, "co2_scrub"= 1, "o2_scrub"=(preset==AALARM_PRESET_VOX), "n2_scrub"=0, "scrubbing"= 1, "panic_siphon"= 0) )
- for(var/device_id in alarm_area.air_vent_names)
+ for(var/device_id in areaMaster.air_vent_names)
send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
if(AALARM_MODE_PANIC, AALARM_MODE_CYCLE)
- for(var/device_id in alarm_area.air_scrub_names)
+ for(var/device_id in areaMaster.air_scrub_names)
send_signal(device_id, list("power"= 1, "panic_siphon"= 1) )
- for(var/device_id in alarm_area.air_vent_names)
+ for(var/device_id in areaMaster.air_vent_names)
send_signal(device_id, list("power"= 0) )
if(AALARM_MODE_REPLACEMENT)
- for(var/device_id in alarm_area.air_scrub_names)
+ for(var/device_id in areaMaster.air_scrub_names)
send_signal(device_id, list("power"= 1, "panic_siphon"= 1) )
- for(var/device_id in alarm_area.air_vent_names)
+ for(var/device_id in areaMaster.air_vent_names)
send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
if(AALARM_MODE_FILL)
- for(var/device_id in alarm_area.air_scrub_names)
+ for(var/device_id in areaMaster.air_scrub_names)
send_signal(device_id, list("power"= 0) )
- for(var/device_id in alarm_area.air_vent_names)
+ for(var/device_id in areaMaster.air_vent_names)
send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
if(AALARM_MODE_OFF)
- for(var/device_id in alarm_area.air_scrub_names)
+ for(var/device_id in areaMaster.air_scrub_names)
send_signal(device_id, list("power"= 0) )
- for(var/device_id in alarm_area.air_vent_names)
+ for(var/device_id in areaMaster.air_vent_names)
send_signal(device_id, list("power"= 0) )
// This sets our danger level, and, if it's changed, forces a new election of danger levels.
@@ -444,7 +438,7 @@
if(local_danger_level==new_danger_level)
return
local_danger_level=new_danger_level
- if(alarm_area.updateDangerLevel())
+ if(areaMaster.updateDangerLevel())
post_alert(new_danger_level)
/obj/machinery/alarm/proc/post_alert(alert_level)
@@ -455,7 +449,7 @@
var/datum/signal/alert_signal = new
alert_signal.source = src
alert_signal.transmission_method = 1
- alert_signal.data["zone"] = alarm_area.name
+ alert_signal.data["zone"] = areaMaster.name
alert_signal.data["type"] = "Atmospheric"
if(alert_level==2)
@@ -588,7 +582,7 @@
data["rcon"]=rcon_setting
data["target_temp"] = target_temperature - T0C
- data["atmos_alarm"] = alarm_area.atmosalm
+ data["atmos_alarm"] = areaMaster.atmosalm
data["modes"] = list(
AALARM_MODE_SCRUBBING = list("name"="Filtering", "desc"="Scrubs out contaminants"),\
AALARM_MODE_REPLACEMENT = list("name"="Replace Air", "desc"="Siphons out air while replacing"),\
@@ -605,11 +599,11 @@
data["screen"]=screen
var/list/vents=list()
- if(alarm_area.air_vent_names.len)
- for(var/id_tag in alarm_area.air_vent_names)
+ if(areaMaster.air_vent_names.len)
+ for(var/id_tag in areaMaster.air_vent_names)
var/vent_info[0]
- var/long_name = alarm_area.air_vent_names[id_tag]
- var/list/vent_data = alarm_area.air_vent_info[id_tag]
+ var/long_name = areaMaster.air_vent_names[id_tag]
+ var/list/vent_data = areaMaster.air_vent_info[id_tag]
if(!vent_data)
continue
vent_info["id_tag"]=id_tag
@@ -619,10 +613,10 @@
data["vents"]=vents
var/list/scrubbers=list()
- if(alarm_area.air_scrub_names.len)
- for(var/id_tag in alarm_area.air_scrub_names)
- var/long_name = alarm_area.air_scrub_names[id_tag]
- var/list/scrubber_data = alarm_area.air_scrub_info[id_tag]
+ if(areaMaster.air_scrub_names.len)
+ for(var/id_tag in areaMaster.air_scrub_names)
+ var/long_name = areaMaster.air_scrub_names[id_tag]
+ var/list/scrubber_data = areaMaster.air_scrub_info[id_tag]
if(!scrubber_data)
continue
scrubber_data["id_tag"]=id_tag
@@ -791,14 +785,14 @@
if(href_list["atmos_alarm"])
alarmActivated=1
- alarm_area.updateDangerLevel()
+ areaMaster.updateDangerLevel()
update_icon()
ui_interact(usr)
return 1
if(href_list["atmos_reset"])
alarmActivated=0
- alarm_area.updateDangerLevel()
+ areaMaster.updateDangerLevel()
update_icon()
ui_interact(usr)
return 1
@@ -995,14 +989,6 @@ FIRE ALARM
var/wiresexposed = 0
var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone
- var/area/master_area
-
-/obj/machinery/firealarm/New()
- var/area/A = get_area_master(src)
- if (!( istype(A, /area) ))
- return
- master_area=A
-
/obj/machinery/firealarm/update_icon()
if(wiresexposed)
@@ -1151,7 +1137,7 @@ FIRE ALARM
var/d2
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon))
- if (master_area.fire)
+ if (areaMaster.fire)
d1 = text("Reset - Lockdown", src)
else
d1 = text("Alarm - Lockdown", src)
@@ -1165,7 +1151,7 @@ FIRE ALARM
user << browse(dat, "window=firealarm")
onclose(user, "firealarm")
else
- if (master_area.fire)
+ if (areaMaster.fire)
d1 = text("[]", src, stars("Reset - Lockdown"))
else
d1 = text("[]", src, stars("Alarm - Lockdown"))
@@ -1214,21 +1200,21 @@ FIRE ALARM
/obj/machinery/firealarm/proc/reset()
if (!( src.working ))
return
- master_area.firereset()
+ areaMaster.firereset()
update_icon()
return
/obj/machinery/firealarm/proc/alarm()
if (!( src.working ))
return
- master_area.firealert()
+ areaMaster.firealert()
update_icon()
//playsound(get_turf(src), 'sound/ambience/signal.ogg', 75, 0)
return
/obj/machinery/firealarm/New(loc, dir, building)
..()
-
+ name = "[areaMaster.name] fire alarm"
if(loc)
src.loc = loc
@@ -1249,7 +1235,6 @@ FIRE ALARM
update_icon()
-
/*
FIRE ALARM ITEM
Handheld fire alarm frame, for placing on walls
@@ -1312,13 +1297,9 @@ Code shamelessly copied from apc_frame
idle_power_usage = 2
active_power_usage = 6
- var/area/master_area
-
/obj/machinery/partyalarm/New()
- var/area/A = get_area_master(src)
- if (!( istype(A, /area) ))
- return
- master_area=A
+ ..()
+ name = "[areaMaster.name] party alarm"
/obj/machinery/partyalarm/attack_paw(mob/user as mob)
return attack_hand(user)
@@ -1331,7 +1312,7 @@ Code shamelessly copied from apc_frame
var/d1
var/d2
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
- if (master_area.party)
+ if (areaMaster.party)
d1 = text("No Party :(", src)
else
d1 = text("PARTY!!!", src)
@@ -1345,7 +1326,7 @@ Code shamelessly copied from apc_frame
user << browse(dat, "window=partyalarm")
onclose(user, "partyalarm")
else
- if (master_area.fire)
+ if (areaMaster.fire)
d1 = text("[]", src, stars("No Party :("))
else
d1 = text("[]", src, stars("PARTY!!!"))
@@ -1363,13 +1344,13 @@ Code shamelessly copied from apc_frame
/obj/machinery/partyalarm/proc/reset()
if (!( working ))
return
- master_area.partyreset()
+ areaMaster.partyreset()
return
/obj/machinery/partyalarm/proc/alarm()
if (!( working ))
return
- master_area.partyalert()
+ areaMaster.partyalert()
return
/obj/machinery/partyalarm/Topic(href, href_list)
diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm
index 394735bd0a9..65710383ce4 100644
--- a/code/game/machinery/computer/power.dm
+++ b/code/game/machinery/computer/power.dm
@@ -112,7 +112,7 @@
for(var/obj/machinery/power/apc/A in L)
- t += copytext(add_tspace("\The [A.area]", 30), 1, 30)
+ t += copytext(add_tspace("\The [A.areaMaster]", 30), 1, 30)
t += " [S[A.equipment+1]] [S[A.lighting+1]] [S[A.environ+1]] [add_lspace(A.lastused_total, 6)] [A.cell ? "[add_lspace(round(A.cell.percent()), 3)]% [chg[A.charging+1]]" : " N/C"]
"
t += ""
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index cd035c5cc91..48776a5d8eb 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -2,39 +2,24 @@
// can have multiple per area
// can also operate on non-loc area through "otherarea" var
/obj/machinery/light_switch
- name = "light switch"
desc = "It turns lights on and off. What are you, simple?"
icon = 'icons/obj/power.dmi'
icon_state = "light1"
anchored = 1.0
- var/on = 1
- var/otherarea = null
+ var/on
// luminosity = 1
/obj/machinery/light_switch/New()
..()
- spawn(5)
- src.area = src.loc.loc
-
- if(otherarea)
- src.area = locate(text2path("/area/[otherarea]"))
-
- if(!name)
- name = "light switch ([area.name])"
-
- src.on = src.area.lightswitch
- updateicon()
-
-
+ name = "[areaMaster.name] light switch"
+ on = areaMaster.lightswitch
+ updateicon()
/obj/machinery/light_switch/proc/updateicon()
- if(stat & NOPOWER)
+ if (stat & NOPOWER)
icon_state = "light-p"
else
- if(on)
- icon_state = "light1"
- else
- icon_state = "light0"
+ icon_state = on ? "light1" : "light0"
/obj/machinery/light_switch/examine()
set src in oview(1)
@@ -55,7 +40,7 @@
on = !on
- for(var/area/A in area.master.related)
+ for(var/area/A in areaMaster.related)
A.lightswitch = on
A.updateicon()
@@ -63,17 +48,15 @@
L.on = on
L.updateicon()
- area.master.power_change()
+ areaMaster.power_change()
/obj/machinery/light_switch/power_change()
+ if(powered(LIGHT))
+ stat &= ~NOPOWER
+ else
+ stat |= NOPOWER
- if(!otherarea)
- if(powered(LIGHT))
- stat &= ~NOPOWER
- else
- stat |= NOPOWER
-
- updateicon()
+ updateicon()
/obj/machinery/light_switch/emp_act(severity)
if(stat & (BROKEN|NOPOWER))
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 10dfc8b921c..5b2154bd779 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -114,10 +114,8 @@ Class Procs:
var/panel_open = 0
var/inMachineList = 1 // For debugging.
- var/area/mchArea
/obj/machinery/New()
- mchArea = get_area(src)
machines.Add(src)
return ..()
@@ -125,8 +123,6 @@ Class Procs:
if (src in machines)
machines.Remove(src)
- mchArea = null
-
return ..()
/obj/machinery/process() // If you dont use process or power why are you here
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index ced7486384d..0ae90e03852 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -70,7 +70,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
/obj/machinery/requests_console/New()
name = "[department] Requests Console"
- allConsoles += src
+ allConsoles.Add(src)
//req_console_departments += department
switch(departmentType)
if(1)
@@ -105,6 +105,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(!("[department]" in req_console_information))
req_console_information += department
+ return ..()
/obj/machinery/requests_console/attack_hand(user as mob)
if(..(user))
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index 1434db1c90d..a560227c202 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -359,7 +359,7 @@ Code:
var/list/chg = list("N","C","F")
for(var/obj/machinery/power/apc/A in L)
- menu += copytext(add_tspace(A.area.name, 30), 1, 30)
+ menu += copytext(add_tspace(A.areaMaster.name, 30), 1, 30)
menu += " [S[A.equipment+1]] [S[A.lighting+1]] [S[A.environ+1]] [add_lspace(A.lastused_total, 6)] [A.cell ? "[add_lspace(round(A.cell.percent()), 3)]% [chg[A.charging+1]]" : " N/C"]
"
menu += ""
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index be1c5bff95f..508d1849f7c 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -144,17 +144,9 @@
if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0))
last_tick = world.timeofday
- if(!src.loc)
- on = 0
- else
- var/area/A = src.loc.loc
- if(!A || !isarea(A) || !A.master)
- on = 0
- else
- on = A.master.powered(EQUIP) // set "on" to the power status
+ on = areaMaster.powered(EQUIP) // set "on" to the power status
update_icon()
-
/obj/item/weapon/intercom_electronics
name = "intercom electronics"
icon = 'icons/obj/doors/door_assembly.dmi'
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 90b07087bcb..59c3156e384 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -18,9 +18,11 @@
var/list/reagents_to_log=list()
/obj/Destroy()
- machines -= src
- processing_objects -= src
+ if (src in processing_objects)
+ processing_objects.Remove(src)
+
..()
+
/obj/item/proc/is_used_on(obj/O, mob/user)
/obj/recycle(var/datum/materials/rec)
@@ -32,7 +34,6 @@
/obj/proc/process()
processing_objects.Remove(src)
- return 0
/obj/assume_air(datum/gas_mixture/giver)
if(loc)
diff --git a/code/modules/Economy/POS.dm b/code/modules/Economy/POS.dm
index 10f4d5a48f8..1d58c84b95f 100644
--- a/code/modules/Economy/POS.dm
+++ b/code/modules/Economy/POS.dm
@@ -170,9 +170,7 @@ var/const/POS_HEADER = {"
Paying to: [linked_account.owner_name]
Cashier: [logged_in]
"}
- if (mchArea)
- receipt += mchArea.name
-
+ receipt += areaMaster.name
receipt += ""
receipt += {"