diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 1bf9801ed73..cd2e7ef32f9 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -9,7 +9,7 @@ blend_mode = BLEND_MULTIPLY /area/New() - icon_state = "" + icon_state = "white" layer = 10 uid = ++global_uid all_areas += src @@ -149,21 +149,40 @@ D.open() return +#define DO_PARTY(COLOR) animate(color = COLOR, time = 0.5 SECONDS, easing = QUAD_EASING) + /area/proc/updateicon() if ((fire || eject || party) && (!requires_power||power_environ) && !istype(src, /area/space))//If it doesn't require power, can still activate this proc. - if(fire && !eject && !party) - icon_state = "blue" - /*else if(atmosalm && !fire && !eject && !party) - icon_state = "bluenew"*/ - else if(!fire && eject && !party) - icon_state = "red" - else if(party && !fire && !eject) - icon_state = "party" + if(fire && !eject && !party) // FIRE + color = "#ff9292" + animate(src) // stop any current animations. + animate(src, color = "#ffa5b2", time = 1 SECOND, loop = -1, easing = SINE_EASING) + animate(color = "#ff9292", time = 1 SECOND, easing = SINE_EASING) + else if(!fire && eject && !party) // EJECT + color = "#ff9292" + animate(src) + animate(src, color = "#bc8a81", time = 1 SECOND, loop = -1, easing = EASE_IN|CUBIC_EASING) + animate(color = "#ff9292", time = 0.5 SECOND, easing = EASE_OUT|CUBIC_EASING) + else if(party && !fire && !eject) // PARTY + color = "#ff728e" + animate(src) + animate(src, color = "#7272ff", time = 0.5 SECONDS, loop = -1, easing = QUAD_EASING) + DO_PARTY("#72aaff") + DO_PARTY("#ffc68e") + DO_PARTY("#72c6ff") + DO_PARTY("#ff72e2") + DO_PARTY("#72ff8e") + DO_PARTY("#ffff8e") + DO_PARTY("#ff728e") else - icon_state = "blue-red" + color = "#ffb2b2" + animate(src) + animate(src, color = "#B3DFFF", time = 0.5 SECOND, loop = -1, easing = SINE_EASING) + animate(color = "#ffb2b2", time = 0.5 SECOND, loop = -1, easing = SINE_EASING) else - // new lighting behaviour with obj lights - icon_state = null + animate(src, color = "#FFFFFF", time = 0.5 SECONDS, easing = QUAD_EASING) // Stop the animation. + +#undef DO_PARTY /* diff --git a/html/changelogs/lohikar-arealights.yml b/html/changelogs/lohikar-arealights.yml new file mode 100644 index 00000000000..59b94b716f5 --- /dev/null +++ b/html/changelogs/lohikar-arealights.yml @@ -0,0 +1,4 @@ +author: Lohikar +delete-after: True +changes: + - tweak: "Smoothed out the animation for area lights such as fire alarms." diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index ed9e6e977ca..3f660705cf3 100755 Binary files a/icons/turf/areas.dmi and b/icons/turf/areas.dmi differ