Yet More Moody Lights (#35689)

* wip

* more moody lights

* woops

* green screen
This commit is contained in:
DeityLink
2024-01-05 10:44:24 +01:00
committed by GitHub
parent 4e37b2affa
commit dcc5034f9e
21 changed files with 62 additions and 5 deletions

View File

@@ -188,10 +188,13 @@
if(on) if(on)
if(alert) if(alert)
icon_state = "airlock_sensor_alert" icon_state = "airlock_sensor_alert"
update_moody_light('icons/lighting/special.dmi', "overlay_airlock_sensor_alert")
else else
icon_state = "airlock_sensor_standby" icon_state = "airlock_sensor_standby"
update_moody_light('icons/lighting/special.dmi', "overlay_airlock_sensor_standby")
else else
icon_state = "airlock_sensor_off" icon_state = "airlock_sensor_off"
kill_moody_light()
/obj/machinery/airlock_sensor/attack_hand(mob/user) /obj/machinery/airlock_sensor/attack_hand(mob/user)
if(..()) if(..())
@@ -203,6 +206,9 @@
playsound(src,'sound/misc/click.ogg',30,0,-1) playsound(src,'sound/misc/click.ogg',30,0,-1)
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK) radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
flick("airlock_sensor_cycle", src) flick("airlock_sensor_cycle", src)
update_moody_light('icons/lighting/special.dmi', "overlay_airlock_sensor_cycle")
spawn(10)
update_moody_light('icons/lighting/special.dmi', "overlay_[icon_state]")
/obj/machinery/airlock_sensor/process() /obj/machinery/airlock_sensor/process()
if(on) if(on)
@@ -261,6 +267,7 @@
//build=0 //build=0
//stat |= MAINT //stat |= MAINT
//src.update_icon() //src.update_icon()
update_icon()
/obj/machinery/airlock_sensor/multitool_menu(var/mob/user,var/obj/item/device/multitool/P) /obj/machinery/airlock_sensor/multitool_menu(var/mob/user,var/obj/item/device/multitool/P)
return {" return {"
@@ -346,13 +353,16 @@
//build=0 //build=0
//stat |= MAINT //stat |= MAINT
//src.update_icon() //src.update_icon()
update_icon()
/obj/machinery/access_button/update_icon() /obj/machinery/access_button/update_icon()
if(on) if(on)
icon_state = "access_button_standby" icon_state = "access_button_standby"
update_moody_light('icons/lighting/special.dmi', "overlay_button_standby")
else else
icon_state = "access_button_off" icon_state = "access_button_off"
kill_moody_light()
/obj/machinery/access_button/attack_hand(mob/user) /obj/machinery/access_button/attack_hand(mob/user)
@@ -370,6 +380,10 @@
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = customfilter) radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = customfilter)
flick("access_button_cycle", src) flick("access_button_cycle", src)
update_moody_light('icons/lighting/special.dmi', "overlay_button_cycle")
spawn(10)
update_moody_light('icons/lighting/special.dmi', "overlay_button_standby")
/obj/machinery/access_button/attackby(var/obj/item/W, var/mob/user) /obj/machinery/access_button/attackby(var/obj/item/W, var/mob/user)

View File

@@ -112,6 +112,8 @@
if(stat & (BROKEN | NOPOWER | FORCEDISABLE)) if(stat & (BROKEN | NOPOWER | FORCEDISABLE))
return return
update_moody_light('icons/lighting/special.dmi', moody_state)
if (occupant) if (occupant)
switch (occupant.stat) switch (occupant.stat)
if (0) if (0)

View File

