diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 933ae42f6e0..d080de4d2c0 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -691,17 +691,14 @@ icon_state = "shower_regen_catgirl" /atom/movable/screen/alert/status_effect/washing_regen/dislike - name = "Washing" desc = "This water feels dirty..." icon_state = "shower_regen_dirty" /atom/movable/screen/alert/status_effect/washing_regen/bloody_like - name = "Washing" desc = "Mhhhmmmm... the crimson red drops of life. How delightful." icon_state = "shower_regen_blood_happy" /atom/movable/screen/alert/status_effect/washing_regen/bloody_dislike - name = "Washing" desc = "Is that... blood? What the fuck!" icon_state = "shower_regen_blood_bad" diff --git a/code/game/objects/effects/particles/smoke.dm b/code/game/objects/effects/particles/smoke.dm index f7c07231cf2..cc4fec35839 100644 --- a/code/game/objects/effects/particles/smoke.dm +++ b/code/game/objects/effects/particles/smoke.dm @@ -107,16 +107,16 @@ "steam_cloud_4" = 1, "steam_cloud_5" = 1, ) - color = "#FFFFFFAA" - count = 6 - spawning = 0.5 + color = "#FFFFFF8A" + count = 5 + spawning = 0.3 lifespan = 3 SECONDS fade = 1.2 SECONDS fadein = 0.4 SECONDS position = generator(GEN_BOX, list(-17,-15,0), list(24,15,0), NORMAL_RAND) scale = generator(GEN_VECTOR, list(0.9,0.9), list(1.1,1.1), NORMAL_RAND) drift = generator(GEN_SPHERE, list(-0.01,0), list(0.01,0.01), UNIFORM_RAND) - spin = generator(GEN_NUM, list(-3,3), NORMAL_RAND) + spin = generator(GEN_NUM, list(-2,2), NORMAL_RAND) gravity = list(0.05, 0.28) friction = 0.3 grow = 0.037 diff --git a/code/game/turfs/open/water.dm b/code/game/turfs/open/water.dm index 2e2daee48bc..33f128a9d93 100644 --- a/code/game/turfs/open/water.dm +++ b/code/game/turfs/open/water.dm @@ -114,6 +114,12 @@ /turf/open/water/hot_spring/Initialize(mapload) . = ..() + // We need to add the immerse element now because the icon_states are randomized and + // we don't want to end up with 4 different immerse elements, which would cause + // the immerse trait to be repeatedly removed and readded as someone moves within the pool, + // replacing the status effect over and over, which can be seen through the status effect alert icon. + AddElement(/datum/element/immerse, icon, icon_state, "immerse", immerse_overlay_color, alpha = immerse_overlay_alpha) + immerse_added = TRUE icon_state = "pool_[rand(1, 4)]" particle_effect = new(src, /particles/hotspring_steam, 4) //render the steam over mobs and objects on the game plane @@ -123,8 +129,7 @@ add_filter("hot_spring_waves", 1, wave_filter(y = 1, size = 1, offset = 0, flags = WAVE_BOUNDED)) var/filter = get_filter("hot_spring_waves") animate(filter, offset = 1, time = 3 SECONDS, loop = -1, easing = SINE_EASING|EASE_IN|EASE_OUT) - animate(offset = -1, time = 3 SECONDS, easing = SINE_EASING|EASE_IN|EASE_OUT) - + animate(offset = 0, time = 3 SECONDS, easing = SINE_EASING|EASE_IN|EASE_OUT) /turf/open/water/hot_spring/Destroy() QDEL_NULL(particle_effect) @@ -139,11 +144,7 @@ return enter_hot_spring(arrived) -/turf/open/water/hot_spring/proc/enter_initialized_movable(datum/source, atom/movable/movable) - SIGNAL_HANDLER - if(!immerse_added && !is_type_in_typecache(movable, GLOB.immerse_ignored_movable)) - AddElement(/datum/element/immerse, icon, icon_state, "immerse", immerse_overlay_color, alpha = immerse_overlay_alpha) - immerse_added = TRUE +/turf/open/water/hot_spring/on_atom_inited(datum/source, atom/movable/movable) enter_hot_spring(movable) ///Registers the signals from the immerse element and calls dip_in if the movable has the required trait. diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index ff9d1e62e9b..3b67fc7927e 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