mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-31 20:53:34 +00:00
53 lines
1.3 KiB
Plaintext
53 lines
1.3 KiB
Plaintext
/datum/wires/radio
|
|
holder_type = /obj/item/radio
|
|
wire_count = 3
|
|
|
|
#define RADIO_WIRE_SIGNAL 1
|
|
#define RADIO_WIRE_RECEIVE 2
|
|
#define RADIO_WIRE_TRANSMIT 4
|
|
|
|
/datum/wires/radio/GetWireName(index)
|
|
switch(index)
|
|
if(RADIO_WIRE_SIGNAL)
|
|
return "Signal"
|
|
|
|
if(RADIO_WIRE_RECEIVE)
|
|
return "Receiver"
|
|
|
|
if(RADIO_WIRE_TRANSMIT)
|
|
return "Transmitter"
|
|
|
|
/datum/wires/radio/CanUse(mob/living/L)
|
|
var/obj/item/radio/R = holder
|
|
if(R.b_stat)
|
|
return 1
|
|
return 0
|
|
|
|
/datum/wires/radio/UpdatePulsed(index)
|
|
var/obj/item/radio/R = holder
|
|
switch(index)
|
|
if(RADIO_WIRE_SIGNAL)
|
|
R.listening = !R.listening && !IsIndexCut(RADIO_WIRE_RECEIVE)
|
|
R.broadcasting = R.listening && !IsIndexCut(RADIO_WIRE_TRANSMIT)
|
|
|
|
if(RADIO_WIRE_RECEIVE)
|
|
R.listening = !R.listening && !IsIndexCut(RADIO_WIRE_SIGNAL)
|
|
|
|
if(RADIO_WIRE_TRANSMIT)
|
|
R.broadcasting = !R.broadcasting && !IsIndexCut(RADIO_WIRE_SIGNAL)
|
|
..()
|
|
|
|
/datum/wires/radio/UpdateCut(index, mended)
|
|
var/obj/item/radio/R = holder
|
|
switch(index)
|
|
if(RADIO_WIRE_SIGNAL)
|
|
R.listening = mended && !IsIndexCut(RADIO_WIRE_RECEIVE)
|
|
R.broadcasting = mended && !IsIndexCut(RADIO_WIRE_TRANSMIT)
|
|
|
|
if(RADIO_WIRE_RECEIVE)
|
|
R.listening = mended && !IsIndexCut(RADIO_WIRE_SIGNAL)
|
|
|
|
if(RADIO_WIRE_TRANSMIT)
|
|
R.broadcasting = mended && !IsIndexCut(RADIO_WIRE_SIGNAL)
|
|
..()
|