@@ -3,6 +3,7 @@
desc = "Does not support pinball." desc = "Does not support pinball."
icon = 'icons/obj/computer.dmi' icon = 'icons/obj/computer.dmi'
icon_state = "arcade" icon_state = "arcade"
moody_state = "overlay_arcade"
circuit = "/obj/item/weapon/circuitboard/arcade" circuit = "/obj/item/weapon/circuitboard/arcade"
var/datum/arcade_game/game var/datum/arcade_game/game
machine_flags = EMAGGABLE | SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK machine_flags = EMAGGABLE | SCREWTOGGLE | CROWDESTROY | WRENCHMOVE | FIXED2WORK

View File

@@ -305,12 +305,14 @@ var/list/obj/machinery/camera/cyborg_cams = list(
/obj/machinery/computer/security/telescreen/entertainment/wooden_tv /obj/machinery/computer/security/telescreen/entertainment/wooden_tv
icon_state = "security_det" icon_state = "security_det"
moody_state = "overlay_security_det"
icon = 'icons/obj/computer.dmi' icon = 'icons/obj/computer.dmi'
/obj/machinery/computer/security/wooden_tv /obj/machinery/computer/security/wooden_tv
name = "Security Cameras" name = "Security Cameras"
desc = "An old TV hooked into the stations camera network." desc = "An old TV hooked into the stations camera network."
icon_state = "security_det" icon_state = "security_det"
moody_state = "overlay_security_det"
circuit = /obj/item/weapon/circuitboard/security/wooden_tv circuit = /obj/item/weapon/circuitboard/security/wooden_tv
light_color = null light_color = null
pass_flags = PASSTABLE pass_flags = PASSTABLE

View File

@@ -5,6 +5,7 @@ var/list/climatecomps = list()
desc = "A computer designed to report on the weather conditions nearby." desc = "A computer designed to report on the weather conditions nearby."
icon = 'icons/obj/computer.dmi' icon = 'icons/obj/computer.dmi'
icon_state = "climate" icon_state = "climate"
moody_state = "overlay_climate-wall"
light_color = LIGHT_COLOR_CYAN light_color = LIGHT_COLOR_CYAN
circuit = "/obj/item/weapon/circuitboard/labor" circuit = "/obj/item/weapon/circuitboard/labor"

View File

@@ -17,6 +17,7 @@
use_auto_lights = 1 use_auto_lights = 1
light_power_on = 1 light_power_on = 1
light_range_on = 3 light_range_on = 3
var/moody_state = "overlay_computer"
/obj/machinery/computer/cultify() /obj/machinery/computer/cultify()
new /obj/structure/cult_legacy/tome(loc) new /obj/structure/cult_legacy/tome(loc)
@@ -28,6 +29,8 @@
if(!(computer_flags & NO_ONOFF_ANIMS)) if(!(computer_flags & NO_ONOFF_ANIMS))
anim(target = src, a_icon = 'icons/obj/computer.dmi', flick_anim = on_flick) anim(target = src, a_icon = 'icons/obj/computer.dmi', flick_anim = on_flick)
initialize() initialize()
if (icon_state == "old")
moody_state = "overlay_computer_old"//I hate doing that but a bunch of computers got varedited in maps so this covers them
/obj/machinery/computer/Cross(atom/movable/mover, turf/target, height=1.5, air_group = 0) /obj/machinery/computer/Cross(atom/movable/mover, turf/target, height=1.5, air_group = 0)
if(istype(mover) && mover.checkpass(pass_flags_self)) if(istype(mover) && mover.checkpass(pass_flags_self))
@@ -101,18 +104,21 @@
// Broken // Broken
if(stat & BROKEN) if(stat & BROKEN)
icon_state = "[initial(icon_state)]b" icon_state = "[initial(icon_state)]b"
update_moody_light('icons/lighting/special.dmi', moody_state)
// Unpowered/Disabled // Unpowered/Disabled
else if(stat & (FORCEDISABLE|NOPOWER)) else if(stat & (FORCEDISABLE|NOPOWER))
if(icon_state != "[initial(icon_state)]0" && !(computer_flags & NO_ONOFF_ANIMS)) if(icon_state != "[initial(icon_state)]0" && !(computer_flags & NO_ONOFF_ANIMS))
anim(target = src, a_icon = 'icons/obj/computer.dmi', flick_anim = off_flick) anim(target = src, a_icon = 'icons/obj/computer.dmi', flick_anim = off_flick)
icon_state = "[initial(icon_state)]0" icon_state = "[initial(icon_state)]0"
kill_moody_light()
// Functional // Functional
else else
if(icon_state == "[initial(icon_state)]0" && !(computer_flags & NO_ONOFF_ANIMS)) if(icon_state == "[initial(icon_state)]0" && !(computer_flags & NO_ONOFF_ANIMS))
anim(target = src, a_icon = 'icons/obj/computer.dmi', flick_anim = on_flick) anim(target = src, a_icon = 'icons/obj/computer.dmi', flick_anim = on_flick)
icon_state = initial(icon_state) icon_state = initial(icon_state)
update_moody_light('icons/lighting/special.dmi', moody_state)
/obj/machinery/computer/power_change(var/nodelay = 0) /obj/machinery/computer/power_change(var/nodelay = 0)

View File

@@ -595,6 +595,7 @@
name = "Medical Laptop" name = "Medical Laptop"
desc = "A cheap laptop connected to the medical records." desc = "A cheap laptop connected to the medical records."
icon_state = "medlaptop" icon_state = "medlaptop"
moody_state = "overlay_laptop"
pass_flags = PASSTABLE pass_flags = PASSTABLE
machine_flags = 0 machine_flags = 0

View File

@@ -2,6 +2,7 @@
name = "\improper PDA Terminal" name = "\improper PDA Terminal"
desc = "It can be used to download Apps on your PDA." desc = "It can be used to download Apps on your PDA."
icon_state = "pdaterm" icon_state = "pdaterm"
moody_state = "overlay_pdaterm"
circuit = "/obj/item/weapon/circuitboard/pda_terminal" circuit = "/obj/item/weapon/circuitboard/pda_terminal"
light_color = LIGHT_COLOR_ORANGE light_color = LIGHT_COLOR_ORANGE

View File

@@ -582,6 +582,7 @@ What a mess.*/
/obj/machinery/computer/secure_data/detective_computer /obj/machinery/computer/secure_data/detective_computer
icon = 'icons/obj/computer.dmi' icon = 'icons/obj/computer.dmi'
icon_state = "messyfiles" icon_state = "messyfiles"
moody_state = "overlay_messyfiles"
light_color = null light_color = null
computer_flags = NO_ONOFF_ANIMS computer_flags = NO_ONOFF_ANIMS

View File

@@ -75,11 +75,15 @@
if(!allowed(user) && (wires & 1)) if(!allowed(user) && (wires & 1))
to_chat(user, "<span class='warning'>Access Denied.</span>") to_chat(user, "<span class='warning'>Access Denied.</span>")
update_moody_light('icons/lighting/special.dmi', "overlay_doorctrl-denied")
flick("doorctrl-denied",src) flick("doorctrl-denied",src)
spawn(5)
update_moody_light('icons/lighting/special.dmi', "overlay_doorctrl1")
return return
use_power(5) use_power(5)
icon_state = "doorctrl1" icon_state = "doorctrl1"
update_moody_light('icons/lighting/special.dmi', "overlay_doorctrl1")
add_fingerprint(user) add_fingerprint(user)
if(normaldoorcontrol) if(normaldoorcontrol)
@@ -116,13 +120,16 @@
spawn(15) spawn(15)
if(!(stat & (FORCEDISABLE|NOPOWER))) if(!(stat & (FORCEDISABLE|NOPOWER)))
icon_state = "doorctrl0" icon_state = "doorctrl0"
update_moody_light('icons/lighting/special.dmi', "overlay_doorctrl0")
/obj/machinery/door_control/power_change() /obj/machinery/door_control/power_change()
..() ..()
if(stat & (FORCEDISABLE|NOPOWER)) if(stat & (FORCEDISABLE|NOPOWER))
icon_state = "doorctrl-p" icon_state = "doorctrl-p"
kill_moody_light()
else else
icon_state = "doorctrl0" icon_state = "doorctrl0"
update_moody_light('icons/lighting/special.dmi', "overlay_doorctrl0")
/obj/machinery/door_control/npc_tamper_act(mob/living/L) /obj/machinery/door_control/npc_tamper_act(mob/living/L)
attack_hand(L) attack_hand(L)

View File

@@ -372,10 +372,13 @@
if(on && program) if(on && program)
if(program.memory["processing"]) if(program.memory["processing"])
icon_state = "access_control_process" icon_state = "access_control_process"
update_moody_light('icons/lighting/special.dmi', "overlay_control_process")
else else
icon_state = "access_control_standby" icon_state = "access_control_standby"
update_moody_light('icons/lighting/special.dmi', "overlay_control_standby")
else else
icon_state = "access_control_off" icon_state = "access_control_off"
kill_moody_light()
/obj/machinery/embedded_controller/radio/access_controller/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open=NANOUI_FOCUS) /obj/machinery/embedded_controller/radio/access_controller/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open=NANOUI_FOCUS)
if(!program)//we need to initialize the controller to get a program if(!program)//we need to initialize the controller to get a program

