diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index 4fc6681f860..f56f9d01d5a 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -174,7 +174,7 @@
var/turf/T = get_turf(loc)
if(istype(T, /turf/open))
var/turf/open/theturf = T
- theturf.MakeSlippery(min = 4, max = 2)
+ theturf.MakeSlippery(min = 10, max = 5)
user.visible_message("[user] empties out \the [src] onto the floor using the release valve.", "You quietly empty out \the [src] using its release valve.")
return
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 91c0daa03c7..5ffbec3e54f 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -182,7 +182,7 @@
else
if(istype(loc, /turf/open))
var/turf/open/tile = loc
- tile.MakeSlippery(min = 10, max = 5)
+ tile.MakeSlippery(min = 5, max = 1)
/obj/machinery/shower/attackby(obj/item/I, mob/user, params)
diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm
index 887320b8501..018abdca64b 100644
--- a/code/game/turfs/open.dm
+++ b/code/game/turfs/open.dm
@@ -62,9 +62,18 @@
else
if(C.lying || !(C.status_flags & CANWEAKEN)) // can't slip unbuckled mob if they're lying or can't fall.
return 0
- if(C.m_intent=="walk" && (lube&NO_SLIP_WHEN_WALKING))
+ if(C.m_intent=="walk" && (lube&NO_SLIP_WHEN_WALKING) && !(lube&SLIDE))
return 0
-
+ if(istype(C, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = C
+ if(istype(H.shoes))
+ if(H.shoes.flags&NOSLIP && lube&SLIDE && !lube&GALOSHES_DONT_HELP)
+ var/olddir = C.dir
+ if(lube&SLIDE)
+ for(var/i=1, i<4, i++)
+ spawn (i)
+ step(C, olddir)
+ return 1
C << "You slipped[ O ? " on the [O.name]" : ""]!"
C.attack_log += "\[[time_stamp()]\] Slipped[O ? " on the [O.name]" : ""][(lube&SLIDE)? " (LUBE)" : ""]!"
@@ -107,7 +116,7 @@
else
wet_overlay = image('icons/effects/water.dmi', src, "wet_static")
overlays += wet_overlay
- addtimer(src, "HandleWet", 30, 1)
+ HandleWet()
/turf/open/proc/MakeDry(wet_setting = TURF_WET_WATER)
if(wet > wet_setting || !wet)
@@ -115,10 +124,9 @@
if(wet == TURF_WET_PERMAFROST)
wet = TURF_WET_ICE
else
- spawn(rand(0,20))
- wet = TURF_DRY
- if(wet_overlay)
- overlays -= wet_overlay
+ wet = TURF_DRY
+ if(wet_overlay)
+ overlays -= wet_overlay
/turf/open/proc/HandleWet()
if(!wet_time && wet < TURF_WET_ICE)
@@ -151,5 +159,5 @@
if(!wet && wet_time)
wet_time = 0
if(wet)
- addtimer(src, "HandleWet", 30, 1)
+ addtimer(src, "HandleWet", rand(10,20))
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index 92ee9fe9313..e399f8868de 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -105,7 +105,7 @@
if(prob(10)) //Wets floors randomly
var/turf/open/OT = get_turf(loc)
- OT.MakeSlippery(min = 15, max = 5)
+ OT.MakeSlippery(min = 5, max = 1)
if(prob(5)) //Spawns foam!
visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!")
diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm
index 420f4068911..12179453780 100644
--- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm
@@ -565,7 +565,7 @@
reac_volume = ..()
var/turf/open/T = get_turf(M)
if(istype(T) && prob(reac_volume))
- T.MakeSlippery(min = 15, max = 1)
+ T.MakeSlippery(min = 5, max = 1)
M.adjust_fire_stacks(-(reac_volume / 10))
M.ExtinguishMob()
M.apply_damage(0.1*reac_volume, BRUTE)
@@ -586,7 +586,7 @@
/datum/reagent/blob/pressurized_slime/proc/extinguisharea(obj/effect/blob/B, probchance)
for(var/turf/open/T in range(1, B))
if(prob(probchance))
- T.MakeSlippery(min = 15, max = 1)
+ T.MakeSlippery(min = 5, max = 1)
for(var/obj/O in T)
O.extinguish()
for(var/mob/living/L in T)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index 66e33ff9324..387c6e13ace 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -155,7 +155,7 @@
if(reac_volume >= 1) // Make Freezy Foam and anti-fire grenades!
if(istype(T, /turf/open))
var/turf/open/OT = T
- OT.MakeSlippery(TURF_WET_ICE, 15, reac_volume) // Is less effective in high pressure/high heat capacity environments. More effective in low pressure.
+ OT.MakeSlippery(TURF_WET_ICE, 5, reac_volume*0.5) // Is less effective in high pressure/high heat capacity environments. More effective in low pressure.
OT.air.temperature -= MOLES_CELLSTANDARD*100*reac_volume/OT.air.heat_capacity() // reduces environment temperature by 5K per unit.
/datum/reagent/consumable/condensedcapsaicin
@@ -318,7 +318,7 @@
/datum/reagent/consumable/cornoil/reaction_turf(turf/open/T, reac_volume)
if (!istype(T))
return
- T.MakeSlippery(min = 20, max = reac_volume*2)
+ T.MakeSlippery(min = 5, max = reac_volume*2)
var/obj/effect/hotspot/hotspot = (locate(/obj/effect/hotspot) in T)
if(hotspot)
var/datum/gas_mixture/lowertemp = T.remove_air( T:air:total_moles() )
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index a832b919c72..2ae349cdeab 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -123,7 +123,7 @@
var/CT = cooling_temperature
if(reac_volume >= 5)
- T.MakeSlippery(min = 10, max = reac_volume)
+ T.MakeSlippery(min = 5, max = reac_volume*0.2)
for(var/mob/living/simple_animal/slime/M in T)
M.apply_water()
@@ -255,7 +255,7 @@
/datum/reagent/lube/reaction_turf(turf/open/T, reac_volume)
if (!istype(T)) return
if(reac_volume >= 1)
- T.MakeSlippery(TURF_WET_LUBE, 10, reac_volume)
+ T.MakeSlippery(TURF_WET_LUBE, 5, reac_volume)
/datum/reagent/spraytan
name = "Spray Tan"