diff --git a/CHANGELOG.md b/CHANGELOG.md index a190e566a4..1b322d30e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -133,6 +133,7 @@ Bug #6794: Light sources are attached to mesh bounds centers instead of mesh origins when AttachLight NiNode is missing Bug #6799: Game crashes if an NPC has no Class attached Bug #6849: ImageButton texture is not scaled properly + Bug #6869: Hits queue stagger during swing animation Bug #6895: Removing a negative number of items from a script, makes the script terminate with an error Bug #6898: Accessing the Quick Inventory menu does not work while in menu mode Bug #6901: Morrowind.exe soul gem usage discrepancy diff --git a/apps/openmw/mwmechanics/character.cpp b/apps/openmw/mwmechanics/character.cpp index a6d6d346d3..3ec17dc0f4 100644 --- a/apps/openmw/mwmechanics/character.cpp +++ b/apps/openmw/mwmechanics/character.cpp @@ -1663,6 +1663,11 @@ bool CharacterController::updateState(CharacterState idle) if (ammunition && mWeaponType == ESM::Weapon::MarksmanCrossbow) mAnimation->attachArrow(); + // Cancel stagger animation at the end of an attack to avoid abrupt transitions + // in favor of a different abrupt transition, like Morrowind + if (mUpperBodyState != UpperCharState_EquipingWeap && isRecovery()) + mAnimation->disable(mCurrentHit); + mUpperBodyState = UpperCharState_WeapEquiped; } else if(mUpperBodyState == UpperCharState_UnEquipingWeap)