diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 637018f5ab0..5bccda3c61d 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -88,10 +88,10 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d var/list/species_fit = null //This object has a different appearance when worn by these species var/trip_verb = TV_TRIP - var/trip_bonus = 0 + var/trip_chance = 0 var/trip_stun = 0 - var/trip_weaken = 2 + var/trip_weaken = 0 var/trip_any = FALSE var/trip_walksafe = TRUE var/trip_tiles = 0 @@ -541,10 +541,9 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d return I == src /obj/item/Crossed(atom/movable/AM) - if(ishuman(AM)) + if(prob(trip_chance) && ishuman(AM)) var/mob/living/carbon/human/H = AM - if(prob(trip_bonus)) - on_trip(H) + on_trip(H) /obj/item/proc/on_trip(mob/living/carbon/human/H) if(H.slip(src, trip_stun, trip_weaken, trip_tiles, trip_walksafe, trip_any, trip_verb)) diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm index cd89ca61377..f56cec52862 100644 --- a/code/game/objects/items/weapons/grenades/clowngrenade.dm +++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm @@ -55,7 +55,7 @@ trip_tiles = 4 trip_walksafe = FALSE - trip_bonus = 100 + trip_chance = 100 /obj/item/weapon/grown/bananapeel/traitorpeel/on_trip(mob/living/carbon/human/H) diff --git a/code/game/objects/items/weapons/soap.dm b/code/game/objects/items/weapons/soap.dm index 28ab1028584..ee22b843db3 100644 --- a/code/game/objects/items/weapons/soap.dm +++ b/code/game/objects/items/weapons/soap.dm @@ -12,7 +12,7 @@ trip_stun = 4 trip_weaken = 2 - trip_bonus = 100 + trip_chance = 100 trip_walksafe = FALSE trip_verb = TV_SLIP diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index bb4e61f0d1d..9787edb59c3 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -115,7 +115,7 @@ desc = "A synthetic banana peel." trip_stun = 2 trip_weaken = 2 - trip_bonus = 100 + trip_chance = 100 trip_walksafe = FALSE trip_verb = TV_SLIP diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 0dea4651545..b9b1c8efcc6 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -218,7 +218,7 @@ G.trip_stun = stun_len G.trip_weaken = stun_len - G.trip_bonus = 100 + G.trip_chance = 100 G.trip_verb = TV_SLIP G.trip_walksafe = FALSE diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index 30fe030bdcb..b8d432d5609 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -330,6 +330,8 @@ SetParalysis(max(paralysis, amount), updating, force) /mob/living/SetParalysis(amount, updating = 1, force = 0) + if((!!amount) == (!!paralysis)) // We're not changing from + to 0 or vice versa + updating = FALSE if(status_flags & CANPARALYSE || force) paralysis = max(amount, 0) if(updating) @@ -358,9 +360,11 @@ SetSleeping(max(sleeping, amount), updating, no_alert) /mob/living/SetSleeping(amount, updating = 1, no_alert = FALSE) + if((!!amount) == (!!sleeping)) // We're not changing from + to 0 or vice versa + updating = FALSE sleeping = max(amount, 0) - update_sleeping_effects(no_alert) if(updating) + update_sleeping_effects(no_alert) update_stat() update_canmove() @@ -410,6 +414,8 @@ SetStunned(max(stunned, amount), updating, force) /mob/living/SetStunned(amount, updating = 1, force = 0) //if you REALLY need to set stun to a set amount without the whole "can't go below current stunned" + if((!!amount) == (!!stunned)) // We're not changing from + to 0 or vice versa + updating = FALSE if(status_flags & CANSTUN || force) stunned = max(amount, 0) if(updating) @@ -440,6 +446,8 @@ SetWeakened(max(weakened, amount), updating, force) /mob/living/SetWeakened(amount, updating = 1, force = 0) + if((!!amount) == (!!weakened)) // We're not changing from + to 0 or vice versa + updating = FALSE if(status_flags & CANWEAKEN || force) weakened = max(amount, 0) if(updating) diff --git a/code/modules/pda/pdas.dm b/code/modules/pda/pdas.dm index 0c95cae9b9b..8fdffded4df 100644 --- a/code/modules/pda/pdas.dm +++ b/code/modules/pda/pdas.dm @@ -40,7 +40,7 @@ trip_stun = 8 trip_weaken = 5 - trip_bonus = 100 + trip_chance = 100 trip_walksafe = TRUE trip_verb = TV_SLIP