From 3eda7b5ba68962e431c72b49b18bdf82d379d9bf Mon Sep 17 00:00:00 2001 From: Casey Date: Sun, 3 Jul 2022 19:55:43 -0400 Subject: [PATCH 1/2] That nice glow --- code/modules/power/lighting.dm | 38 ++++++++++---- code/modules/power/lighting_vr.dm | 84 ++++++++++++++++++++++++++++++ icons/obj/lighting32x64.dmi | Bin 3078 -> 3137 bytes 3 files changed, 113 insertions(+), 9 deletions(-) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 2a79ddb08a..621ee7484f 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -75,7 +75,7 @@ var/global/list/light_type_cache = list() /obj/machinery/light_construct/attack_hand(mob/user) . = ..() - if(.) + if(.) return . // obj/machinery/attack_hand returns 1 if user can't use the machine if(cell) user.visible_message("[user] removes [cell] from [src]!","You remove [cell].") @@ -251,6 +251,9 @@ var/global/list/light_type_cache = list() var/brightness_power_ns var/brightness_color_ns + var/overlay_color = LIGHT_COLOR_INCANDESCENT_TUBE + + /obj/machinery/light/flicker auto_flicker = TRUE @@ -266,6 +269,7 @@ var/global/list/light_type_cache = list() light_type = /obj/item/weapon/light/bulb construct_type = /obj/machinery/light_construct/small shows_alerts = FALSE //VOREStation Edit + overlay_color = LIGHT_COLOR_INCANDESCENT_BULB /obj/machinery/light/small/flicker auto_flicker = TRUE @@ -287,6 +291,7 @@ var/global/list/light_type_cache = list() construct_type = /obj/machinery/light_construct/flamp shows_alerts = FALSE //VOREStation Edit var/lamp_shade = 1 + overlay_color = LIGHT_COLOR_INCANDESCENT_BULB /obj/machinery/light/flamp/Initialize(mapload, obj/machinery/light_construct/construct = null) . = ..() @@ -294,10 +299,10 @@ var/global/list/light_type_cache = list() start_with_cell = FALSE lamp_shade = 0 update_icon() - else + else if(start_with_cell && !no_emergency) cell = new/obj/item/weapon/cell/emergency_light(src) - + /obj/machinery/light/flamp/flicker auto_flicker = TRUE @@ -364,18 +369,26 @@ var/global/list/light_type_cache = list() //VOREStation Edit Start if(shows_alerts && current_alert && on) icon_state = "[base_state]-alert-[current_alert]" + add_light_overlay(FALSE, icon_state) else icon_state = "[base_state][on]" + if(on) + add_light_overlay() + else + remove_light_overlay() //VOREStation Edit End if(LIGHT_EMPTY) icon_state = "[base_state]-empty" on = 0 + remove_light_overlay() //VOREStation add if(LIGHT_BURNED) icon_state = "[base_state]-burned" on = 0 + remove_light_overlay() //VOREStation add if(LIGHT_BROKEN) icon_state = "[base_state]-broken" on = 0 + remove_light_overlay() //VOREStation add return /obj/machinery/light/flamp/update_icon() @@ -384,15 +397,22 @@ var/global/list/light_type_cache = list() switch(status) // set icon_states if(LIGHT_OK) icon_state = "[base_state][on]" + if(on) //VOREStation add + add_light_overlay() //VOREStation add + else //VOREStation add + remove_light_overlay() //VOREStation add if(LIGHT_EMPTY) on = 0 icon_state = "[base_state][on]" + remove_light_overlay() //VOREStation add if(LIGHT_BURNED) on = 0 icon_state = "[base_state][on]" + remove_light_overlay() //VOREStation add if(LIGHT_BROKEN) on = 0 icon_state = "[base_state][on]" + remove_light_overlay() //VOREStation add return else base_state = "flamp" @@ -418,12 +438,12 @@ var/global/list/light_type_cache = list() current_alert = null var/obj/item/weapon/light/L = get_light_type_instance(light_type) - + if(L) update_from_bulb(L) else brightness_color = nightshift_enabled ? initial(brightness_color_ns) : initial(brightness_color) - + update() //VOREstation Edit End @@ -727,7 +747,7 @@ var/global/list/light_type_cache = list() update(FALSE) return -// ai alt click - Make light flicker. Very important for atmosphere. +// ai alt click - Make light flicker. Very important for atmosphere. /obj/machinery/light/AIAltClick(mob/user) flicker(1) @@ -903,7 +923,7 @@ var/global/list/light_type_cache = list() throwforce = 5 w_class = ITEMSIZE_TINY matter = list(MAT_STEEL = 60) - + ///LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN var/status = LIGHT_OK ///Base icon_state name to append suffixes for status @@ -929,7 +949,7 @@ var/global/list/light_type_cache = list() var/nightshift_power = 0.45 ///Replaces brightness_color during nightshifts. var/nightshift_color = LIGHT_COLOR_NIGHTSHIFT - + drop_sound = 'sound/items/drop/glass.ogg' pickup_sound = 'sound/items/pickup/glass.ogg' @@ -971,7 +991,7 @@ var/global/list/light_type_cache = list() name = "large light bulb" brightness_range = 7 brightness_power = 1.5 - + nightshift_range = 4 nightshift_power = 0.75 diff --git a/code/modules/power/lighting_vr.dm b/code/modules/power/lighting_vr.dm index b7f0fb320c..89eb2c97b9 100644 --- a/code/modules/power/lighting_vr.dm +++ b/code/modules/power/lighting_vr.dm @@ -60,6 +60,7 @@ plane = TURF_PLANE layer = ABOVE_TURF_LAYER construct_type = /obj/machinery/light_construct/floortube + overlay_above_everything = FALSE /obj/machinery/light/floortube/flicker auto_flicker = TRUE @@ -106,6 +107,7 @@ plane = MOB_PLANE layer = ABOVE_MOB_LAYER construct_type = /obj/machinery/light_construct/bigfloorlamp + overlay_above_everything = TRUE /obj/machinery/light/bigfloorlamp/flicker auto_flicker = TRUE @@ -128,3 +130,85 @@ icon_state = "big_flamp-construct-stage2" if(3) icon_state = "big_flamp-empty" +<<<<<<< HEAD +======= + +// Fairy lights + +/obj/item/weapon/light/bulb/smol + brightness_range = 1 + brightness_power = 0.5 + + nightshift_range = 1 + nightshift_power = 0.25 + + +/obj/machinery/light/small/fairylights + icon = 'icons/obj/lighting_vr.dmi' + icon_state = "fairy_lights1" + base_state = "fairy_lights" + desc = "A set of lights on a long string of wire, anchored to the walls." + light_type = /obj/item/weapon/light/bulb/smol + shows_alerts = FALSE + anchored = TRUE + plane = ABOVE_MOB_PLANE + layer = ABOVE_MOB_LAYER + construct_type = null + overlay_color = LIGHT_COLOR_INCANDESCENT_BULB + overlay_above_everything = TRUE + color = "#3e5064" + +/obj/machinery/light/small/fairylights/broken() + return + +/obj/machinery/light/small/fairylights/flicker + auto_flicker = TRUE + +/obj/machinery/light + var/image/overlay_layer = null + var/overlay_above_everything = TRUE + +/obj/machinery/light/proc/add_light_overlay(do_color = TRUE, provided_state = null) + remove_light_overlay() + if(provided_state) + overlay_layer = image(icon, "[provided_state]-overlay") + else + overlay_layer = image(icon, "[base_state]-overlay") + overlay_layer.appearance_flags = RESET_COLOR|KEEP_APART + if(overlay_color && do_color) + overlay_layer.color = overlay_color + if(overlay_above_everything) + overlay_layer.plane = PLANE_LIGHTING_ABOVE + else + overlay_layer.plane = PLANE_EMISSIVE + + add_overlay(overlay_layer) + +/obj/machinery/light/proc/remove_light_overlay() + if(overlay_layer) + cut_overlay(overlay_layer) + qdel(overlay_layer) + overlay_layer = null + + +/* +/obj/machinery/light_construct/bigfloorlamp + name = "big floor light fixture frame" + desc = "A big floor light fixture under construction." + icon = 'icons/obj/lighting32x64.dmi' + icon_state = "big_flamp-construct-stage1" + stage = 1 + anchored = FALSE + fixture_type = /obj/machinery/light/bigfloorlamp + sheets_refunded = 1 + +/obj/machinery/light_construct/bigfloorlamp/update_icon() + switch(stage) + if(1) + icon_state = "big_flamp-construct-stage1" + if(2) + icon_state = "big_flamp-construct-stage2" + if(3) + icon_state = "big_flamp-empty" +*/ +>>>>>>> 048fa34e2a... Merge pull request #13267 from Very-Soft/thatniceglow diff --git a/icons/obj/lighting32x64.dmi b/icons/obj/lighting32x64.dmi index 1fe0dc024b51fd2ea0688870ce89706d6fdb9b25..36ccfb03feae1a497be9c91003afb0c6ac1e7050 100644 GIT binary patch literal 3137 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 N_;)kp8-qJB{{eclB7Xn? literal 3078 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 From bb88a04785b26146b53a559eab5a044692f044a5 Mon Sep 17 00:00:00 2001 From: Razgriz Date: Sun, 3 Jul 2022 17:21:24 -0700 Subject: [PATCH 2/2] powder that makes you say yes --- code/modules/power/lighting_vr.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/modules/power/lighting_vr.dm b/code/modules/power/lighting_vr.dm index 89eb2c97b9..827fe11148 100644 --- a/code/modules/power/lighting_vr.dm +++ b/code/modules/power/lighting_vr.dm @@ -130,8 +130,6 @@ icon_state = "big_flamp-construct-stage2" if(3) icon_state = "big_flamp-empty" -<<<<<<< HEAD -======= // Fairy lights @@ -211,4 +209,3 @@ if(3) icon_state = "big_flamp-empty" */ ->>>>>>> 048fa34e2a... Merge pull request #13267 from Very-Soft/thatniceglow