diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm index 3982e28621d..170a62519f4 100644 --- a/code/modules/mod/mod_activation.dm +++ b/code/modules/mod/mod_activation.dm @@ -267,6 +267,7 @@ part.cold_protection = NONE part.alternate_worn_layer = part_datum.unsealed_layer generate_suit_mask() + update_speed() wearer.update_clothing(part.slot_flags | slot_flags) wearer.update_obscured_slots(part.visor_flags_inv) if((part.clothing_flags & (MASKINTERNALS|HEADINTERNALS)) && wearer.invalid_internals()) diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 0d611d38671..a4e75c25ebf 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -699,8 +699,11 @@ wearer.update_spacesuit_hud_icon(state_to_use || "0") /obj/item/mod/control/proc/update_speed() - for(var/obj/item/part as anything in get_parts()) - part.slowdown = slowdown_deployed / (length(mod_parts) - 1) + for(var/obj/item/part as anything in get_parts(all = TRUE)) + part.slowdown = slowdown_deployed / length(mod_parts) + var/datum/mod_part/part_datum = get_part_datum(part) + if (!part_datum.sealed) + part.slowdown = max(part.slowdown, 0) wearer?.update_equipment_speed_mods() /obj/item/mod/control/proc/power_off()