mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-13 10:23:15 +00:00
44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
/datum/wires/particle_accelerator/control_box
|
|
holder_type = /obj/machinery/particle_accelerator/control_box
|
|
|
|
/datum/wires/particle_accelerator/control_box/New(atom/holder)
|
|
wires = list(
|
|
WIRE_POWER, WIRE_STRENGTH, WIRE_LIMIT,
|
|
WIRE_INTERFACE
|
|
)
|
|
add_duds(2)
|
|
..()
|
|
|
|
/datum/wires/particle_accelerator/control_box/interactable(mob/user)
|
|
var/obj/machinery/particle_accelerator/control_box/C = holder
|
|
if(C.construction_state == 2)
|
|
return TRUE
|
|
|
|
/datum/wires/particle_accelerator/control_box/on_pulse(wire)
|
|
var/obj/machinery/particle_accelerator/control_box/C = holder
|
|
switch(wire)
|
|
if(WIRE_POWER)
|
|
C.toggle_power()
|
|
if(WIRE_STRENGTH)
|
|
C.add_strength()
|
|
if(WIRE_INTERFACE)
|
|
C.interface_control = !C.interface_control
|
|
if(WIRE_LIMIT)
|
|
C.visible_message("\icon[C]<b>[C]</b> makes a large whirring noise.")
|
|
|
|
/datum/wires/particle_accelerator/control_box/on_cut(wire, mend)
|
|
var/obj/machinery/particle_accelerator/control_box/C = holder
|
|
switch(wire)
|
|
if(WIRE_POWER)
|
|
if(C.active == !mend)
|
|
C.toggle_power()
|
|
if(WIRE_STRENGTH)
|
|
for(var/i = 1; i < 3; i++)
|
|
C.remove_strength()
|
|
if(WIRE_INTERFACE)
|
|
if(!mend)
|
|
C.interface_control = FALSE
|
|
if(WIRE_LIMIT)
|
|
C.strength_upper_limit = (mend ? 2 : 3)
|
|
if(C.strength_upper_limit < C.strength)
|
|
C.remove_strength() |