diff --git a/code/modules/events/untie_shoes.dm b/code/modules/events/untie_shoes.dm index 92e53b4eab..19e238154a 100644 --- a/code/modules/events/untie_shoes.dm +++ b/code/modules/events/untie_shoes.dm @@ -9,7 +9,7 @@ fakeable = FALSE /datum/round_event/untied_shoes/start() - var/iterations = 1 + var/budget = rand(5 SECONDS,20 SECONDS) for(var/mob/living/carbon/C in shuffle(GLOB.alive_mob_list)) if(!C.client) continue @@ -17,12 +17,8 @@ continue if (HAS_TRAIT(C,TRAIT_EXEMPT_HEALTH_EVENTS)) continue - if(!C.shoes || !C.shoes.can_be_tied || C.shoes.tied != SHOES_TIED) + if(!C.shoes || !C.shoes.can_be_tied || C.shoes.tied != SHOES_TIED || C.shoes.lace_time > budget) continue - if(prob(5)) - C.shoes.adjust_laces(SHOES_KNOTTED) - else - C.shoes.adjust_laces(SHOES_UNTIED) - iterations++ - if(prob(100/iterations)) + budget -= C.shoes.lace_time + if(budget < 5 SECONDS) return