mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-15 04:32:42 +00:00
removed extraneous admin attack messages, temporarily disabled much moderator stuff (will be re-enabled in future updates) Conflicts: baystation12.dme code/__HELPERS/type2type.dm code/controllers/configuration.dm code/datums/datumvars.dm code/datums/helper_datums/getrev.dm code/defines/obj.dm code/game/gamemodes/events/black_hole.dm code/game/gamemodes/events/space_ninja.dm code/game/gamemodes/wizard/rightandwrong.dm code/game/jobs/job/captain.dm code/game/jobs/job/job.dm code/game/jobs/job_controller.dm code/game/machinery/bots/medbot.dm code/game/machinery/computer/card.dm code/game/machinery/telecomms/traffic_control.dm code/game/machinery/turrets.dm code/game/machinery/wishgranter.dm code/game/objects/items/blueprints.dm code/game/objects/items/devices/uplinks.dm code/game/objects/items/stacks/stack.dm code/game/objects/items/weapons/surgery_tools.dm code/game/turfs/turf.dm code/game/verbs/ooc.dm code/global.dm code/modules/admin/IsBanned.dm code/modules/admin/admin.dm code/modules/admin/admin_memo.dm code/modules/admin/admin_verbs.dm code/modules/admin/holder2.dm code/modules/admin/player_panel.dm code/modules/admin/verbs/adminpm.dm code/modules/admin/verbs/diagnostics.dm code/modules/assembly/igniter.dm code/modules/client/client defines.dm code/modules/client/client procs.dm code/modules/clothing/spacesuits/miscellaneous.dm code/modules/clothing/suits/armor.dm code/modules/clothing/suits/jobs.dm code/modules/mining/mine_turfs.dm code/modules/mob/living/carbon/human/say.dm code/modules/mob/living/carbon/human/update_icons.dm code/modules/mob/living/living.dm code/modules/mob/living/living_defense.dm code/modules/mob/living/silicon/robot/emote.dm code/modules/mob/living/silicon/robot/life.dm code/modules/mob/mob_cleanup.dm code/modules/mob/new_player/new_player.dm code/modules/mob/new_player/preferences.dm code/modules/paperwork/paper.dm code/modules/paperwork/photocopier.dm code/modules/projectiles/guns/projectile/automatic.dm code/modules/reagents/Chemistry-Machinery.dm code/setup.dm code/stylesheet.dm code/world.dm config/admins.txt config/config.txt html/changelog.html icons/mob/items_lefthand.dmi icons/mob/items_righthand.dmi icons/mob/suit.dmi icons/obj/clothing/suits.dmi icons/turf/areas.dmi Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
123 lines
4.4 KiB
Plaintext
123 lines
4.4 KiB
Plaintext
//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 = "<TT><B>Laser status monitor</B><HR>"
|
|
for(var/obj/machinery/zero_point_emitter/laser in lasers)
|
|
t += "Zero Point Laser<br>"
|
|
t += "Power level: <A href = '?src=\ref[laser];input=-0.005'>-</A> <A href = '?src=\ref[laser];input=-0.001'>-</A> <A href = '?src=\ref[laser];input=-0.0005'>-</A> <A href = '?src=\ref[laser];input=-0.0001'>-</A> [laser.energy]MeV <A href = '?src=\ref[laser];input=0.0001'>+</A> <A href = '?src=\ref[laser];input=0.0005'>+</A> <A href = '?src=\ref[laser];input=0.001'>+</A> <A href = '?src=\ref[laser];input=0.005'>+</A><BR>"
|
|
t += "Frequency: <A href = '?src=\ref[laser];freq=-10000'>-</A> <A href = '?src=\ref[laser];freq=-1000'>-</A> [laser.freq] <A href = '?src=\ref[laser];freq=1000'>+</A> <A href = '?src=\ref[laser];freq=10000'>+</A><BR>"
|
|
t += "Output: [laser.active ? "<B>Online</B> <A href = '?src=\ref[laser];online=1'>Offline</A>" : "<A href = '?src=\ref[laser];online=1'>Online</A> <B>Offline</B> "]<BR>"
|
|
t += "<hr>"
|
|
t += "<A href='?src=\ref[src];close=1'>Close</A><BR>"
|
|
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 = "<TT><B>Laser status monitor</B><HR>"
|
|
|
|
var/obj/machinery/engine/laser/laser = src.laser[1]
|
|
|
|
if(!laser)
|
|
t += "\red No laser found"
|
|
else
|
|
|
|
|
|
t += "Power level: <A href = '?src=\ref[src];input=-4'>-</A> <A href = '?src=\ref[src];input=-3'>-</A> <A href = '?src=\ref[src];input=-2'>-</A> <A href = '?src=\ref[src];input=-1'>-</A> [add_lspace(laser.power,5)] <A href = '?src=\ref[src];input=1'>+</A> <A href = '?src=\ref[src];input=2'>+</A> <A href = '?src=\ref[src];input=3'>+</A> <A href = '?src=\ref[src];input=4'>+</A><BR>"
|
|
if(advanced)
|
|
t += "Frequency: <A href = '?src=\ref[src];freq=-10000'>-</A> <A href = '?src=\ref[src];freq=-1000'>-</A> [add_lspace(laser.freq,5)] <A href = '?src=\ref[src];freq=1000'>+</A> <A href = '?src=\ref[src];freq=10000'>+</A><BR>"
|
|
|
|
t += "Output: [laser.on ? "<B>Online</B> <A href = '?src=\ref[src];online=1'>Offline</A>" : "<A href = '?src=\ref[src];online=1'>Online</A> <B>Offline</B> "]<BR>"
|
|
|
|
t += "<BR><HR><A href='?src=\ref[src];close=1'>Close</A></TT>"
|
|
|
|
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
|
|
*/
|