View File

@@ -28,7 +28,7 @@
build=0 build=0
stat |= MAINT stat |= MAINT
src.update_icon() update_icon()
/obj/machinery/embedded_controller/attackby(var/obj/item/W as obj, var/mob/user as mob) /obj/machinery/embedded_controller/attackby(var/obj/item/W as obj, var/mob/user as mob)
. = ..() . = ..()
@@ -196,10 +196,13 @@
if(on && program) if(on && program)
if(program.memory["processing"]) if(program.memory["processing"])
icon_state = "airlock_control_process" icon_state = "airlock_control_process"
update_moody_light('icons/lighting/special.dmi', "overlay_control_process")
else else
icon_state = "airlock_control_standby" icon_state = "airlock_control_standby"
update_moody_light('icons/lighting/special.dmi', "overlay_control_standby")
else else
icon_state = "airlock_control_off" icon_state = "airlock_control_off"
kill_moody_light()
/obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal) /obj/machinery/embedded_controller/radio/post_signal(datum/signal/signal)
signal.transmission_method = TRANSMISSION_RADIO signal.transmission_method = TRANSMISSION_RADIO

View File

@@ -4,6 +4,7 @@
condi = 1 condi = 1
icon_state = "snackbar" icon_state = "snackbar"
chem_board = /obj/item/weapon/circuitboard/snackbar_machine chem_board = /obj/item/weapon/circuitboard/snackbar_machine
light_color = LIGHT_COLOR_GREEN
windowtype = "snackbar_machine" windowtype = "snackbar_machine"
/obj/machinery/chem_master/snackbar_machine/Topic(href, href_list) /obj/machinery/chem_master/snackbar_machine/Topic(href, href_list)

