From f75f8d9bb8c0d764b8a7926476e7a16a3cfad713 Mon Sep 17 00:00:00 2001 From: Meji Date: Sat, 10 Sep 2022 13:42:52 +0200 Subject: [PATCH] Core/Unit: Update collision height calculation (#28239) --- src/server/game/Entities/Player/Player.cpp | 2 +- src/server/game/Entities/Unit/Unit.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 0bbc2a9757..8ca2c06c50 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1670,7 +1670,7 @@ void Player::SetObjectScale(float scale) SetBoundingRadius(scale * DEFAULT_PLAYER_BOUNDING_RADIUS); SetCombatReach(scale * DEFAULT_PLAYER_COMBAT_REACH); if (IsInWorld()) - SendMovementSetCollisionHeight(scale * GetCollisionHeight(), WorldPackets::Movement::UpdateCollisionHeightReason::Scale); + SendMovementSetCollisionHeight(GetCollisionHeight(), WorldPackets::Movement::UpdateCollisionHeightReason::Scale); } bool Player::IsImmunedToSpellEffect(SpellInfo const* spellInfo, SpellEffectInfo const& spellEffectInfo, WorldObject const* caster, diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index a070acbdf3..b3f5516583 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -13597,7 +13597,7 @@ float Unit::GetCollisionHeight() const { CreatureDisplayInfoEntry const* displayInfo = sCreatureDisplayInfoStore.AssertEntry(GetNativeDisplayId()); CreatureModelDataEntry const* modelData = sCreatureModelDataStore.AssertEntry(displayInfo->ModelID); - float const collisionHeight = scaleMod * (mountModelData->MountHeight + modelData->CollisionHeight * modelData->ModelScale * displayInfo->CreatureModelScale * 0.5f); + float const collisionHeight = scaleMod * ((mountModelData->MountHeight * mountDisplayInfo->CreatureModelScale) + (modelData->CollisionHeight * modelData->ModelScale * displayInfo->CreatureModelScale * 0.5f)); return collisionHeight == 0.0f ? DEFAULT_COLLISION_HEIGHT : collisionHeight; } }