mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-14 04:02:31 +00:00
68 lines
1.7 KiB
Plaintext
68 lines
1.7 KiB
Plaintext
var/list/gyrotrons = list()
|
|
|
|
/obj/machinery/power/emitter/gyrotron
|
|
name = "gyrotron"
|
|
icon = 'icons/obj/machines/power/fusion.dmi'
|
|
desc = "It is a heavy duty industrial gyrotron suited for powering fusion reactors."
|
|
icon_state = "emitter-off"
|
|
req_access = list(access_engine)
|
|
use_power = 1
|
|
active_power_usage = 50000
|
|
|
|
circuit = /obj/item/weapon/circuitboard/gyrotron
|
|
|
|
var/id_tag
|
|
var/rate = 3
|
|
var/mega_energy = 1
|
|
|
|
|
|
/obj/machinery/power/emitter/gyrotron/anchored
|
|
anchored = 1
|
|
state = 2
|
|
|
|
/obj/machinery/power/emitter/gyrotron/Initialize()
|
|
gyrotrons += src
|
|
active_power_usage = mega_energy * 50000
|
|
default_apply_parts()
|
|
. = ..()
|
|
|
|
/obj/machinery/power/emitter/gyrotron/Destroy()
|
|
gyrotrons -= src
|
|
return ..()
|
|
|
|
/obj/machinery/power/emitter/gyrotron/process()
|
|
active_power_usage = mega_energy * 50000
|
|
. = ..()
|
|
|
|
/obj/machinery/power/emitter/gyrotron/get_rand_burst_delay()
|
|
return rate * 10
|
|
|
|
/obj/machinery/power/emitter/gyrotron/get_burst_delay()
|
|
return rate * 10
|
|
|
|
/obj/machinery/power/emitter/gyrotron/get_emitter_beam()
|
|
var/obj/item/projectile/beam/emitter/E = ..()
|
|
E.damage = mega_energy * 50
|
|
return E
|
|
|
|
/obj/machinery/power/emitter/gyrotron/update_icon()
|
|
if (active && powernet && avail(active_power_usage))
|
|
icon_state = "emitter-on"
|
|
else
|
|
icon_state = "emitter-off"
|
|
|
|
/obj/machinery/power/emitter/gyrotron/attackby(var/obj/item/W, var/mob/user)
|
|
if(istype(W, /obj/item/device/multitool))
|
|
var/new_ident = input("Enter a new ident tag.", "Gyrotron", id_tag) as null|text
|
|
if(new_ident && user.Adjacent(src))
|
|
id_tag = new_ident
|
|
return
|
|
|
|
if(default_deconstruction_screwdriver(user, W))
|
|
return
|
|
if(default_deconstruction_crowbar(user, W))
|
|
return
|
|
if(default_part_replacement(user, W))
|
|
return
|
|
|
|
return ..() |