28 lines
845 B
Plaintext
28 lines
845 B
Plaintext
/mob/living/Moved()
|
|
. = ..()
|
|
update_turf_movespeed(loc)
|
|
|
|
/mob/living/toggle_move_intent()
|
|
. = ..()
|
|
update_move_intent_slowdown()
|
|
|
|
/mob/living/update_config_movespeed()
|
|
update_move_intent_slowdown()
|
|
return ..()
|
|
|
|
/mob/living/proc/update_move_intent_slowdown()
|
|
var/mod = 0
|
|
if(m_intent == MOVE_INTENT_WALK)
|
|
mod = CONFIG_GET(number/movedelay/walk_delay)
|
|
else
|
|
mod = CONFIG_GET(number/movedelay/run_delay)
|
|
if(!isnum(mod))
|
|
mod = 1
|
|
add_movespeed_modifier(MOVESPEED_ID_MOB_WALK_RUN_CONFIG_SPEED, TRUE, 100, override = TRUE, multiplicative_slowdown = mod)
|
|
|
|
/mob/living/proc/update_turf_movespeed(turf/open/T)
|
|
if(isopenturf(T) && !is_flying())
|
|
add_movespeed_modifier(MOVESPEED_ID_LIVING_TURF_SPEEDMOD, TRUE, 100, override = TRUE, multiplicative_slowdown = T.slowdown)
|
|
else
|
|
remove_movespeed_modifier(MOVESPEED_ID_LIVING_TURF_SPEEDMOD)
|