From 84a8b2056d1f6cb4a2323cabde94b51ea0412fb5 Mon Sep 17 00:00:00 2001 From: ESwordTheCat Date: Sun, 25 May 2014 03:45:41 -0800 Subject: [PATCH] Batch 2. --- .../components/unary/vent_pump.dm | 24 ++-- .../components/unary/vent_scrubber.dm | 22 ++- code/WorkInProgress/Mini/atmos_control.dm | 8 +- code/__HELPERS/game.dm | 8 +- code/controllers/_DynamicAreaLighting_TG.dm | 2 +- code/game/atoms_movable.dm | 2 +- code/game/machinery/alarm.dm | 129 ++++++++---------- code/game/machinery/computer/power.dm | 2 +- code/game/machinery/lightswitch.dm | 43 ++---- code/game/machinery/machinery.dm | 4 - code/game/machinery/requests_console.dm | 3 +- code/game/objects/items/devices/PDA/cart.dm | 2 +- .../objects/items/devices/radio/intercom.dm | 10 +- code/game/objects/objs.dm | 7 +- code/modules/Economy/POS.dm | 8 +- code/modules/media/jukebox.dm | 2 +- code/modules/power/apc.dm | 71 ++++------ code/modules/power/power.dm | 11 +- 18 files changed, 144 insertions(+), 214 deletions(-) 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 += {"
[worldtime2text()], [current_date_string]
@@ -222,9 +220,7 @@ var/const/POS_HEADER = {" Paying to: [linked_account.owner_name]
Cashier: [logged_in]
"} - if (mchArea) - receipt += mchArea.name - + receipt += areaMaster.name receipt += "" receipt += {"
Order Data
diff --git a/code/modules/media/jukebox.dm b/code/modules/media/jukebox.dm index 19f0e088ec4..00f96bdf64e 100644 --- a/code/modules/media/jukebox.dm +++ b/code/modules/media/jukebox.dm @@ -297,7 +297,7 @@ var/global/loopModeNames=list( visible_message("\red The machine buzzes, and flashes \"NOT ENOUGH FUNDS\" on the screen.","You hear a buzz.") return visible_message("\blue The machine beeps happily.","You hear a beep.") - acct.charge(credits_needed,linked_account,"Song selection at [mchArea.name]'s [name].") + acct.charge(credits_needed,linked_account,"Song selection at [areaMaster.name]'s [name].") credits_needed = 0 successful_purchase() diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index a78cffa2741..cfc1914eedf 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -44,15 +44,12 @@ /obj/machinery/power/apc - name = "area power controller" desc = "A control terminal for the area electrical systems." - icon_state = "apc0" anchored = 1 use_power = 0 req_access = list(access_engine_equip) var/spooky=0 - var/areastring = null var/obj/item/weapon/cell/cell var/start_charge = 90 // initial cell charge % var/cell_type = 2500 // 0=no cell, 1=regular, 2=high-cap (x5) <- old, now it's just 0=no cell, otherwise dictate cellcapacity by changing this value. 1 used to be 1000, 2 was 2500 @@ -118,16 +115,15 @@ pixel_x = (src.tdir == 4 ? 24 : -24) pixel_y = 0 - switch (isnull(area)) - if (1) - log_admin("APC tried to spawn in a location without an area. [formatJumpTo(get_turf(src))]") + switch (isnull(areaMaster)) if (0) - name = "[area.name] APC" + name = "[areaMaster.name] APC" + if (1) // Mapping issue. + log_admin("APC tried to spawn in a location without an area. [formatJumpTo(get_turf(src))]") if (building==0) init() else - area = src.loc.loc:master opened = 1 operating = 0 stat |= MAINT @@ -150,14 +146,7 @@ cell.maxcharge = cell_type // cell_type is maximum charge (old default was 1000 or 2500 (values one and two respectively) cell.charge = start_charge * cell.maxcharge / 100.0 // (convert percentage to actual value) - var/area/A = src.loc.loc - - //if area isn't specified use current - if(isarea(A) && src.areastring == null) - src.area = A - else - src.area = get_area_name(areastring) - name = "\improper [area.name] APC" + name = "[areaMaster.name] APC" update_icon() make_terminal() @@ -741,7 +730,7 @@ if (!ui) // the ui does not exist, so we'll create a new one // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm - ui = new(user, src, ui_key, "apc.tmpl", "[area.name] - APC", 520, data["siliconUser"] ? 465 : 440) + ui = new(user, src, ui_key, "apc.tmpl", "[areaMaster.name] - APC", 520, data["siliconUser"] ? 465 : 440) // when the ui is first opened this is the data it will use ui.set_initial_data(data) // open the new ui window @@ -750,23 +739,23 @@ ui.set_auto_update(1) /obj/machinery/power/apc/proc/report() - return "[area.name] : [equipment]/[lighting]/[environ] ([lastused_equip+lastused_light+lastused_environ]) : [cell? cell.percent() : "N/C"] ([charging])" + return "[areaMaster.name] : [equipment]/[lighting]/[environ] ([lastused_equip+lastused_light+lastused_environ]) : [cell? cell.percent() : "N/C"] ([charging])" /obj/machinery/power/apc/proc/update() if(operating && !shorted) - area.power_light = (lighting > 1) - area.power_equip = (equipment > 1) - area.power_environ = (environ > 1) + areaMaster.power_light = (lighting > 1) + areaMaster.power_equip = (equipment > 1) + areaMaster.power_environ = (environ > 1) // if (area.name == "AI Chamber") // spawn(10) // world << " [area.name] [area.power_equip]" else - area.power_light = 0 - area.power_equip = 0 - area.power_environ = 0 + areaMaster.power_light = 0 + areaMaster.power_equip = 0 + areaMaster.power_environ = 0 // if (area.name == "AI Chamber") // world << "[area.power_equip]" - area.power_change() + areaMaster.power_change() /obj/machinery/power/apc/proc/isWireCut(var/wireIndex) return wires.IsIndexCut(wireIndex) @@ -1024,7 +1013,7 @@ if(stat & (BROKEN|MAINT)) return - if(!area.requires_power) + if(!areaMaster.requires_power) return /* @@ -1037,10 +1026,10 @@ area.calc_lighting() */ - lastused_light = area.usage(LIGHT) - lastused_equip = area.usage(EQUIP) - lastused_environ = area.usage(ENVIRON) - area.clear_usage() + lastused_light = areaMaster.usage(LIGHT) + lastused_equip = areaMaster.usage(EQUIP) + lastused_environ = areaMaster.usage(ENVIRON) + areaMaster.clear_usage() lastused_total = lastused_light + lastused_equip + lastused_environ @@ -1108,24 +1097,24 @@ equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - area.poweralert(0, src) + areaMaster.poweralert(0, src) else if(cell.percent() < 15 && longtermpower < 0) // <15%, turn off lighting & equipment equipment = autoset(equipment, 2) lighting = autoset(lighting, 2) environ = autoset(environ, 1) - area.poweralert(0, src) + areaMaster.poweralert(0, src) else if(cell.percent() < 30 && longtermpower < 0) // <30%, turn off equipment equipment = autoset(equipment, 2) lighting = autoset(lighting, 1) environ = autoset(environ, 1) - area.poweralert(0, src) + areaMaster.poweralert(0, src) else // otherwise all can be on equipment = autoset(equipment, 1) lighting = autoset(lighting, 1) environ = autoset(environ, 1) - area.poweralert(1, src) + areaMaster.poweralert(1, src) if(cell.percent() > 75) - area.poweralert(1, src) + areaMaster.poweralert(1, src) // now trickle-charge the cell @@ -1172,7 +1161,7 @@ equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - area.poweralert(0, src) + areaMaster.poweralert(0, src) // update icon & area power if anything changed if(last_lt != lighting || last_eq != equipment || last_en != environ) @@ -1268,7 +1257,7 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on) if( cell && cell.charge>=20) cell.use(20); spawn(0) - for(var/area/A in area.related) + for(var/area/A in areaMaster.related) for(var/obj/machinery/light/L in A) L.on = 1 L.broken() @@ -1279,10 +1268,10 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on) if (ticker.mode.config_tag == "malfunction") if (src.z == 1) //if (is_type_in_list(get_area(src), the_station_areas)) ticker.mode:apcs-- - area.power_light = 0 - area.power_equip = 0 - area.power_environ = 0 - area.power_change() + areaMaster.power_light = 0 + areaMaster.power_equip = 0 + areaMaster.power_environ = 0 + areaMaster.power_change() if(occupant) malfvacate(1) ..() diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 6922c2f7f87..2c8ac786200 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -51,20 +51,23 @@ if (!use_power) return 1 - if (isnull(area) || isnull(area.master)) + if (isnull(areaMaster)) return 0 // If not, then not powered. - return area.master.powered(chan) // Return power status of the area. + return areaMaster.powered(chan) // Return power status of the area. /* * Increment the power usage stats for an area. * Defaults to power_channel. */ /obj/machinery/proc/use_power(const/amount, chan = power_channel) - if (isnull(area) || isnull(area.master)) + if (!src.loc) + return 0 + + if (isnull(areaMaster)) return - area.master.use_power(amount, chan) + areaMaster.use_power(amount, chan) /* * Called whenever the power settings of the containing area change.