/datum/wires/alarm holder_type = /obj/machinery/alarm wire_count = 5 /datum/wires/alarm/New() wire_names=list( "[AALARM_WIRE_IDSCAN]" = "ID scan", "[AALARM_WIRE_POWER]" = "Power", "[AALARM_WIRE_SYPHON]" = "Syphon", "[AALARM_WIRE_AI_CONTROL]" = "AI Control", "[AALARM_WIRE_AALARM]" = "Alarm" ) ..() var/const/AALARM_WIRE_IDSCAN = 1 var/const/AALARM_WIRE_POWER = 2 var/const/AALARM_WIRE_SYPHON = 4 var/const/AALARM_WIRE_AI_CONTROL = 8 var/const/AALARM_WIRE_AALARM = 16 /datum/wires/alarm/CanUse(var/mob/living/L) if(!..()) return 0 var/obj/machinery/alarm/A = holder if(A.wiresexposed) return 1 return 0 /datum/wires/alarm/GetInteractWindow() var/obj/machinery/alarm/A = holder . += ..() . += text("
\n[(A.locked ? "The Air Alarm is locked." : "The Air Alarm is unlocked.")]
\n[((A.shorted || (A.stat & (NOPOWER|BROKEN))) ? "The Air Alarm is offline." : "The Air Alarm is working properly!")]
\n[(A.aidisabled ? "The 'AI control allowed' light is off." : "The 'AI control allowed' light is on.")]") /datum/wires/alarm/UpdateCut(var/index, var/mended, var/mob/user) var/obj/machinery/alarm/A = holder ..() var/obj/I = user.get_active_hand() switch(index) if(AALARM_WIRE_IDSCAN) if(!mended) A.locked = 1 // to_chat(world, "Idscan wire cut") if(AALARM_WIRE_POWER) A.shock(user, 50,get_conductivity(I)) A.shorted = !mended A.update_icon() // to_chat(world, "Power wire cut") if (AALARM_WIRE_AI_CONTROL) if (A.aidisabled == mended) A.aidisabled = !mended // to_chat(world, "AI Control Wire Cut") if(AALARM_WIRE_SYPHON) if(!mended) A.mode = 3 // AALARM_MODE_PANIC A.apply_mode() // to_chat(world, "Syphon Wire Cut") if(AALARM_WIRE_AALARM) //if (A.alarm_area.atmosalert(2)) // A.post_alert(2) A.update_icon() /datum/wires/alarm/UpdatePulsed(var/index) var/obj/machinery/alarm/A = holder ..() switch(index) if(AALARM_WIRE_IDSCAN) A.locked = !A.locked // to_chat(world, "Idscan wire pulsed") if (AALARM_WIRE_POWER) // to_chat(world, "Power wire pulsed") if(A.shorted == 0) A.shorted = 1 A.update_icon() spawn(20 MINUTES) if (!isnull(A)) if (A.shorted == 1) A.shorted = 0 A.update_icon() if (AALARM_WIRE_AI_CONTROL) // to_chat(world, "AI Control wire pulsed") if (A.aidisabled == 0) A.aidisabled = 1 A.updateDialog() spawn(100) if (A.aidisabled == 1) A.aidisabled = 0 if(AALARM_WIRE_SYPHON) // to_chat(world, "Syphon wire pulsed") if(A.mode == 1) // AALARM_MODE_SCRUB A.mode = 3 // AALARM_MODE_PANIC else A.mode = 1 // AALARM_MODE_SCRUB A.apply_mode() if(AALARM_WIRE_AALARM) // to_chat(world, "Aalarm wire pulsed") //if (A.alarm_area.atmosalert(0)) // A.post_alert(0) A.update_icon()