diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm index 44193d93fda..4698e153607 100644 --- a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm @@ -38,7 +38,7 @@ /obj/effect/particle_effect/fluid/foam/Initialize(mapload) . = ..() if(slippery_foam) - AddComponent(/datum/component/slippery, 100) + AddComponent(/datum/component/slippery, 100, can_slip_callback = CALLBACK(src, PROC_REF(try_slip))) if(HAS_TRAIT(loc, TRAIT_ELEVATED_TURF)) layer = WATER_LEVEL_LAYER create_reagents(1000, REAGENT_HOLDER_INSTANT_REACT) @@ -137,6 +137,9 @@ lifetime -= seconds_per_tick return TRUE +/obj/effect/particle_effect/fluid/foam/proc/try_slip(mob/living/slipper, mob/living/slippee) + return !HAS_TRAIT(slippee, TRAIT_MOB_ELEVATED) + /obj/effect/particle_effect/fluid/foam/spread(seconds_per_tick = 0.2 SECONDS) if(group.total_size > group.target_size) return