From 303082f6b465ae7f4963acc1c6b625f7ab6b5d72 Mon Sep 17 00:00:00 2001 From: Langerz82 Date: Sat, 8 Feb 2020 07:16:52 +0000 Subject: [PATCH 1/2] Finish turning before attacking --- apps/openmw/mwmechanics/aicombat.cpp | 5 ++++- apps/openmw/mwmechanics/aicombat.hpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwmechanics/aicombat.cpp b/apps/openmw/mwmechanics/aicombat.cpp index eb139c918d..fa14b47965 100644 --- a/apps/openmw/mwmechanics/aicombat.cpp +++ b/apps/openmw/mwmechanics/aicombat.cpp @@ -137,7 +137,10 @@ namespace MWMechanics } storage.updateCombatMove(duration); + storage.mRotateMove = false; if (storage.mReadyToAttack) updateActorsMovement(actor, duration, storage); + if (storage.mRotateMove) + return false; storage.updateAttack(characterController); } else @@ -442,7 +445,7 @@ namespace MWMechanics storage.mCurrentAction->getCombatRange(isRangedCombat); float eps = isRangedCombat ? osg::DegreesToRadians(0.5) : osg::DegreesToRadians(3.f); float targetAngleRadians = storage.mMovement.mRotation[axis]; - smoothTurn(actor, targetAngleRadians, axis, eps); + storage.mRotateMove = !smoothTurn(actor, targetAngleRadians, axis, eps); } MWWorld::Ptr AiCombat::getTarget() const diff --git a/apps/openmw/mwmechanics/aicombat.hpp b/apps/openmw/mwmechanics/aicombat.hpp index 5425f1af0b..34e726412c 100644 --- a/apps/openmw/mwmechanics/aicombat.hpp +++ b/apps/openmw/mwmechanics/aicombat.hpp @@ -33,6 +33,7 @@ namespace MWMechanics bool mAttack; float mAttackRange; bool mCombatMove; + bool mRotateMove; osg::Vec3f mLastTargetPos; const MWWorld::CellStore* mCell; std::shared_ptr mCurrentAction; @@ -65,6 +66,7 @@ namespace MWMechanics mAttack(false), mAttackRange(0.0f), mCombatMove(false), + mRotateMove(false), mLastTargetPos(0,0,0), mCell(nullptr), mCurrentAction(), From 013043ee6e15c8baec356bb50146d82aba9cb690 Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Sat, 6 Nov 2021 17:45:29 +0100 Subject: [PATCH 2/2] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c491cb83c0..548351acc0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ Bug #1751: Birthsign abilities increase modified attribute values instead of base ones Bug #3246: ESSImporter: Most NPCs are dead on save load + Bug #3488: AI combat aiming is too slow Bug #3514: Editing a reference's position after loading an esp file makes the reference disappear Bug #3737: Scripts from The Underground 2 .esp do not play (all patched versions) Bug #3792: 1 frame late magicka recalc breaks early scripted magicka reactions to Intelligence change