From 1c14cf733bfe2fcb015144375aaee147aa351902 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Thu, 19 Aug 2021 01:19:24 +0100 Subject: [PATCH 1/2] Light delay V1 --- code/game/area/areas.dm | 4 +- code/game/machinery/lightswitch.dm | 1 + .../objects/items/devices/lightreplacer.dm | 21 +-- code/modules/power/apc.dm | 2 +- code/modules/power/lighting.dm | 130 +++++++++++------- sound/machines/light_on.ogg | Bin 0 -> 46877 bytes sound/machines/lightswitch.ogg | Bin 0 -> 27541 bytes 7 files changed, 94 insertions(+), 64 deletions(-) create mode 100644 sound/machines/light_on.ogg create mode 100644 sound/machines/lightswitch.ogg diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index b3ae451aa35..c9d650271e2 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -346,7 +346,7 @@ var/obj/machinery/firealarm/F = alarm F.update_fire_light(fire) for(var/obj/machinery/light/L in src) - L.update() + L.update(TRUE, TRUE, FALSE) /** * unset the fire alarm visual affects in an area @@ -360,7 +360,7 @@ var/obj/machinery/firealarm/F = alarm F.update_fire_light(fire) for(var/obj/machinery/light/L in src) - L.update() + L.update(TRUE, TRUE, FALSE) /area/proc/updateicon() var/weather_icon diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index ae3520af45b..8096f0655f0 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -77,6 +77,7 @@ /obj/machinery/light_switch/attack_hand(mob/user) on = !on + playsound(src, 'sound/machines/lightswitch.ogg', 10, TRUE) updateicon() if(light_connect) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 85e650412f6..de7b769957e 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -195,23 +195,16 @@ if(target.status != LIGHT_EMPTY) AddShards(1, U) target.status = LIGHT_EMPTY - target.update() - var/obj/item/light/L2 = new target.light_type() - - target.status = L2.status - target.switchcount = L2.switchcount + var/obj/item/light/replacement = target.light_type + target.status = LIGHT_OK + target.switchcount = 0 target.rigged = emagged - target.brightness_range = L2.brightness_range - target.brightness_power = L2.brightness_power - target.brightness_color = L2.brightness_color + target.brightness_range = initial(replacement.brightness_range) + target.brightness_power = initial(replacement.brightness_power) + target.brightness_color = initial(replacement.brightness_color) target.on = target.has_power() - target.update() - qdel(L2) - - if(target.on && target.rigged) - target.explode() - return + target.update(TRUE, TRUE, FALSE) else to_chat(U, "[src]'s refill light blinks red.") diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 49044665c08..ffb92c12cc4 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1355,7 +1355,7 @@ for(var/obj/machinery/light/L in area) if(L.nightshift_allowed) L.nightshift_enabled = nightshift_lights - L.update(FALSE) + L.update(FALSE, play_sound = FALSE) CHECK_TICK /obj/machinery/power/apc/proc/relock_callback() diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index e275b747814..9d9ffd4af19 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -8,6 +8,9 @@ #define LIGHT_BROKEN 2 #define LIGHT_BURNED 3 +#define LIGHT_ON_DELAY_LOWER 1 SECONDS +#define LIGHT_ON_DELAY_UPPER 3 SECONDS + /** * # Light fixture frame * @@ -173,6 +176,8 @@ power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list /// Is the light on or off? var/on = FALSE + /// Is the light currently turning on? + var/turning_on = FALSE /// If the light state has changed since the last 'update()', also update the power requirements var/power_state = FALSE /// How much power does it use? @@ -260,7 +265,7 @@ brightness_color = "#a0a080" if(prob(5)) break_light_tube(TRUE) - update(FALSE) + update(FALSE, TRUE, FALSE) /obj/machinery/light/Destroy() var/area/A = get_area(src) @@ -290,62 +295,86 @@ return /** - * Updates the light's properties + * Updates the light's 'on' state and power consumption based on [/obj/machinery/light/var/on]. * - * Updates the icon_state, luminosity, colour, and power usage of the light. - * Also handles rigged light bulbs exploding. * Arguments: - * * trigger - Should this update make the light explode/burn out? (Defaults to TRUE) + * * trigger - Should this update check if the light will explode/burn out. + * * instant - Will the lightbulb turn on instantly, or after a short delay. + * * play_sound - Will the lightbulb play a sound when it's turned on. */ -/obj/machinery/light/proc/update(trigger = TRUE) +/obj/machinery/light/proc/update(trigger = TRUE, instant = FALSE, play_sound = TRUE) switch(status) if(LIGHT_BROKEN, LIGHT_BURNED, LIGHT_EMPTY) on = FALSE - update_icon() - if(on) - var/BR = brightness_range - var/PO = brightness_power - var/CO = brightness_color - if(color) - CO = color - var/area/A = get_area(src) - if(A && A.fire) - CO = bulb_emergency_colour - else if(nightshift_enabled) - BR = nightshift_light_range - PO = nightshift_light_power - if(!color) - CO = nightshift_light_color - var/matching = light && BR == light.light_range && PO == light.light_power && CO == light.light_color - if(!matching) - switchcount++ - if(rigged) - if(status == LIGHT_OK && trigger) - log_admin("LOG: Rigged light explosion, last touched by [fingerprintslast]") - message_admins("LOG: Rigged light explosion, last touched by [fingerprintslast]") - explode() - // Whichever number is smallest gets set as the prob - // Each spook adds a 0.5% to 1% chance of burnout - else if(prob(min(40, switchcount / 10))) - if(status == LIGHT_OK && trigger) - burnout() - - else - use_power = ACTIVE_POWER_USE - set_light(BR, PO, CO) - else + if(on) // Turning on + if(instant) + _turn_on(trigger, play_sound) + else if(!turning_on) + turning_on = TRUE + addtimer(CALLBACK(src, .proc/_turn_on, trigger, play_sound), rand(LIGHT_ON_DELAY_LOWER, LIGHT_ON_DELAY_UPPER)) + else // Turning off use_power = IDLE_POWER_USE set_light(0) + update_icon() active_power_usage = (brightness_range * 10) if(on != power_state) // Light was turned on/off, so update the power usage power_state = on if(on) - static_power_used = brightness_range * 20 //20W per unit luminosity + static_power_used = brightness_range * 20 //20W per unit of luminosity addStaticPower(static_power_used, STATIC_LIGHT) else removeStaticPower(static_power_used, STATIC_LIGHT) +/** + * The actual proc to turn on the lightbulb. + * + * Do not call directly, use [/obj/machinery/light/proc/update] instead. + * + * Sets the light power, range, and colour based on environmental conditions such as night shift and fire alarms. + * Also handles light bulbs burning out and exploding if `trigger` is `TRUE`. + */ +/obj/machinery/light/proc/_turn_on(trigger, play_sound = TRUE) + if(QDELETED(src)) + return + turning_on = FALSE + if(!on) + return + var/BR = brightness_range + var/PO = brightness_power + var/CO = brightness_color + if(color) + CO = color + var/area/A = get_area(src) + if(A?.fire) + CO = bulb_emergency_colour + else if(nightshift_enabled) + BR = nightshift_light_range + PO = nightshift_light_power + if(!color) + CO = nightshift_light_color + if(light && (BR == light.light_range) && (PO == light.light_power) && (CO == light.light_color)) + return // Nothing's changed here + + switchcount++ + update_icon() + if(trigger && (status == LIGHT_OK)) + if(rigged) + log_admin("LOG: Rigged light explosion, last touched by [fingerprintslast].") + message_admins("LOG: Rigged light explosion, last touched by [fingerprintslast].") + explode() + return + // Whichever number is smallest gets set as the prob + // Each spook adds a 0.5% to 1% chance of burnout + else if(prob(min(40, switchcount / 10))) + burnout() + return + + use_power = ACTIVE_POWER_USE + set_light(BR, PO, CO) + if(play_sound) + playsound(src, 'sound/machines/light_on.ogg', 60, TRUE) + /obj/machinery/light/proc/burnout() status = LIGHT_BURNED icon_state = "[base_state]-burned" @@ -404,7 +433,7 @@ brightness_color = L.brightness_color lightmaterials = L.materials on = has_power() - update() + update(TRUE, TRUE, FALSE) user.drop_item() //drop the item to update overlays and such qdel(L) @@ -538,13 +567,13 @@ if(status != LIGHT_OK) break on = FALSE - update(FALSE) + update(FALSE, TRUE, FALSE) sleep(rand(1, 3)) on = (status == LIGHT_OK) - update(FALSE) + update(FALSE, TRUE, FALSE) sleep(rand(1, 10)) on = (status == LIGHT_OK) - update(FALSE) + update(FALSE, TRUE, FALSE) flickering = FALSE @@ -620,7 +649,7 @@ user.put_in_active_hand(L) status = LIGHT_EMPTY - update(FALSE) + update() return L /obj/machinery/light/attack_tk(mob/user) @@ -649,8 +678,8 @@ if(status == LIGHT_OK) return status = LIGHT_OK - on = 1 - update() + on = TRUE + update(FALSE, TRUE, FALSE) /obj/machinery/light/zap_act(power, zap_flags) var/explosive = zap_flags & ZAP_MACHINE_EXPLOSIVE @@ -856,3 +885,10 @@ on = FALSE visible_message("[src] flickers and falls dark.") update(FALSE) + +#undef LIGHT_OK +#undef LIGHT_EMPTY +#undef LIGHT_BROKEN +#undef LIGHT_BURNED +#undef LIGHT_ON_DELAY_LOWER +#undef LIGHT_ON_DELAY_UPPER diff --git a/sound/machines/light_on.ogg b/sound/machines/light_on.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2442739a0409249b2a3dc8722e4e60b2ab604b2d GIT binary patch literal 46877 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 XZ#lA<-oV|d(JkG*EB~*BD)4^+ce@z= literal 0 HcmV?d00001 diff --git a/sound/machines/lightswitch.ogg b/sound/machines/lightswitch.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e91a6c3030c04fd5988ee7baaeb9272c3646b8a1 GIT binary patch literal 27541 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 E0QprO%>V!Z literal 0 HcmV?d00001 From 3d114d0e4ecd809dc7aed2f2e5acba508a71bacb Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Thu, 19 Aug 2021 14:14:42 +0100 Subject: [PATCH 2/2] Privatisation Still possible to call this improperly, but a lot harder. --- code/modules/power/lighting.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 9d9ffd4af19..cb605bf2beb 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -329,12 +329,13 @@ /** * The actual proc to turn on the lightbulb. * - * Do not call directly, use [/obj/machinery/light/proc/update] instead. + * Private proc, do not call directly. Use [/obj/machinery/light/proc/update] instead. * * Sets the light power, range, and colour based on environmental conditions such as night shift and fire alarms. * Also handles light bulbs burning out and exploding if `trigger` is `TRUE`. */ /obj/machinery/light/proc/_turn_on(trigger, play_sound = TRUE) + PRIVATE_PROC(TRUE) if(QDELETED(src)) return turning_on = FALSE