diff --git a/src/map/entities/battleentity.cpp b/src/map/entities/battleentity.cpp index f98e6f5e8a2..53e4e91df7b 100644 --- a/src/map/entities/battleentity.cpp +++ b/src/map/entities/battleentity.cpp @@ -258,10 +258,8 @@ uint8 CBattleEntity::GetSpeed() // KIs, Gear penalties, Bolters Roll. float additiveMods = static_cast(getMod(Mod::MOVE_SPEED_STACKABLE)); - // Quickening and Mazurka. Only highest applies. Additive. - Mod modToUse = getMod(Mod::MOVE_SPEED_QUICKENING) > getMod(Mod::MOVE_SPEED_MAZURKA) ? Mod::MOVE_SPEED_QUICKENING : Mod::MOVE_SPEED_MAZURKA; - - float effectAdditiveBonus = static_cast(getMod(modToUse)); + // Quickening and Mazurka. They share a cap. Additive. + float effectAdditiveBonus = std::clamp(static_cast(getMod(Mod::MOVE_SPEED_QUICKENING)) + static_cast(getMod(Mod::MOVE_SPEED_MAZURKA)), 0.0f, 10.0f); // Flee. float fleeFactor = std::clamp(1.0f + static_cast(getMod(Mod::MOVE_SPEED_FLEE)) / 100.0f, 1.0f, 2.0f);