mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Batch 2.
This commit is contained in:
@@ -6,7 +6,6 @@
|
|||||||
desc = "Has a valve and pump attached to it"
|
desc = "Has a valve and pump attached to it"
|
||||||
use_power = 1
|
use_power = 1
|
||||||
|
|
||||||
var/area/initial_loc
|
|
||||||
level = 1
|
level = 1
|
||||||
var/area_uid
|
var/area_uid
|
||||||
var/id_tag = null
|
var/id_tag = null
|
||||||
@@ -44,17 +43,14 @@
|
|||||||
icon_state = "in"
|
icon_state = "in"
|
||||||
|
|
||||||
New()
|
New()
|
||||||
initial_loc = get_area(loc)
|
..()
|
||||||
if (initial_loc.master)
|
area_uid = areaMaster.uid
|
||||||
initial_loc = initial_loc.master
|
|
||||||
area_uid = initial_loc.uid
|
|
||||||
if (!id_tag)
|
if (!id_tag)
|
||||||
assign_uid()
|
assign_uid()
|
||||||
id_tag = num2text(uid)
|
id_tag = num2text(uid)
|
||||||
if(ticker && ticker.current_state == 3)//if the game is running
|
if(ticker && ticker.current_state == 3)//if the game is running
|
||||||
src.initialize()
|
src.initialize()
|
||||||
src.broadcast_status()
|
src.broadcast_status()
|
||||||
..()
|
|
||||||
|
|
||||||
high_volume
|
high_volume
|
||||||
name = "Large Air Vent"
|
name = "Large Air Vent"
|
||||||
@@ -168,11 +164,11 @@
|
|||||||
"sigtype" = "status"
|
"sigtype" = "status"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(!initial_loc.air_vent_names[id_tag])
|
if(!areaMaster.air_vent_names[id_tag])
|
||||||
var/new_name = "[initial_loc.name] Vent Pump #[initial_loc.air_vent_names.len+1]"
|
var/new_name = "[areaMaster.name] Vent Pump #[areaMaster.air_vent_names.len+1]"
|
||||||
initial_loc.air_vent_names[id_tag] = new_name
|
areaMaster.air_vent_names[id_tag] = new_name
|
||||||
src.name = new_name
|
name = new_name
|
||||||
initial_loc.air_vent_info[id_tag] = signal.data
|
areaMaster.air_vent_info[id_tag] = signal.data
|
||||||
|
|
||||||
radio_connection.post_signal(src, signal, radio_filter_out)
|
radio_connection.post_signal(src, signal, radio_filter_out)
|
||||||
|
|
||||||
@@ -362,11 +358,9 @@
|
|||||||
del(src)
|
del(src)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/unary/vent_pump/Destroy()
|
/obj/machinery/atmospherics/unary/vent_pump/Destroy()
|
||||||
if(initial_loc)
|
areaMaster.air_vent_info.Remove(id_tag)
|
||||||
initial_loc.air_vent_info -= id_tag
|
areaMaster.air_vent_names.Remove(id_tag)
|
||||||
initial_loc.air_vent_names -= id_tag
|
|
||||||
..()
|
..()
|
||||||
return
|
|
||||||
|
|
||||||
/obj/machinery/atmospherics/unary/vent_pump/Topic(href, href_list)
|
/obj/machinery/atmospherics/unary/vent_pump/Topic(href, href_list)
|
||||||
if(..())
|
if(..())
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
level = 1
|
level = 1
|
||||||
|
|
||||||
var/area/initial_loc
|
|
||||||
var/id_tag = null
|
var/id_tag = null
|
||||||
var/frequency = 1439
|
var/frequency = 1439
|
||||||
var/datum/radio_frequency/radio_connection
|
var/datum/radio_frequency/radio_connection
|
||||||
@@ -28,17 +27,14 @@
|
|||||||
var/radio_filter_out
|
var/radio_filter_out
|
||||||
var/radio_filter_in
|
var/radio_filter_in
|
||||||
New()
|
New()
|
||||||
initial_loc = get_area(loc)
|
..()
|
||||||
if (initial_loc.master)
|
area_uid = areaMaster.uid
|
||||||
initial_loc = initial_loc.master
|
|
||||||
area_uid = initial_loc.uid
|
|
||||||
if (!id_tag)
|
if (!id_tag)
|
||||||
assign_uid()
|
assign_uid()
|
||||||
id_tag = num2text(uid)
|
id_tag = num2text(uid)
|
||||||
if(ticker && ticker.current_state == 3)//if the game is running
|
if(ticker && ticker.current_state == 3)//if the game is running
|
||||||
src.initialize()
|
src.initialize()
|
||||||
src.broadcast_status()
|
src.broadcast_status()
|
||||||
..()
|
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
var/hidden=""
|
var/hidden=""
|
||||||
@@ -84,11 +80,11 @@
|
|||||||
"filter_n2" = scrub_N2,
|
"filter_n2" = scrub_N2,
|
||||||
"sigtype" = "status"
|
"sigtype" = "status"
|
||||||
)
|
)
|
||||||
if(!initial_loc.air_scrub_names[id_tag])
|
if(!areaMaster.air_scrub_names[id_tag])
|
||||||
var/new_name = "[initial_loc.name] Air Scrubber #[initial_loc.air_scrub_names.len+1]"
|
var/new_name = "[areaMaster.name] Air Scrubber #[areaMaster.air_scrub_names.len+1]"
|
||||||
initial_loc.air_scrub_names[id_tag] = new_name
|
areaMaster.air_scrub_names[id_tag] = new_name
|
||||||
src.name = 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)
|
radio_connection.post_signal(src, signal, radio_filter_out)
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
@@ -348,8 +344,6 @@
|
|||||||
update_multitool_menu(usr)
|
update_multitool_menu(usr)
|
||||||
|
|
||||||
/obj/machinery/atmospherics/unary/vent_scrubber/Destroy()
|
/obj/machinery/atmospherics/unary/vent_scrubber/Destroy()
|
||||||
if(initial_loc)
|
areaMaster.air_scrub_info.Remove(id_tag)
|
||||||
initial_loc.air_scrub_info -= id_tag
|
areaMaster.air_scrub_names.Remove(id_tag)
|
||||||
initial_loc.air_scrub_names -= id_tag
|
|
||||||
..()
|
..()
|
||||||
return
|
|
||||||
|
|||||||
@@ -89,12 +89,12 @@
|
|||||||
|
|
||||||
var/list/alarms=list()
|
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
|
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
|
continue // NO ACCESS 4 U
|
||||||
|
|
||||||
var/list/alarm_data=list()
|
var/list/alarm_data=list()
|
||||||
alarm_data["ID"]="\ref[alarm]"
|
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]"
|
alarm_data["name"] = "[alarm]"
|
||||||
alarms+=list(alarm_data)
|
alarms+=list(alarm_data)
|
||||||
data["alarms"]=alarms
|
data["alarms"]=alarms
|
||||||
@@ -235,14 +235,14 @@
|
|||||||
|
|
||||||
if(href_list["atmos_alarm"])
|
if(href_list["atmos_alarm"])
|
||||||
current.alarmActivated=1
|
current.alarmActivated=1
|
||||||
current.alarm_area.updateDangerLevel()
|
current.areaMaster.updateDangerLevel()
|
||||||
spawn(1)
|
spawn(1)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog()
|
||||||
current.update_icon()
|
current.update_icon()
|
||||||
return
|
return
|
||||||
if(href_list["atmos_reset"])
|
if(href_list["atmos_reset"])
|
||||||
current.alarmActivated=0
|
current.alarmActivated=0
|
||||||
current.alarm_area.updateDangerLevel()
|
current.areaMaster.updateDangerLevel()
|
||||||
spawn(1)
|
spawn(1)
|
||||||
src.updateUsrDialog()
|
src.updateUsrDialog()
|
||||||
current.update_icon()
|
current.update_icon()
|
||||||
|
|||||||
@@ -23,11 +23,11 @@
|
|||||||
if (0)
|
if (0)
|
||||||
return
|
return
|
||||||
|
|
||||||
/proc/get_area_master(O)
|
/proc/get_area_master(const/O)
|
||||||
var/area/A = get_area(O)
|
var/area/A = get_area(O)
|
||||||
if(A && A.master)
|
|
||||||
A = A.master
|
if (isarea(A))
|
||||||
return A
|
return A.master
|
||||||
|
|
||||||
/proc/get_area_name(N) //get area by its name
|
/proc/get_area_name(N) //get area by its name
|
||||||
for(var/area/A in world)
|
for(var/area/A in world)
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ atom/movable/New()
|
|||||||
trueLuminosity = luminosity * luminosity
|
trueLuminosity = luminosity * luminosity
|
||||||
light = new(src)
|
light = new(src)
|
||||||
|
|
||||||
area = get_area(src)
|
areaMaster = get_area(src)
|
||||||
|
|
||||||
//Objects with opacity will trigger nearby lights to update at next lighting process.
|
//Objects with opacity will trigger nearby lights to update at next lighting process.
|
||||||
atom/movable/Destroy()
|
atom/movable/Destroy()
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
var/moved_recently = 0
|
var/moved_recently = 0
|
||||||
var/mob/pulledby = null
|
var/mob/pulledby = null
|
||||||
|
|
||||||
var/area/area
|
var/area/areaMaster
|
||||||
|
|
||||||
/atom/movable/Move()
|
/atom/movable/Move()
|
||||||
var/atom/A = src.loc
|
var/atom/A = src.loc
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
var/list/air_scrub_info = list()
|
var/list/air_scrub_info = list()
|
||||||
|
|
||||||
/obj/machinery/alarm
|
/obj/machinery/alarm
|
||||||
name = "alarm"
|
|
||||||
icon = 'icons/obj/monitors.dmi'
|
icon = 'icons/obj/monitors.dmi'
|
||||||
icon_state = "alarm0"
|
icon_state = "alarm0"
|
||||||
anchored = 1
|
anchored = 1
|
||||||
@@ -70,7 +69,6 @@
|
|||||||
var/preset = AALARM_PRESET_HUMAN
|
var/preset = AALARM_PRESET_HUMAN
|
||||||
var/screen = AALARM_SCREEN_MAIN
|
var/screen = AALARM_SCREEN_MAIN
|
||||||
var/area_uid
|
var/area_uid
|
||||||
var/area/alarm_area
|
|
||||||
var/local_danger_level = 0
|
var/local_danger_level = 0
|
||||||
var/alarmActivated = 0 // Manually activated (independent from danger level)
|
var/alarmActivated = 0 // Manually activated (independent from danger level)
|
||||||
var/danger_averted_confidence=0
|
var/danger_averted_confidence=0
|
||||||
@@ -99,7 +97,7 @@
|
|||||||
|
|
||||||
/obj/machinery/alarm/proc/apply_preset(var/no_cycle_after=0)
|
/obj/machinery/alarm/proc/apply_preset(var/no_cycle_after=0)
|
||||||
// Propogate settings.
|
// 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)
|
for (var/obj/machinery/alarm/AA in A)
|
||||||
if ( !(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted && AA.preset != src.preset)
|
if ( !(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted && AA.preset != src.preset)
|
||||||
AA.preset=preset
|
AA.preset=preset
|
||||||
@@ -154,12 +152,8 @@
|
|||||||
|
|
||||||
|
|
||||||
/obj/machinery/alarm/proc/first_run()
|
/obj/machinery/alarm/proc/first_run()
|
||||||
alarm_area = get_area(src)
|
area_uid = areaMaster.uid
|
||||||
if (alarm_area.master)
|
name = "[areaMaster.name] Air Alarm"
|
||||||
alarm_area = alarm_area.master
|
|
||||||
area_uid = alarm_area.uid
|
|
||||||
if (name == "alarm")
|
|
||||||
name = "[alarm_area.name] Air Alarm"
|
|
||||||
|
|
||||||
// breathable air according to human/Life()
|
// breathable air according to human/Life()
|
||||||
/*
|
/*
|
||||||
@@ -291,14 +285,14 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
/obj/machinery/alarm/proc/master_is_operating()
|
/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()
|
/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)
|
for (var/obj/machinery/alarm/AA in A)
|
||||||
if (!(AA.stat & (NOPOWER|BROKEN)))
|
if (!(AA.stat & (NOPOWER|BROKEN)))
|
||||||
alarm_area.master_air_alarm = AA
|
areaMaster.master_air_alarm = AA
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
@@ -317,7 +311,7 @@
|
|||||||
icon_state = "alarmp"
|
icon_state = "alarmp"
|
||||||
return
|
return
|
||||||
|
|
||||||
switch(max(local_danger_level, alarm_area.atmosalm-1))
|
switch(max(local_danger_level, areaMaster.atmosalm-1))
|
||||||
if (0)
|
if (0)
|
||||||
icon_state = "alarm0"
|
icon_state = "alarm0"
|
||||||
if (1)
|
if (1)
|
||||||
@@ -326,13 +320,13 @@
|
|||||||
icon_state = "alarm1"
|
icon_state = "alarm1"
|
||||||
|
|
||||||
/obj/machinery/alarm/receive_signal(datum/signal/signal)
|
/obj/machinery/alarm/receive_signal(datum/signal/signal)
|
||||||
if(stat & (NOPOWER|BROKEN) || !alarm_area)
|
if(stat & (NOPOWER|BROKEN) || !areaMaster)
|
||||||
return
|
return
|
||||||
if (alarm_area.master_air_alarm != src)
|
if (areaMaster.master_air_alarm != src)
|
||||||
if (master_is_operating())
|
if (master_is_operating())
|
||||||
return
|
return
|
||||||
elect_master()
|
elect_master()
|
||||||
if (alarm_area.master_air_alarm != src)
|
if (areaMaster.master_air_alarm != src)
|
||||||
return
|
return
|
||||||
if(!signal || signal.encryption)
|
if(!signal || signal.encryption)
|
||||||
return
|
return
|
||||||
@@ -345,14 +339,14 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
var/dev_type = signal.data["device"]
|
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)
|
register_env_machine(id_tag, dev_type)
|
||||||
var/got_update=0
|
var/got_update=0
|
||||||
if(dev_type == "AScr")
|
if(dev_type == "AScr")
|
||||||
alarm_area.air_scrub_info[id_tag] = signal.data
|
areaMaster.air_scrub_info[id_tag] = signal.data
|
||||||
got_update=1
|
got_update=1
|
||||||
else if(dev_type == "AVP")
|
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
|
got_update=1
|
||||||
if(got_update && waiting_on_device==id_tag)
|
if(got_update && waiting_on_device==id_tag)
|
||||||
updateUsrDialog()
|
updateUsrDialog()
|
||||||
@@ -361,24 +355,24 @@
|
|||||||
/obj/machinery/alarm/proc/register_env_machine(var/m_id, var/device_type)
|
/obj/machinery/alarm/proc/register_env_machine(var/m_id, var/device_type)
|
||||||
var/new_name
|
var/new_name
|
||||||
if (device_type=="AVP")
|
if (device_type=="AVP")
|
||||||
new_name = "[alarm_area.name] Vent Pump #[alarm_area.air_vent_names.len+1]"
|
new_name = "[areaMaster.name] Vent Pump #[areaMaster.air_vent_names.len+1]"
|
||||||
alarm_area.air_vent_names[m_id] = new_name
|
areaMaster.air_vent_names[m_id] = new_name
|
||||||
else if (device_type=="AScr")
|
else if (device_type=="AScr")
|
||||||
new_name = "[alarm_area.name] Air Scrubber #[alarm_area.air_scrub_names.len+1]"
|
new_name = "[areaMaster.name] Air Scrubber #[areaMaster.air_scrub_names.len+1]"
|
||||||
alarm_area.air_scrub_names[m_id] = new_name
|
areaMaster.air_scrub_names[m_id] = new_name
|
||||||
else
|
else
|
||||||
return
|
return
|
||||||
spawn (10)
|
spawn (10)
|
||||||
send_signal(m_id, list("init" = new_name) )
|
send_signal(m_id, list("init" = new_name) )
|
||||||
|
|
||||||
/obj/machinery/alarm/proc/refresh_all()
|
/obj/machinery/alarm/proc/refresh_all()
|
||||||
for(var/id_tag in alarm_area.air_vent_names)
|
for(var/id_tag in areaMaster.air_vent_names)
|
||||||
var/list/I = alarm_area.air_vent_info[id_tag]
|
var/list/I = areaMaster.air_vent_info[id_tag]
|
||||||
if (I && I["timestamp"]+AALARM_REPORT_TIMEOUT/2 > world.time)
|
if (I && I["timestamp"]+AALARM_REPORT_TIMEOUT/2 > world.time)
|
||||||
continue
|
continue
|
||||||
send_signal(id_tag, list("status") )
|
send_signal(id_tag, list("status") )
|
||||||
for(var/id_tag in alarm_area.air_scrub_names)
|
for(var/id_tag in areaMaster.air_scrub_names)
|
||||||
var/list/I = alarm_area.air_scrub_info[id_tag]
|
var/list/I = areaMaster.air_scrub_info[id_tag]
|
||||||
if (I && I["timestamp"]+AALARM_REPORT_TIMEOUT/2 > world.time)
|
if (I && I["timestamp"]+AALARM_REPORT_TIMEOUT/2 > world.time)
|
||||||
continue
|
continue
|
||||||
send_signal(id_tag, list("status") )
|
send_signal(id_tag, list("status") )
|
||||||
@@ -410,33 +404,33 @@
|
|||||||
var/target_pressure = (current_pressures[2] + current_pressures[3])/2
|
var/target_pressure = (current_pressures[2] + current_pressures[3])/2
|
||||||
switch(mode)
|
switch(mode)
|
||||||
if(AALARM_MODE_SCRUBBING)
|
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) )
|
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) )
|
send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
|
||||||
|
|
||||||
if(AALARM_MODE_PANIC, AALARM_MODE_CYCLE)
|
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) )
|
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) )
|
send_signal(device_id, list("power"= 0) )
|
||||||
|
|
||||||
if(AALARM_MODE_REPLACEMENT)
|
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) )
|
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) )
|
send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
|
||||||
|
|
||||||
if(AALARM_MODE_FILL)
|
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) )
|
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) )
|
send_signal(device_id, list("power"= 1, "checks"= 1, "set_external_pressure"= target_pressure) )
|
||||||
|
|
||||||
if(AALARM_MODE_OFF)
|
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) )
|
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) )
|
send_signal(device_id, list("power"= 0) )
|
||||||
|
|
||||||
// This sets our danger level, and, if it's changed, forces a new election of danger levels.
|
// 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)
|
if(local_danger_level==new_danger_level)
|
||||||
return
|
return
|
||||||
local_danger_level=new_danger_level
|
local_danger_level=new_danger_level
|
||||||
if(alarm_area.updateDangerLevel())
|
if(areaMaster.updateDangerLevel())
|
||||||
post_alert(new_danger_level)
|
post_alert(new_danger_level)
|
||||||
|
|
||||||
/obj/machinery/alarm/proc/post_alert(alert_level)
|
/obj/machinery/alarm/proc/post_alert(alert_level)
|
||||||
@@ -455,7 +449,7 @@
|
|||||||
var/datum/signal/alert_signal = new
|
var/datum/signal/alert_signal = new
|
||||||
alert_signal.source = src
|
alert_signal.source = src
|
||||||
alert_signal.transmission_method = 1
|
alert_signal.transmission_method = 1
|
||||||
alert_signal.data["zone"] = alarm_area.name
|
alert_signal.data["zone"] = areaMaster.name
|
||||||
alert_signal.data["type"] = "Atmospheric"
|
alert_signal.data["type"] = "Atmospheric"
|
||||||
|
|
||||||
if(alert_level==2)
|
if(alert_level==2)
|
||||||
@@ -588,7 +582,7 @@
|
|||||||
|
|
||||||
data["rcon"]=rcon_setting
|
data["rcon"]=rcon_setting
|
||||||
data["target_temp"] = target_temperature - T0C
|
data["target_temp"] = target_temperature - T0C
|
||||||
data["atmos_alarm"] = alarm_area.atmosalm
|
data["atmos_alarm"] = areaMaster.atmosalm
|
||||||
data["modes"] = list(
|
data["modes"] = list(
|
||||||
AALARM_MODE_SCRUBBING = list("name"="Filtering", "desc"="Scrubs out contaminants"),\
|
AALARM_MODE_SCRUBBING = list("name"="Filtering", "desc"="Scrubs out contaminants"),\
|
||||||
AALARM_MODE_REPLACEMENT = list("name"="Replace Air", "desc"="Siphons out air while replacing"),\
|
AALARM_MODE_REPLACEMENT = list("name"="Replace Air", "desc"="Siphons out air while replacing"),\
|
||||||
@@ -605,11 +599,11 @@
|
|||||||
data["screen"]=screen
|
data["screen"]=screen
|
||||||
|
|
||||||
var/list/vents=list()
|
var/list/vents=list()
|
||||||
if(alarm_area.air_vent_names.len)
|
if(areaMaster.air_vent_names.len)
|
||||||
for(var/id_tag in alarm_area.air_vent_names)
|
for(var/id_tag in areaMaster.air_vent_names)
|
||||||
var/vent_info[0]
|
var/vent_info[0]
|
||||||
var/long_name = alarm_area.air_vent_names[id_tag]
|
var/long_name = areaMaster.air_vent_names[id_tag]
|
||||||
var/list/vent_data = alarm_area.air_vent_info[id_tag]
|
var/list/vent_data = areaMaster.air_vent_info[id_tag]
|
||||||
if(!vent_data)
|
if(!vent_data)
|
||||||
continue
|
continue
|
||||||
vent_info["id_tag"]=id_tag
|
vent_info["id_tag"]=id_tag
|
||||||
@@ -619,10 +613,10 @@
|
|||||||
data["vents"]=vents
|
data["vents"]=vents
|
||||||
|
|
||||||
var/list/scrubbers=list()
|
var/list/scrubbers=list()
|
||||||
if(alarm_area.air_scrub_names.len)
|
if(areaMaster.air_scrub_names.len)
|
||||||
for(var/id_tag in alarm_area.air_scrub_names)
|
for(var/id_tag in areaMaster.air_scrub_names)
|
||||||
var/long_name = alarm_area.air_scrub_names[id_tag]
|
var/long_name = areaMaster.air_scrub_names[id_tag]
|
||||||
var/list/scrubber_data = alarm_area.air_scrub_info[id_tag]
|
var/list/scrubber_data = areaMaster.air_scrub_info[id_tag]
|
||||||
if(!scrubber_data)
|
if(!scrubber_data)
|
||||||
continue
|
continue
|
||||||
scrubber_data["id_tag"]=id_tag
|
scrubber_data["id_tag"]=id_tag
|
||||||
@@ -791,14 +785,14 @@
|
|||||||
|
|
||||||
if(href_list["atmos_alarm"])
|
if(href_list["atmos_alarm"])
|
||||||
alarmActivated=1
|
alarmActivated=1
|
||||||
alarm_area.updateDangerLevel()
|
areaMaster.updateDangerLevel()
|
||||||
update_icon()
|
update_icon()
|
||||||
ui_interact(usr)
|
ui_interact(usr)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if(href_list["atmos_reset"])
|
if(href_list["atmos_reset"])
|
||||||
alarmActivated=0
|
alarmActivated=0
|
||||||
alarm_area.updateDangerLevel()
|
areaMaster.updateDangerLevel()
|
||||||
update_icon()
|
update_icon()
|
||||||
ui_interact(usr)
|
ui_interact(usr)
|
||||||
return 1
|
return 1
|
||||||
@@ -995,14 +989,6 @@ FIRE ALARM
|
|||||||
var/wiresexposed = 0
|
var/wiresexposed = 0
|
||||||
var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone
|
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()
|
/obj/machinery/firealarm/update_icon()
|
||||||
|
|
||||||
if(wiresexposed)
|
if(wiresexposed)
|
||||||
@@ -1151,7 +1137,7 @@ FIRE ALARM
|
|||||||
var/d2
|
var/d2
|
||||||
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon))
|
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon))
|
||||||
|
|
||||||
if (master_area.fire)
|
if (areaMaster.fire)
|
||||||
d1 = text("<A href='?src=\ref[];reset=1'>Reset - Lockdown</A>", src)
|
d1 = text("<A href='?src=\ref[];reset=1'>Reset - Lockdown</A>", src)
|
||||||
else
|
else
|
||||||
d1 = text("<A href='?src=\ref[];alarm=1'>Alarm - Lockdown</A>", src)
|
d1 = text("<A href='?src=\ref[];alarm=1'>Alarm - Lockdown</A>", src)
|
||||||
@@ -1165,7 +1151,7 @@ FIRE ALARM
|
|||||||
user << browse(dat, "window=firealarm")
|
user << browse(dat, "window=firealarm")
|
||||||
onclose(user, "firealarm")
|
onclose(user, "firealarm")
|
||||||
else
|
else
|
||||||
if (master_area.fire)
|
if (areaMaster.fire)
|
||||||
d1 = text("<A href='?src=\ref[];reset=1'>[]</A>", src, stars("Reset - Lockdown"))
|
d1 = text("<A href='?src=\ref[];reset=1'>[]</A>", src, stars("Reset - Lockdown"))
|
||||||
else
|
else
|
||||||
d1 = text("<A href='?src=\ref[];alarm=1'>[]</A>", src, stars("Alarm - Lockdown"))
|
d1 = text("<A href='?src=\ref[];alarm=1'>[]</A>", src, stars("Alarm - Lockdown"))
|
||||||
@@ -1214,21 +1200,21 @@ FIRE ALARM
|
|||||||
/obj/machinery/firealarm/proc/reset()
|
/obj/machinery/firealarm/proc/reset()
|
||||||
if (!( src.working ))
|
if (!( src.working ))
|
||||||
return
|
return
|
||||||
master_area.firereset()
|
areaMaster.firereset()
|
||||||
update_icon()
|
update_icon()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/firealarm/proc/alarm()
|
/obj/machinery/firealarm/proc/alarm()
|
||||||
if (!( src.working ))
|
if (!( src.working ))
|
||||||
return
|
return
|
||||||
master_area.firealert()
|
areaMaster.firealert()
|
||||||
update_icon()
|
update_icon()
|
||||||
//playsound(get_turf(src), 'sound/ambience/signal.ogg', 75, 0)
|
//playsound(get_turf(src), 'sound/ambience/signal.ogg', 75, 0)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/firealarm/New(loc, dir, building)
|
/obj/machinery/firealarm/New(loc, dir, building)
|
||||||
..()
|
..()
|
||||||
|
name = "[areaMaster.name] fire alarm"
|
||||||
if(loc)
|
if(loc)
|
||||||
src.loc = loc
|
src.loc = loc
|
||||||
|
|
||||||
@@ -1249,7 +1235,6 @@ FIRE ALARM
|
|||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
FIRE ALARM ITEM
|
FIRE ALARM ITEM
|
||||||
Handheld fire alarm frame, for placing on walls
|
Handheld fire alarm frame, for placing on walls
|
||||||
@@ -1312,13 +1297,9 @@ Code shamelessly copied from apc_frame
|
|||||||
idle_power_usage = 2
|
idle_power_usage = 2
|
||||||
active_power_usage = 6
|
active_power_usage = 6
|
||||||
|
|
||||||
var/area/master_area
|
|
||||||
|
|
||||||
/obj/machinery/partyalarm/New()
|
/obj/machinery/partyalarm/New()
|
||||||
var/area/A = get_area_master(src)
|
..()
|
||||||
if (!( istype(A, /area) ))
|
name = "[areaMaster.name] party alarm"
|
||||||
return
|
|
||||||
master_area=A
|
|
||||||
|
|
||||||
/obj/machinery/partyalarm/attack_paw(mob/user as mob)
|
/obj/machinery/partyalarm/attack_paw(mob/user as mob)
|
||||||
return attack_hand(user)
|
return attack_hand(user)
|
||||||
@@ -1331,7 +1312,7 @@ Code shamelessly copied from apc_frame
|
|||||||
var/d1
|
var/d1
|
||||||
var/d2
|
var/d2
|
||||||
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
|
if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai))
|
||||||
if (master_area.party)
|
if (areaMaster.party)
|
||||||
d1 = text("<A href='?src=\ref[];reset=1'>No Party :(</A>", src)
|
d1 = text("<A href='?src=\ref[];reset=1'>No Party :(</A>", src)
|
||||||
else
|
else
|
||||||
d1 = text("<A href='?src=\ref[];alarm=1'>PARTY!!!</A>", src)
|
d1 = text("<A href='?src=\ref[];alarm=1'>PARTY!!!</A>", src)
|
||||||
@@ -1345,7 +1326,7 @@ Code shamelessly copied from apc_frame
|
|||||||
user << browse(dat, "window=partyalarm")
|
user << browse(dat, "window=partyalarm")
|
||||||
onclose(user, "partyalarm")
|
onclose(user, "partyalarm")
|
||||||
else
|
else
|
||||||
if (master_area.fire)
|
if (areaMaster.fire)
|
||||||
d1 = text("<A href='?src=\ref[];reset=1'>[]</A>", src, stars("No Party :("))
|
d1 = text("<A href='?src=\ref[];reset=1'>[]</A>", src, stars("No Party :("))
|
||||||
else
|
else
|
||||||
d1 = text("<A href='?src=\ref[];alarm=1'>[]</A>", src, stars("PARTY!!!"))
|
d1 = text("<A href='?src=\ref[];alarm=1'>[]</A>", src, stars("PARTY!!!"))
|
||||||
@@ -1363,13 +1344,13 @@ Code shamelessly copied from apc_frame
|
|||||||
/obj/machinery/partyalarm/proc/reset()
|
/obj/machinery/partyalarm/proc/reset()
|
||||||
if (!( working ))
|
if (!( working ))
|
||||||
return
|
return
|
||||||
master_area.partyreset()
|
areaMaster.partyreset()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/partyalarm/proc/alarm()
|
/obj/machinery/partyalarm/proc/alarm()
|
||||||
if (!( working ))
|
if (!( working ))
|
||||||
return
|
return
|
||||||
master_area.partyalert()
|
areaMaster.partyalert()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/machinery/partyalarm/Topic(href, href_list)
|
/obj/machinery/partyalarm/Topic(href, href_list)
|
||||||
|
|||||||
@@ -112,7 +112,7 @@
|
|||||||
|
|
||||||
for(var/obj/machinery/power/apc/A in L)
|
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"]<BR>"
|
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"]<BR>"
|
||||||
|
|
||||||
t += "</FONT></PRE></TT>"
|
t += "</FONT></PRE></TT>"
|
||||||
|
|||||||
@@ -2,39 +2,24 @@
|
|||||||
// can have multiple per area
|
// can have multiple per area
|
||||||
// can also operate on non-loc area through "otherarea" var
|
// can also operate on non-loc area through "otherarea" var
|
||||||
/obj/machinery/light_switch
|
/obj/machinery/light_switch
|
||||||
name = "light switch"
|
|
||||||
desc = "It turns lights on and off. What are you, simple?"
|
desc = "It turns lights on and off. What are you, simple?"
|
||||||
icon = 'icons/obj/power.dmi'
|
icon = 'icons/obj/power.dmi'
|
||||||
icon_state = "light1"
|
icon_state = "light1"
|
||||||
anchored = 1.0
|
anchored = 1.0
|
||||||
var/on = 1
|
var/on
|
||||||
var/otherarea = null
|
|
||||||
// luminosity = 1
|
// luminosity = 1
|
||||||
|
|
||||||
/obj/machinery/light_switch/New()
|
/obj/machinery/light_switch/New()
|
||||||
..()
|
..()
|
||||||
spawn(5)
|
name = "[areaMaster.name] light switch"
|
||||||
src.area = src.loc.loc
|
on = areaMaster.lightswitch
|
||||||
|
|
||||||
if(otherarea)
|
|
||||||
src.area = locate(text2path("/area/[otherarea]"))
|
|
||||||
|
|
||||||
if(!name)
|
|
||||||
name = "light switch ([area.name])"
|
|
||||||
|
|
||||||
src.on = src.area.lightswitch
|
|
||||||
updateicon()
|
updateicon()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/light_switch/proc/updateicon()
|
/obj/machinery/light_switch/proc/updateicon()
|
||||||
if (stat & NOPOWER)
|
if (stat & NOPOWER)
|
||||||
icon_state = "light-p"
|
icon_state = "light-p"
|
||||||
else
|
else
|
||||||
if(on)
|
icon_state = on ? "light1" : "light0"
|
||||||
icon_state = "light1"
|
|
||||||
else
|
|
||||||
icon_state = "light0"
|
|
||||||
|
|
||||||
/obj/machinery/light_switch/examine()
|
/obj/machinery/light_switch/examine()
|
||||||
set src in oview(1)
|
set src in oview(1)
|
||||||
@@ -55,7 +40,7 @@
|
|||||||
|
|
||||||
on = !on
|
on = !on
|
||||||
|
|
||||||
for(var/area/A in area.master.related)
|
for(var/area/A in areaMaster.related)
|
||||||
A.lightswitch = on
|
A.lightswitch = on
|
||||||
A.updateicon()
|
A.updateicon()
|
||||||
|
|
||||||
@@ -63,11 +48,9 @@
|
|||||||
L.on = on
|
L.on = on
|
||||||
L.updateicon()
|
L.updateicon()
|
||||||
|
|
||||||
area.master.power_change()
|
areaMaster.power_change()
|
||||||
|
|
||||||
/obj/machinery/light_switch/power_change()
|
/obj/machinery/light_switch/power_change()
|
||||||
|
|
||||||
if(!otherarea)
|
|
||||||
if(powered(LIGHT))
|
if(powered(LIGHT))
|
||||||
stat &= ~NOPOWER
|
stat &= ~NOPOWER
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -114,10 +114,8 @@ Class Procs:
|
|||||||
var/panel_open = 0
|
var/panel_open = 0
|
||||||
|
|
||||||
var/inMachineList = 1 // For debugging.
|
var/inMachineList = 1 // For debugging.
|
||||||
var/area/mchArea
|
|
||||||
|
|
||||||
/obj/machinery/New()
|
/obj/machinery/New()
|
||||||
mchArea = get_area(src)
|
|
||||||
machines.Add(src)
|
machines.Add(src)
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
@@ -125,8 +123,6 @@ Class Procs:
|
|||||||
if (src in machines)
|
if (src in machines)
|
||||||
machines.Remove(src)
|
machines.Remove(src)
|
||||||
|
|
||||||
mchArea = null
|
|
||||||
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/process() // If you dont use process or power why are you here
|
/obj/machinery/process() // If you dont use process or power why are you here
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
|||||||
|
|
||||||
/obj/machinery/requests_console/New()
|
/obj/machinery/requests_console/New()
|
||||||
name = "[department] Requests Console"
|
name = "[department] Requests Console"
|
||||||
allConsoles += src
|
allConsoles.Add(src)
|
||||||
//req_console_departments += department
|
//req_console_departments += department
|
||||||
switch(departmentType)
|
switch(departmentType)
|
||||||
if(1)
|
if(1)
|
||||||
@@ -105,6 +105,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
|||||||
if(!("[department]" in req_console_information))
|
if(!("[department]" in req_console_information))
|
||||||
req_console_information += department
|
req_console_information += department
|
||||||
|
|
||||||
|
return ..()
|
||||||
|
|
||||||
/obj/machinery/requests_console/attack_hand(user as mob)
|
/obj/machinery/requests_console/attack_hand(user as mob)
|
||||||
if(..(user))
|
if(..(user))
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ Code:
|
|||||||
var/list/chg = list("N","C","F")
|
var/list/chg = list("N","C","F")
|
||||||
|
|
||||||
for(var/obj/machinery/power/apc/A in L)
|
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"]<BR>"
|
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"]<BR>"
|
||||||
|
|
||||||
menu += "</FONT></PRE>"
|
menu += "</FONT></PRE>"
|
||||||
|
|||||||
@@ -144,17 +144,9 @@
|
|||||||
if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0))
|
if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0))
|
||||||
last_tick = world.timeofday
|
last_tick = world.timeofday
|
||||||
|
|
||||||
if(!src.loc)
|
on = areaMaster.powered(EQUIP) // set "on" to the power status
|
||||||
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
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
|
|
||||||
/obj/item/weapon/intercom_electronics
|
/obj/item/weapon/intercom_electronics
|
||||||
name = "intercom electronics"
|
name = "intercom electronics"
|
||||||
icon = 'icons/obj/doors/door_assembly.dmi'
|
icon = 'icons/obj/doors/door_assembly.dmi'
|
||||||
|
|||||||
@@ -18,9 +18,11 @@
|
|||||||
var/list/reagents_to_log=list()
|
var/list/reagents_to_log=list()
|
||||||
|
|
||||||
/obj/Destroy()
|
/obj/Destroy()
|
||||||
machines -= src
|
if (src in processing_objects)
|
||||||
processing_objects -= src
|
processing_objects.Remove(src)
|
||||||
|
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/obj/item/proc/is_used_on(obj/O, mob/user)
|
/obj/item/proc/is_used_on(obj/O, mob/user)
|
||||||
|
|
||||||
/obj/recycle(var/datum/materials/rec)
|
/obj/recycle(var/datum/materials/rec)
|
||||||
@@ -32,7 +34,6 @@
|
|||||||
|
|
||||||
/obj/proc/process()
|
/obj/proc/process()
|
||||||
processing_objects.Remove(src)
|
processing_objects.Remove(src)
|
||||||
return 0
|
|
||||||
|
|
||||||
/obj/assume_air(datum/gas_mixture/giver)
|
/obj/assume_air(datum/gas_mixture/giver)
|
||||||
if(loc)
|
if(loc)
|
||||||
|
|||||||
@@ -170,9 +170,7 @@ var/const/POS_HEADER = {"<html>
|
|||||||
Paying to: [linked_account.owner_name]<br />
|
Paying to: [linked_account.owner_name]<br />
|
||||||
Cashier: [logged_in]<br />"}
|
Cashier: [logged_in]<br />"}
|
||||||
|
|
||||||
if (mchArea)
|
receipt += areaMaster.name
|
||||||
receipt += mchArea.name
|
|
||||||
|
|
||||||
receipt += "</div>"
|
receipt += "</div>"
|
||||||
receipt += {"<br />
|
receipt += {"<br />
|
||||||
<div>[worldtime2text()], [current_date_string]</div>
|
<div>[worldtime2text()], [current_date_string]</div>
|
||||||
@@ -222,9 +220,7 @@ var/const/POS_HEADER = {"<html>
|
|||||||
Paying to: [linked_account.owner_name]<br />
|
Paying to: [linked_account.owner_name]<br />
|
||||||
Cashier: [logged_in]<br />"}
|
Cashier: [logged_in]<br />"}
|
||||||
|
|
||||||
if (mchArea)
|
receipt += areaMaster.name
|
||||||
receipt += mchArea.name
|
|
||||||
|
|
||||||
receipt += "</fieldset>"
|
receipt += "</fieldset>"
|
||||||
receipt += {"<fieldset><legend>Order Data</legend>
|
receipt += {"<fieldset><legend>Order Data</legend>
|
||||||
<form action="?src=\ref[src]" method="get">
|
<form action="?src=\ref[src]" method="get">
|
||||||
|
|||||||
@@ -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.")
|
visible_message("\red The machine buzzes, and flashes \"NOT ENOUGH FUNDS\" on the screen.","You hear a buzz.")
|
||||||
return
|
return
|
||||||
visible_message("\blue The machine beeps happily.","You hear a beep.")
|
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
|
credits_needed = 0
|
||||||
|
|
||||||
successful_purchase()
|
successful_purchase()
|
||||||
|
|||||||
@@ -44,15 +44,12 @@
|
|||||||
|
|
||||||
|
|
||||||
/obj/machinery/power/apc
|
/obj/machinery/power/apc
|
||||||
name = "area power controller"
|
|
||||||
desc = "A control terminal for the area electrical systems."
|
desc = "A control terminal for the area electrical systems."
|
||||||
|
|
||||||
icon_state = "apc0"
|
icon_state = "apc0"
|
||||||
anchored = 1
|
anchored = 1
|
||||||
use_power = 0
|
use_power = 0
|
||||||
req_access = list(access_engine_equip)
|
req_access = list(access_engine_equip)
|
||||||
var/spooky=0
|
var/spooky=0
|
||||||
var/areastring = null
|
|
||||||
var/obj/item/weapon/cell/cell
|
var/obj/item/weapon/cell/cell
|
||||||
var/start_charge = 90 // initial cell charge %
|
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
|
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_x = (src.tdir == 4 ? 24 : -24)
|
||||||
pixel_y = 0
|
pixel_y = 0
|
||||||
|
|
||||||
switch (isnull(area))
|
switch (isnull(areaMaster))
|
||||||
if (1)
|
|
||||||
log_admin("APC tried to spawn in a location without an area. [formatJumpTo(get_turf(src))]")
|
|
||||||
if (0)
|
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)
|
if (building==0)
|
||||||
init()
|
init()
|
||||||
else
|
else
|
||||||
area = src.loc.loc:master
|
|
||||||
opened = 1
|
opened = 1
|
||||||
operating = 0
|
operating = 0
|
||||||
stat |= MAINT
|
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.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)
|
cell.charge = start_charge * cell.maxcharge / 100.0 // (convert percentage to actual value)
|
||||||
|
|
||||||
var/area/A = src.loc.loc
|
name = "[areaMaster.name] APC"
|
||||||
|
|
||||||
//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"
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
make_terminal()
|
make_terminal()
|
||||||
@@ -741,7 +730,7 @@
|
|||||||
if (!ui)
|
if (!ui)
|
||||||
// the ui does not exist, so we'll create a new one
|
// 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
|
// 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
|
// when the ui is first opened this is the data it will use
|
||||||
ui.set_initial_data(data)
|
ui.set_initial_data(data)
|
||||||
// open the new ui window
|
// open the new ui window
|
||||||
@@ -750,23 +739,23 @@
|
|||||||
ui.set_auto_update(1)
|
ui.set_auto_update(1)
|
||||||
|
|
||||||
/obj/machinery/power/apc/proc/report()
|
/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()
|
/obj/machinery/power/apc/proc/update()
|
||||||
if(operating && !shorted)
|
if(operating && !shorted)
|
||||||
area.power_light = (lighting > 1)
|
areaMaster.power_light = (lighting > 1)
|
||||||
area.power_equip = (equipment > 1)
|
areaMaster.power_equip = (equipment > 1)
|
||||||
area.power_environ = (environ > 1)
|
areaMaster.power_environ = (environ > 1)
|
||||||
// if (area.name == "AI Chamber")
|
// if (area.name == "AI Chamber")
|
||||||
// spawn(10)
|
// spawn(10)
|
||||||
// world << " [area.name] [area.power_equip]"
|
// world << " [area.name] [area.power_equip]"
|
||||||
else
|
else
|
||||||
area.power_light = 0
|
areaMaster.power_light = 0
|
||||||
area.power_equip = 0
|
areaMaster.power_equip = 0
|
||||||
area.power_environ = 0
|
areaMaster.power_environ = 0
|
||||||
// if (area.name == "AI Chamber")
|
// if (area.name == "AI Chamber")
|
||||||
// world << "[area.power_equip]"
|
// world << "[area.power_equip]"
|
||||||
area.power_change()
|
areaMaster.power_change()
|
||||||
|
|
||||||
/obj/machinery/power/apc/proc/isWireCut(var/wireIndex)
|
/obj/machinery/power/apc/proc/isWireCut(var/wireIndex)
|
||||||
return wires.IsIndexCut(wireIndex)
|
return wires.IsIndexCut(wireIndex)
|
||||||
@@ -1024,7 +1013,7 @@
|
|||||||
|
|
||||||
if(stat & (BROKEN|MAINT))
|
if(stat & (BROKEN|MAINT))
|
||||||
return
|
return
|
||||||
if(!area.requires_power)
|
if(!areaMaster.requires_power)
|
||||||
return
|
return
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1037,10 +1026,10 @@
|
|||||||
|
|
||||||
area.calc_lighting() */
|
area.calc_lighting() */
|
||||||
|
|
||||||
lastused_light = area.usage(LIGHT)
|
lastused_light = areaMaster.usage(LIGHT)
|
||||||
lastused_equip = area.usage(EQUIP)
|
lastused_equip = areaMaster.usage(EQUIP)
|
||||||
lastused_environ = area.usage(ENVIRON)
|
lastused_environ = areaMaster.usage(ENVIRON)
|
||||||
area.clear_usage()
|
areaMaster.clear_usage()
|
||||||
|
|
||||||
lastused_total = lastused_light + lastused_equip + lastused_environ
|
lastused_total = lastused_light + lastused_equip + lastused_environ
|
||||||
|
|
||||||
@@ -1108,24 +1097,24 @@
|
|||||||
equipment = autoset(equipment, 0)
|
equipment = autoset(equipment, 0)
|
||||||
lighting = autoset(lighting, 0)
|
lighting = autoset(lighting, 0)
|
||||||
environ = autoset(environ, 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
|
else if(cell.percent() < 15 && longtermpower < 0) // <15%, turn off lighting & equipment
|
||||||
equipment = autoset(equipment, 2)
|
equipment = autoset(equipment, 2)
|
||||||
lighting = autoset(lighting, 2)
|
lighting = autoset(lighting, 2)
|
||||||
environ = autoset(environ, 1)
|
environ = autoset(environ, 1)
|
||||||
area.poweralert(0, src)
|
areaMaster.poweralert(0, src)
|
||||||
else if(cell.percent() < 30 && longtermpower < 0) // <30%, turn off equipment
|
else if(cell.percent() < 30 && longtermpower < 0) // <30%, turn off equipment
|
||||||
equipment = autoset(equipment, 2)
|
equipment = autoset(equipment, 2)
|
||||||
lighting = autoset(lighting, 1)
|
lighting = autoset(lighting, 1)
|
||||||
environ = autoset(environ, 1)
|
environ = autoset(environ, 1)
|
||||||
area.poweralert(0, src)
|
areaMaster.poweralert(0, src)
|
||||||
else // otherwise all can be on
|
else // otherwise all can be on
|
||||||
equipment = autoset(equipment, 1)
|
equipment = autoset(equipment, 1)
|
||||||
lighting = autoset(lighting, 1)
|
lighting = autoset(lighting, 1)
|
||||||
environ = autoset(environ, 1)
|
environ = autoset(environ, 1)
|
||||||
area.poweralert(1, src)
|
areaMaster.poweralert(1, src)
|
||||||
if(cell.percent() > 75)
|
if(cell.percent() > 75)
|
||||||
area.poweralert(1, src)
|
areaMaster.poweralert(1, src)
|
||||||
|
|
||||||
// now trickle-charge the cell
|
// now trickle-charge the cell
|
||||||
|
|
||||||
@@ -1172,7 +1161,7 @@
|
|||||||
equipment = autoset(equipment, 0)
|
equipment = autoset(equipment, 0)
|
||||||
lighting = autoset(lighting, 0)
|
lighting = autoset(lighting, 0)
|
||||||
environ = autoset(environ, 0)
|
environ = autoset(environ, 0)
|
||||||
area.poweralert(0, src)
|
areaMaster.poweralert(0, src)
|
||||||
|
|
||||||
// update icon & area power if anything changed
|
// update icon & area power if anything changed
|
||||||
if(last_lt != lighting || last_eq != equipment || last_en != environ)
|
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)
|
if( cell && cell.charge>=20)
|
||||||
cell.use(20);
|
cell.use(20);
|
||||||
spawn(0)
|
spawn(0)
|
||||||
for(var/area/A in area.related)
|
for(var/area/A in areaMaster.related)
|
||||||
for(var/obj/machinery/light/L in A)
|
for(var/obj/machinery/light/L in A)
|
||||||
L.on = 1
|
L.on = 1
|
||||||
L.broken()
|
L.broken()
|
||||||
@@ -1279,10 +1268,10 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on)
|
|||||||
if (ticker.mode.config_tag == "malfunction")
|
if (ticker.mode.config_tag == "malfunction")
|
||||||
if (src.z == 1) //if (is_type_in_list(get_area(src), the_station_areas))
|
if (src.z == 1) //if (is_type_in_list(get_area(src), the_station_areas))
|
||||||
ticker.mode:apcs--
|
ticker.mode:apcs--
|
||||||
area.power_light = 0
|
areaMaster.power_light = 0
|
||||||
area.power_equip = 0
|
areaMaster.power_equip = 0
|
||||||
area.power_environ = 0
|
areaMaster.power_environ = 0
|
||||||
area.power_change()
|
areaMaster.power_change()
|
||||||
if(occupant)
|
if(occupant)
|
||||||
malfvacate(1)
|
malfvacate(1)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -51,20 +51,23 @@
|
|||||||
if (!use_power)
|
if (!use_power)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if (isnull(area) || isnull(area.master))
|
if (isnull(areaMaster))
|
||||||
return 0 // If not, then not powered.
|
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.
|
* Increment the power usage stats for an area.
|
||||||
* Defaults to power_channel.
|
* Defaults to power_channel.
|
||||||
*/
|
*/
|
||||||
/obj/machinery/proc/use_power(const/amount, chan = 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
|
return
|
||||||
|
|
||||||
area.master.use_power(amount, chan)
|
areaMaster.use_power(amount, chan)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Called whenever the power settings of the containing area change.
|
* Called whenever the power settings of the containing area change.
|
||||||
|
|||||||
Reference in New Issue
Block a user