diff --git a/code/__DEFINES/movespeed_modification.dm b/code/__DEFINES/movespeed_modification.dm index 5ebf1cb6267..68b06e4d564 100644 --- a/code/__DEFINES/movespeed_modification.dm +++ b/code/__DEFINES/movespeed_modification.dm @@ -32,4 +32,6 @@ #define MOVESPEED_ID_PAI_SPACEWALK_SPEEDMOD "PAI_SPACEWALK_MODIFIER" -#define MOVESPEED_ID_SANITY "MOOD_SANITY" \ No newline at end of file +#define MOVESPEED_ID_SANITY "MOOD_SANITY" + +#define MOVESPEED_ID_SPECIES "SPECIES_SPEED_MOD" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index ed96d850a07..a3747b41f97 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -285,6 +285,8 @@ GLOBAL_LIST_EMPTY(roundstart_races) for(var/datum/disease/A in C.diseases) A.cure(FALSE) + C.add_movespeed_modifier(MOVESPEED_ID_SPECIES, TRUE, 100, override=TRUE, multiplicative_slowdown=speedmod, movetypes=(~FLYING)) + SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) @@ -295,6 +297,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) C.Digitigrade_Leg_Swap(TRUE) for(var/X in inherent_traits) C.remove_trait(X, SPECIES_TRAIT) + C.remove_movespeed_modifier(MOVESPEED_ID_SPECIES) SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src) @@ -1071,7 +1074,6 @@ GLOBAL_LIST_EMPTY(roundstart_races) . -= 1 if(H.has_trait(TRAIT_GOTTAGOREALLYFAST)) . -= 2 - . += speedmod . += H.physiology.speed_mod if(H.has_trait(TRAIT_IGNORESLOWDOWN))