View File

@@ -55,6 +55,7 @@ var/list/obj/machinery/requests_console/requests_consoles = list()
var/priority = -1 ; //Priority of the message being sent var/priority = -1 ; //Priority of the message being sent
var/announceSound = 'sound/vox/_bloop.wav' var/announceSound = 'sound/vox/_bloop.wav'
luminosity = 0 luminosity = 0
use_auto_lights = 1
/obj/machinery/requests_console/power_change() /obj/machinery/requests_console/power_change()
..() ..()

View File

@@ -149,6 +149,10 @@
icon_state="intercom-frame" icon_state="intercom-frame"
return return
icon_state = "intercom[!on?"-p":""][b_stat ? "-open":""]" icon_state = "intercom[!on?"-p":""][b_stat ? "-open":""]"
if (on)
update_moody_light('icons/lighting/special.dmi', "overlay_intercom")
else
kill_moody_light()
/obj/item/device/radio/intercom/process() /obj/item/device/radio/intercom/process()
if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0)) if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0))

View File

@@ -245,6 +245,7 @@
linked_pod?.crashing_this_pod = FALSE linked_pod?.crashing_this_pod = FALSE
/obj/machinery/podcomputer/update_icon() /obj/machinery/podcomputer/update_icon()
update_moody_light('icons/lighting/special.dmi', "overlay_podcomputer")
if(panel_open) if(panel_open)
icon_state = "podcomputer_maint" icon_state = "podcomputer_maint"
else if(emergency_shuttle.online) else if(emergency_shuttle.online)

