/obj/machinery/computer/pod name = "Pod Launch Control" icon_state = "computer_generic" var/id = 1.0 var/obj/machinery/mass_driver/connected = null var/timing = 0.0 var/time = 30.0 var/TPR = 0 /obj/machinery/computer/pod/old icon_state = "old" name = "DoorMex Control Computer" /obj/machinery/computer/pod/old/syndicate name = "ProComp Executive IIc" desc = "The Syndicate operate on a tight budget. Operates external airlocks." /obj/machinery/computer/pod/old/swf name = "Magix System IV" desc = "An arcane artifact that holds much magic. Running E-Knock 2.2: Sorceror's Edition" attack_hand(var/mob/user as mob) if (!iswizard(user)) user.show_text("The [src.name] doesn't respond to your inputs.", "red") return else return ..() /obj/machinery/computer/pod/proc/alarm() if(stat & (NOPOWER|BROKEN)) return if (!( src.connected )) viewers(null, null) << "Cannot locate mass driver connector. Cancelling firing sequence!" return for(var/obj/machinery/door/poddoor/M) if (M.id == src.id) spawn( 0 ) M.open() return sleep(20) //src.connected.drive() *****RM from 40.93.3S for(var/obj/machinery/mass_driver/M in machines) if(M.id == src.id) M.power = src.connected.power M.drive() sleep(50) for(var/obj/machinery/door/poddoor/M) if (M.id == src.id) spawn( 0 ) M.close() return return /obj/machinery/computer/pod/New() ..() spawn( 5 ) for(var/obj/machinery/mass_driver/M in machines) if (M.id == src.id) src.connected = M else return return /obj/machinery/computer/pod/attackby(I as obj, user as mob) if(istype(I, /obj/item/screwdriver)) playsound(src.loc, "sound/items/Screwdriver.ogg", 50, 1) if(do_after(user, 20)) if (src.stat & BROKEN) boutput(user, "The broken glass falls out.") var/obj/computerframe/A = new /obj/computerframe( src.loc ) if(src.material) A.setMaterial(src.material) new /obj/item/raw_material/shard/glass( src.loc ) //generate appropriate circuitboard. Accounts for /pod/old computer types var/obj/item/circuitboard/pod/M = null if(istype(src, /obj/machinery/computer/pod/old)) M = new /obj/item/circuitboard/olddoor( A ) if(istype(src, /obj/machinery/computer/pod/old/syndicate)) M = new /obj/item/circuitboard/syndicatedoor( A ) if(istype(src, /obj/machinery/computer/pod/old/swf)) M = new /obj/item/circuitboard/swfdoor( A ) else //it's not an old computer. Generate standard pod circuitboard. M = new /obj/item/circuitboard/pod( A ) for (var/obj/C in src) C.set_loc(src.loc) M.id = src.id A.circuit = M A.state = 3 A.icon_state = "3" A.anchored = 1 qdel(src) else boutput(user, "You disconnect the monitor.") var/obj/computerframe/A = new /obj/computerframe( src.loc ) if(src.material) A.setMaterial(src.material) //generate appropriate circuitboard. Accounts for /pod/old computer types var/obj/item/circuitboard/pod/M = null if(istype(src, /obj/machinery/computer/pod/old)) M = new /obj/item/circuitboard/olddoor( A ) if(istype(src, /obj/machinery/computer/pod/old/syndicate)) M = new /obj/item/circuitboard/syndicatedoor( A ) if(istype(src, /obj/machinery/computer/pod/old/swf)) M = new /obj/item/circuitboard/swfdoor( A ) else //it's not an old computer. Generate standard pod circuitboard. M = new /obj/item/circuitboard/pod( A ) for (var/obj/C in src) C.set_loc(src.loc) M.id = src.id A.circuit = M A.state = 4 A.icon_state = "4" A.anchored = 1 qdel(src) else src.attack_hand(user) return /obj/machinery/computer/pod/attack_ai(var/mob/user as mob) return src.attack_hand(user) /obj/machinery/computer/pod/attack_hand(var/mob/user as mob) if(..()) return var/dat = "Mass Driver Controls" user.machine = src var/d2 if (src.timing) d2 = text("Stop Time Launch", src) else d2 = text("Initiate Time Launch", src) var/second = src.time % 60 var/minute = (src.time - second) / 60 dat += text("

Timer System: []
Time Left: [][] - - + +", d2, (minute ? text("[]:", minute) : null), second, src, src, src, src) if (src.connected) var/temp = "" var/list/L = list( 0.25, 0.5, 1, 2, 4, 8, 16 ) for(var/t in L) if (t == src.connected.power) temp += text("[] ", t) else temp += text("[] ", src, t, t) //Foreach goto(172) dat += text("

Power Level: []

Firing Sequence

Test Fire Driver

Toggle Outer Door
", temp, src, src, src) //*****RM from 40.93.3S else dat += text("

Toggle Outer Door
", src) //***** dat += text("

Close
") if(istype(src, /obj/machinery/computer/pod/old/swf)) dat = "Magix IV Shuttle and Teleport Control" if(!src.TPR) dat += "


Teleport
" else dat += "


RECHARGING TELEPORT
Please stand by...
" dat += text("

Toggle Outer Door
", src) dat += text("

Close
") user << browse(dat, "window=computer;size=400x500") onclose(user, "computer") return /obj/machinery/computer/pod/process() ..() if (src.timing) if (src.time > 0) src.time = round(src.time) - 1 else alarm() src.time = 0 src.timing = 0 src.updateDialog() return /obj/machinery/computer/pod/Topic(href, href_list) if(..()) return if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) usr.machine = src if (href_list["spell_teleport"]) src.TPR = 1 spawn(600) if(src) src.TPR = 0 src.updateDialog() usr.machine = null usr << browse(null, "window=computer") usr.teleportscroll(1, 2, src) return if (href_list["power"]) var/t = text2num(href_list["power"]) t = min(max(0.25, t), 16) if (src.connected) src.connected.power = t else if (href_list["alarm"]) src.alarm() else if (href_list["time"]) src.timing = text2num(href_list["time"]) else if (href_list["tp"]) var/tp = text2num(href_list["tp"]) src.time += tp src.time = min(max(round(src.time), 0), 120) else if (href_list["door"]) for(var/obj/machinery/door/poddoor/M) if (M.id == src.id) if (M.density) spawn( 0 ) M.open() return else spawn( 0 ) M.close() return //Foreach goto(298) src.add_fingerprint(usr) src.updateUsrDialog() return