diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index 6d7c9568a9..819abd032f 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -70,6 +70,8 @@ #define LIGHT_COLOR_TUNGSTEN "#FAE1AF" //Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175) #define LIGHT_COLOR_HALOGEN "#F0FAFA" //Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250) +#define LIGHT_RANGE_FIRE 3 //How many tiles standard fires glow. + #define LIGHTING_PLANE_ALPHA_VISIBLE 255 #define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192 #define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell. diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 8b2d95f373..dfc5fb94d5 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -213,7 +213,7 @@ /obj/effect/temp_visual/fire icon = 'icons/effects/fire.dmi' icon_state = "3" - light_range = 3 + light_range = LIGHT_RANGE_FIRE light_color = LIGHT_COLOR_FIRE duration = 10 diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index a39a9059f3..93862f16b4 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -49,7 +49,7 @@ icon = 'icons/effects/fire.dmi' icon_state = "1" layer = ABOVE_OPEN_TURF_LAYER - light_range = 3 + light_range = LIGHT_RANGE_FIRE light_color = LIGHT_COLOR_FIRE var/volume = 125 @@ -175,3 +175,15 @@ ..() if(isliving(L)) L.fire_act(temperature, volume) + +/obj/effect/dummy/fire + name = "fire" + desc = "OWWWWWW. IT BURNS. Tell a coder if you're seeing this." + icon_state = "nothing" + light_color = LIGHT_COLOR_FIRE + light_range = LIGHT_RANGE_FIRE + +/obj/effect/dummy/fire/Initialize() + . = ..() + if(!isliving(loc)) + qdel(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index e1d854c0c8..f4e85e40fb 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -884,7 +884,7 @@ on_fire = 1 src.visible_message("[src] catches fire!", \ "You're set on fire!") - src.set_light(3) + new/obj/effect/dummy/fire(src) throw_alert("fire", /obj/screen/alert/fire) update_fire() return TRUE @@ -894,7 +894,8 @@ if(on_fire) on_fire = 0 fire_stacks = 0 - src.set_light(0) + for(var/obj/effect/dummy/fire/F in src) + qdel(F) clear_alert("fire") update_fire()