mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 15:39:57 +01:00
A much-less "Honey, I Overhauled The Horizon" remap of Service which brings the Bar and Kitchen closer together, while also opening up the Service part of the ship so that it's less of a dead end hallway and more of someplace where crew can hang out. The bar remains its own room, but shutters and dividers between the bar and the kitchen allow for easier cooperation between the two sides. idk how to put it on the changelog but major props and credit to Hazelrat for helping with hydroponics, decor, and details on this rework, couldn't have done it alone --------- Co-authored-by: Hazelrat <ric.whe.don@gmail.com>
116 lines
3.0 KiB
Plaintext
116 lines
3.0 KiB
Plaintext
////////////////////HOLOSIGN///////////////////////////////////////
|
|
/obj/structure/machinery/holosign
|
|
name = "holosign"
|
|
desc = "Small wall-mounted holographic projector"
|
|
icon = 'icons/obj/holosign.dmi'
|
|
icon_state = "sign_off"
|
|
layer = ABOVE_DOOR_LAYER
|
|
idle_power_usage = 2
|
|
active_power_usage = 4
|
|
anchored = 1
|
|
var/lit = 0
|
|
var/id = null
|
|
var/on_icon = "sign_on"
|
|
var/_wifi_id
|
|
var/datum/wifi/receiver/button/holosign/wifi_receiver
|
|
|
|
/obj/structure/machinery/holosign/Initialize()
|
|
. = ..()
|
|
if(_wifi_id)
|
|
wifi_receiver = new(_wifi_id, src)
|
|
|
|
/obj/structure/machinery/holosign/Destroy()
|
|
qdel(wifi_receiver)
|
|
wifi_receiver = null
|
|
return ..()
|
|
|
|
/obj/structure/machinery/holosign/proc/toggle()
|
|
if (stat & (BROKEN|NOPOWER))
|
|
return
|
|
lit = !lit
|
|
update_use_power(lit ? POWER_USE_ACTIVE : POWER_USE_IDLE)
|
|
update_icon()
|
|
|
|
/obj/structure/machinery/holosign/update_icon()
|
|
if (!lit)
|
|
icon_state = "sign_off"
|
|
else
|
|
icon_state = on_icon
|
|
|
|
/obj/structure/machinery/holosign/power_change()
|
|
..()
|
|
if (stat & NOPOWER)
|
|
lit = 0
|
|
update_use_power(POWER_USE_OFF)
|
|
update_icon()
|
|
|
|
/obj/structure/machinery/holosign/surgery
|
|
name = "surgery holosign"
|
|
desc = "Small wall-mounted holographic projector. This one reads SURGERY."
|
|
on_icon = "surgery"
|
|
|
|
/obj/structure/machinery/holosign/service
|
|
name = "service holosign"
|
|
on_icon = "serviceopen"
|
|
desc = "A small wall-mounted holographic projector. This one reads OPEN."
|
|
|
|
/obj/structure/machinery/holosign/service/update_icon()
|
|
if(!lit)
|
|
icon_state = "serviceclosed"
|
|
else
|
|
icon_state = on_icon
|
|
|
|
/obj/structure/machinery/holosign/service/bar
|
|
name = "bar holosign"
|
|
on_icon = "bar_open"
|
|
desc = "A small, wall-mounted holographic projector which indicates that the bar is open."
|
|
|
|
/obj/structure/machinery/holosign/service/bar/update_icon()
|
|
if(!lit)
|
|
icon_state = "serviceclosed"
|
|
else
|
|
icon_state = on_icon
|
|
|
|
/obj/structure/machinery/holosign/service/kitchen
|
|
name = "kitchen holosign"
|
|
on_icon = "kitchen_open"
|
|
desc = "A small, wall-mounted holographic projector which indicates that the kitchen is open."
|
|
|
|
/obj/structure/machinery/holosign/service/kitchen/update_icon()
|
|
if(!lit)
|
|
icon_state = "serviceclosed"
|
|
else
|
|
icon_state = on_icon
|
|
|
|
////////////////////SWITCH///////////////////////////////////////
|
|
|
|
/obj/structure/machinery/button/switch/holosign
|
|
name = "holosign switch"
|
|
desc = "A remote control switch for a holosign."
|
|
icon_state = "light0"
|
|
var/list/datum/weakref/linked_signs
|
|
|
|
/obj/structure/machinery/button/switch/holosign/Initialize()
|
|
..()
|
|
return INITIALIZE_HINT_LATELOAD
|
|
|
|
/obj/structure/machinery/button/switch/holosign/LateInitialize()
|
|
. = ..()
|
|
for(var/obj/structure/machinery/holosign/H in SSmachinery.machinery)
|
|
if(H.id == id)
|
|
LAZYADD(linked_signs, WEAKREF(H))
|
|
|
|
/obj/structure/machinery/button/switch/holosign/attack_hand(mob/user as mob)
|
|
if(..())
|
|
return
|
|
add_fingerprint(user)
|
|
|
|
active = !active
|
|
update_icon()
|
|
for(var/datum/weakref/W in linked_signs)
|
|
var/obj/structure/machinery/holosign/H = W.resolve()
|
|
if(!isnull(H))
|
|
INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/structure/machinery/holosign, toggle))
|
|
|
|
return
|