/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