1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-26 09:35:28 +00:00

Disable all other animations on death (Fixes #1483)

This commit is contained in:
scrawl 2014-06-14 21:27:16 +02:00
parent 1adb81abd0
commit e288437885

View File

@ -435,9 +435,23 @@ void CharacterController::playDeath(float startpoint, CharacterState death)
mPtr.getClass().getCreatureStats(mPtr).setDeathAnimation(mDeathState - CharState_Death1);
// For dead actors, refreshCurrentAnims is no longer called, so we need to disable the movement state manually.
// Note that these animations wouldn't actually be visible (due to the Death animation's priority being higher).
// However, they could still trigger text keys, such as Hit events, or sounds.
mMovementState = CharState_None;
mAnimation->disable(mCurrentMovement);
mCurrentMovement = "";
mUpperBodyState = UpperCharState_Nothing;
mAnimation->disable(mCurrentWeapon);
mCurrentWeapon = "";
mHitState = CharState_None;
mAnimation->disable(mCurrentHit);
mCurrentHit = "";
mIdleState = CharState_None;
mAnimation->disable(mCurrentIdle);
mCurrentIdle = "";
mJumpState = JumpState_None;
mAnimation->disable(mCurrentJump);
mCurrentJump = "";
mAnimation->play(mCurrentDeath, Priority_Death, MWRender::Animation::Group_All,
false, 1.0f, "start", "stop", startpoint, 0);