fix(Core/Movement): prevent false MovementInform on gossip pause (#25428)

This commit is contained in:
sogladev
2026-04-12 22:55:54 +02:00
committed by GitHub
parent c839ddf829
commit 49b3926f6c
8 changed files with 160 additions and 37 deletions

View File

@@ -3091,6 +3091,21 @@ CreatureMovementData const& Creature::GetMovementTemplate() const
return GetCreatureTemplate()->Movement;
}
void Creature::PauseMovementForInteraction()
{
if (uint32 pause = GetMovementTemplate().GetInteractionPauseTimer())
{
uint8 pauseSlot = MOTION_SLOT_IDLE;
if (GetMotionMaster()->GetMotionSlotType(MOTION_SLOT_ACTIVE) == POINT_MOTION_TYPE)
pauseSlot = MOTION_SLOT_ACTIVE;
else if (GetMotionMaster()->GetMotionSlotType(MOTION_SLOT_CONTROLLED) == POINT_MOTION_TYPE)
pauseSlot = MOTION_SLOT_CONTROLLED;
PauseMovement(pause, pauseSlot);
}
}
void Creature::AllLootRemovedFromCorpse()
{
if (loot.loot_type != LOOT_SKINNING && !IsPet() && GetCreatureTemplate()->SkinLootId && hasLootRecipient())