mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-20 03:19:58 +01:00
* autolathe 1 * FUCK MY LIFE * more fixes * autolathe queueing * cl * garbage collection * wire fixes * some final tweaks * on second thought this might be annoying * fix that * whoopsies * that didn't work for shit --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
49 lines
1.1 KiB
Plaintext
49 lines
1.1 KiB
Plaintext
/datum/wires/radio
|
|
proper_name = "Radio"
|
|
holder_type = /obj/item/device/radio
|
|
|
|
/datum/wires/radio/New()
|
|
wires = list(
|
|
WIRE_SIGNAL,
|
|
WIRE_RECEIVE,
|
|
WIRE_TRANSMIT
|
|
)
|
|
add_duds(1)
|
|
..()
|
|
|
|
/datum/wires/radio/interactable(mob/user)
|
|
if(!..())
|
|
return FALSE
|
|
var/obj/item/device/radio/R = holder
|
|
if(R.b_stat)
|
|
return TRUE
|
|
return FALSE
|
|
|
|
/datum/wires/radio/on_pulse(wire)
|
|
var/obj/item/device/radio/R = holder
|
|
switch(wire)
|
|
if(WIRE_SIGNAL)
|
|
R.set_listening(!R.get_listening() && !is_cut(WIRE_RECEIVE))
|
|
R.set_broadcasting(R.get_listening() && !is_cut(WIRE_TRANSMIT))
|
|
|
|
if(WIRE_RECEIVE)
|
|
R.set_listening(!R.get_listening() && !is_cut(WIRE_SIGNAL))
|
|
|
|
if(WIRE_TRANSMIT)
|
|
R.set_broadcasting(!R.get_broadcasting() && !is_cut(WIRE_SIGNAL))
|
|
SSnanoui.update_uis(holder)
|
|
|
|
/datum/wires/radio/on_cut(wire, mend, source)
|
|
var/obj/item/device/radio/R = holder
|
|
switch(wire)
|
|
if(WIRE_SIGNAL)
|
|
R.set_listening(mend && !is_cut(WIRE_RECEIVE))
|
|
R.set_broadcasting(mend && !is_cut(WIRE_TRANSMIT))
|
|
|
|
if(WIRE_RECEIVE)
|
|
R.set_listening(mend && !is_cut(WIRE_SIGNAL))
|
|
|
|
if(WIRE_TRANSMIT)
|
|
R.set_broadcasting(mend && !is_cut(WIRE_SIGNAL))
|
|
SSnanoui.update_uis(holder)
|