mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Keeps the same "bold if changed" functionality added in recent QoL improvements, but replaces the one-datum-instance per hint per device with a two number vars per device.
50 lines
1.5 KiB
Plaintext
50 lines
1.5 KiB
Plaintext
/datum/wires/vending
|
|
holder_type = /obj/machinery/vending
|
|
wire_count = 4
|
|
|
|
var/const/VENDING_WIRE_THROW = 1
|
|
var/const/VENDING_WIRE_CONTRABAND = 2
|
|
var/const/VENDING_WIRE_ELECTRIFY = 4
|
|
var/const/VENDING_WIRE_IDSCAN = 8
|
|
|
|
/datum/wires/vending/CanUse(var/mob/living/L)
|
|
var/obj/machinery/vending/V = holder
|
|
if(V.panel_open)
|
|
return 1
|
|
return 0
|
|
|
|
/datum/wires/vending/GetInteractWindow()
|
|
var/obj/machinery/vending/V = holder
|
|
. += ..()
|
|
. += show_hint(0x1, V.seconds_electrified, "The orange light is off.", "The orange light is on.")
|
|
. += show_hint(0x2, V.shoot_inventory, "The red light is off.", "The red light is blinking.")
|
|
. += show_hint(0x4, V.categories & CAT_HIDDEN, "A green light is on.", "A green light is off.")
|
|
. += show_hint(0x8, V.scan_id, "A purple light is on.", "A yellow light is on.")
|
|
|
|
/datum/wires/vending/UpdatePulsed(var/index)
|
|
var/obj/machinery/vending/V = holder
|
|
switch(index)
|
|
if(VENDING_WIRE_THROW)
|
|
V.shoot_inventory = !V.shoot_inventory
|
|
if(VENDING_WIRE_CONTRABAND)
|
|
V.categories ^= CAT_HIDDEN
|
|
if(VENDING_WIRE_ELECTRIFY)
|
|
V.seconds_electrified = 30
|
|
if(VENDING_WIRE_IDSCAN)
|
|
V.scan_id = !V.scan_id
|
|
|
|
/datum/wires/vending/UpdateCut(var/index, var/mended)
|
|
var/obj/machinery/vending/V = holder
|
|
switch(index)
|
|
if(VENDING_WIRE_THROW)
|
|
V.shoot_inventory = !mended
|
|
if(VENDING_WIRE_CONTRABAND)
|
|
V.categories &= ~CAT_HIDDEN
|
|
if(VENDING_WIRE_ELECTRIFY)
|
|
if(mended)
|
|
V.seconds_electrified = 0
|
|
else
|
|
V.seconds_electrified = -1
|
|
if(VENDING_WIRE_IDSCAN)
|
|
V.scan_id = 1
|