View File

@@ -6,6 +6,7 @@
name = "remote gallery computer" name = "remote gallery computer"
icon = 'icons/obj/computer.dmi' icon = 'icons/obj/computer.dmi'
icon_state = "artcomp" icon_state = "artcomp"
moody_state = "overlay_artcomp"
anchored = 1 anchored = 1
density = 1 density = 1
req_access = list(access_library) //This access requirement is currently only used for the delete button showing req_access = list(access_library) //This access requirement is currently only used for the delete button showing

View File

@@ -129,8 +129,10 @@
/obj/machinery/media/receiver/boombox/wallmount/update_icon() /obj/machinery/media/receiver/boombox/wallmount/update_icon()
if(buildstage==SYSTEMISDONE && on) if(buildstage==SYSTEMISDONE && on)
icon_state="wallradio-p" icon_state="wallradio-p"
update_moody_light('icons/lighting/special.dmi', "overlay_wallradio")
else else
icon_state="wallradio" icon_state="wallradio"
kill_moody_light()
/obj/machinery/media/receiver/boombox/wallmount/attack_hand(var/mob/user) /obj/machinery/media/receiver/boombox/wallmount/attack_hand(var/mob/user)
if(buildstage<SYSTEMISDONE) if(buildstage<SYSTEMISDONE)

View File

@@ -776,10 +776,14 @@ var/global/list/pillIcon2Name = list("oblong purple-pink", "oblong green-white",
container.update_icon() //Forcefully update the beaker container.update_icon() //Forcefully update the beaker
overlays += container //Set it as an overlay overlays += container //Set it as an overlay
if(reagents.total_volume && !(stat & (FORCEDISABLE|BROKEN|NOPOWER))) //If we have reagents in here, and the machine is powered and functional if(!(stat & (FORCEDISABLE|BROKEN|NOPOWER))) //If we have reagents in here, and the machine is powered and functional
var/image/overlay = image('icons/obj/chemical.dmi', src, "mixer_overlay") if (reagents.total_volume)
overlay.icon += mix_color_from_reagents(reagents.reagent_list) var/image/overlay = image('icons/obj/chemical.dmi', src, "mixer_overlay")
overlays += overlay overlay.icon += mix_color_from_reagents(reagents.reagent_list)
overlays += overlay
update_moody_light('icons/lighting/special.dmi', "overlay_chem_master")
else
kill_moody_light()
var/image/mixer_prongs = image('icons/obj/chemical.dmi', src, "mixer_prongs") var/image/mixer_prongs = image('icons/obj/chemical.dmi', src, "mixer_prongs")
overlays += mixer_prongs //Add prongs on top of all of this overlays += mixer_prongs //Add prongs on top of all of this

View File

@@ -58,6 +58,7 @@ var/anomaly_report_num = 0
/obj/machinery/artifact_analyser/update_icon() /obj/machinery/artifact_analyser/update_icon()
icon_state = "[initial(icon_state)][scan_in_progress]" icon_state = "[initial(icon_state)][scan_in_progress]"
update_moody_light('icons/lighting/special.dmi', "overlay_xenoarch_console")
if(owned_scanner) if(owned_scanner)
owned_scanner.update_icon() owned_scanner.update_icon()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB