//The laser control computer //Used to control the lasers /obj/machinery/computer/lasercon name = "Laser control computer" var/list/lasers = new/list icon_state = "atmos" var/id //var/advanced = 0 /obj/machinery/computer/lasercon New() spawn(1) for(var/obj/machinery/zero_point_emitter/las in world) if(las.id == src.id) lasers += las process() ..() updateDialog() interact(mob/user) if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) if (!istype(user, /mob/living/silicon)) user.machine = null user << browse(null, "window=laser_control") return var/t = "Laser status monitor
" for(var/obj/machinery/zero_point_emitter/laser in lasers) t += "Zero Point Laser
" t += "Power level: - - - - [laser.energy]MeV + + + +
" t += "Frequency: - - [laser.freq] + +
" t += "Output: [laser.active ? "Online Offline" : "Online Offline "]
" t += "
" t += "Close
" user << browse(t, "window=laser_control;size=500x800") user.machine = src /* /obj/machinery/computer/lasercon/proc/interact(mob/user) if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) if (!istype(user, /mob/living/silicon)) user.machine = null user << browse(null, "window=powcomp") return user.machine = src var/t = "Laser status monitor
" var/obj/machinery/engine/laser/laser = src.laser[1] if(!laser) t += "\red No laser found" else t += "Power level: - - - - [add_lspace(laser.power,5)] + + + +
" if(advanced) t += "Frequency: - - [add_lspace(laser.freq,5)] + +
" t += "Output: [laser.on ? "Online Offline" : "Online Offline "]
" t += "

Close
" user << browse(t, "window=lascomp;size=420x700") onclose(user, "lascomp") */ /obj/machinery/computer/lasercon/Topic(href, href_list) ..() if( href_list["close"] ) usr << browse(null, "window=laser_control") usr.machine = null return else if( href_list["input"] ) var/i = text2num(href_list["input"]) var/d = i for(var/obj/machinery/zero_point_emitter/laser in lasers) var/new_power = laser.energy + d new_power = max(new_power,0.0001) //lowest possible value new_power = min(new_power,0.01) //highest possible value laser.energy = new_power // src.updateDialog() else if( href_list["online"] ) var/obj/machinery/zero_point_emitter/laser = href_list["online"] laser.active = !laser.active src.updateDialog() else if( href_list["freq"] ) var/amt = text2num(href_list["freq"]) for(var/obj/machinery/zero_point_emitter/laser in lasers) var/new_freq = laser.frequency + amt new_freq = max(new_freq,1) //lowest possible value new_freq = min(new_freq,20000) //highest possible value laser.frequency = new_freq // src.updateDialog() /* /obj/machinery/computer/lasercon/process() if(!(stat & (NOPOWER|BROKEN)) ) use_power(250) //src.updateDialog() */ /* /obj/machinery/computer/lasercon/power_change() if(stat & BROKEN) icon_state = "broken" else if( powered() ) icon_state = initial(icon_state) stat &= ~NOPOWER else spawn(rand(0, 15)) src.icon_state = "c_unpowered" stat |= NOPOWER */