mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 11:07:12 +01:00
* I AM NOT A KING. I AM NOT A GOD. I AM LUNACY. * THE SCOPE CREEP * This was done in vi. No langserver. Send help. * Progress * Some issues fixed * The code builds, but the maps dont * CC builds, I doubt anything else does * Do this now * Safety * The map compiles * THE MAPPING HELL * Airlock controllers dont work * Fixed bombs * AND THATS FIXED * Phantom edit * Restores LL I think * The mapmerge hooks are actually retarded * Fixes spawners * Half working air control * Picky * Hyper efficient tank monitor * Sanity * Laying the framework * Improved alert console * Dont think this is actually done anywhere * Metering * ONE HUNDRED AND ~~EIGHTY~~ TWENTY SEVEN * WE ARE READY FOR BOX TO BUILD * One map done * Well that was easy * Another one * I think this is done * I should have removed this * I would make a russian joke but <current event> * Delta WIP * Makes delta work * Early review * TM safeguard * oops * METAAAAAAAAAAAAAAAAAAAAAAAAA * Fix #4213 * Trailing * oh for piss sake * Shutter fix * Roundstart ATs can go away * Review pass 1 * What could go wrong * BOOM BOOM BOOM * Not needed * Fix seed vault * Oops * Review changes
84 lines
1.9 KiB
Plaintext
84 lines
1.9 KiB
Plaintext
|
|
/datum/wires/alarm
|
|
holder_type = /obj/machinery/alarm
|
|
wire_count = 5
|
|
window_x = 385
|
|
window_y = 90
|
|
proper_name = "Air alarm"
|
|
|
|
/datum/wires/alarm/New(atom/_holder)
|
|
wires = list(
|
|
WIRE_IDSCAN , WIRE_MAIN_POWER1 , WIRE_SYPHON,
|
|
WIRE_AI_CONTROL, WIRE_AALARM
|
|
)
|
|
return ..()
|
|
|
|
/datum/wires/alarm/interactable(mob/user)
|
|
var/obj/machinery/alarm/A = holder
|
|
if(A.wiresexposed)
|
|
return TRUE
|
|
return FALSE
|
|
|
|
/datum/wires/alarm/get_status()
|
|
. = ..()
|
|
var/obj/machinery/alarm/A = holder
|
|
. += "The Air Alarm is [A.locked ? "" : "un"]locked."
|
|
. += "The Air Alarm is [(A.shorted || (A.stat & (NOPOWER|BROKEN))) ? "offline." : "working properly!"]"
|
|
. += "The 'AI control allowed' light is [A.aidisabled ? "off" : "on"]."
|
|
|
|
/datum/wires/alarm/on_cut(wire, mend)
|
|
var/obj/machinery/alarm/A = holder
|
|
switch(wire)
|
|
if(WIRE_IDSCAN)
|
|
if(!mend)
|
|
A.locked = TRUE
|
|
|
|
if(WIRE_MAIN_POWER1)
|
|
A.shock(usr, 50)
|
|
A.shorted = !mend
|
|
A.update_icon()
|
|
|
|
if(WIRE_AI_CONTROL)
|
|
A.aidisabled = !mend
|
|
|
|
if(WIRE_SYPHON)
|
|
if(!mend)
|
|
A.mode = 3 // AALARM_MODE_PANIC
|
|
A.apply_mode()
|
|
|
|
if(WIRE_AALARM)
|
|
A.alarm_area.atmosalert(ATMOS_ALARM_DANGER, A)
|
|
A.update_icon()
|
|
..()
|
|
|
|
/datum/wires/alarm/on_pulse(wire)
|
|
var/obj/machinery/alarm/A = holder
|
|
switch(wire)
|
|
if(WIRE_IDSCAN)
|
|
A.locked = !A.locked
|
|
|
|
if(WIRE_MAIN_POWER1)
|
|
if(!A.shorted)
|
|
A.shorted = TRUE
|
|
A.update_icon()
|
|
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/alarm, unshort_callback)), 120 SECONDS)
|
|
|
|
if(WIRE_AI_CONTROL)
|
|
if(!A.aidisabled)
|
|
A.aidisabled = TRUE
|
|
A.updateDialog()
|
|
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/alarm, enable_ai_control_callback)), 10 SECONDS)
|
|
|
|
|
|
if(WIRE_SYPHON)
|
|
if(A.mode == 1) // AALARM_MODE_SCRUB
|
|
A.mode = 3 // AALARM_MODE_PANIC
|
|
else
|
|
A.mode = 1 // AALARM_MODE_SCRUB
|
|
A.apply_mode()
|
|
|
|
if(WIRE_AALARM)
|
|
A.alarm_area.atmosalert(ATMOS_ALARM_NONE, A)
|
|
A.update_icon()
|
|
..()
|