|
|
|
@ -1221,11 +1221,11 @@ bool CharacterController::updateWeaponState()
|
|
|
|
|
bool isStillWeapon = weaptype > WeapType_HandToHand && weaptype < WeapType_Spell &&
|
|
|
|
|
mWeaponType > WeapType_HandToHand && mWeaponType < WeapType_Spell;
|
|
|
|
|
|
|
|
|
|
if(weaptype != mWeaponType && !isKnockedOut() &&
|
|
|
|
|
!isKnockedDown() && !isRecovery())
|
|
|
|
|
if(!isKnockedOut() && !isKnockedDown() && !isRecovery())
|
|
|
|
|
{
|
|
|
|
|
std::string weapgroup;
|
|
|
|
|
if ((!isWerewolf || mWeaponType != WeapType_Spell)
|
|
|
|
|
&& weaptype != mWeaponType
|
|
|
|
|
&& mUpperBodyState != UpperCharState_UnEquipingWeap
|
|
|
|
|
&& !isStillWeapon)
|
|
|
|
|
{
|
|
|
|
@ -1250,7 +1250,12 @@ bool CharacterController::updateWeaponState()
|
|
|
|
|
|
|
|
|
|
float complete;
|
|
|
|
|
bool animPlaying = mAnimation->getInfo(mCurrentWeapon, &complete);
|
|
|
|
|
|
|
|
|
|
if (!animPlaying || complete >= 1.0f)
|
|
|
|
|
{
|
|
|
|
|
// Weapon is changed, no current animation (e.g. unequipping or attack).
|
|
|
|
|
// Start equipping animation now.
|
|
|
|
|
if (weaptype != mWeaponType)
|
|
|
|
|
{
|
|
|
|
|
forcestateupdate = true;
|
|
|
|
|
mAnimation->showCarriedLeft(updateCarriedLeftVisible(weaptype));
|
|
|
|
@ -1260,12 +1265,8 @@ bool CharacterController::updateWeaponState()
|
|
|
|
|
|
|
|
|
|
if (!isStillWeapon)
|
|
|
|
|
{
|
|
|
|
|
if (weaptype == WeapType_None)
|
|
|
|
|
{
|
|
|
|
|
// Disable current weapon animation manually
|
|
|
|
|
mAnimation->disable(mCurrentWeapon);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (weaptype != WeapType_None)
|
|
|
|
|
{
|
|
|
|
|
mAnimation->showWeapons(false);
|
|
|
|
|
mAnimation->play(weapgroup, priorityWeapon,
|
|
|
|
@ -1295,6 +1296,16 @@ bool CharacterController::updateWeaponState()
|
|
|
|
|
sndMgr->playSound3D(mPtr, upSoundId, 1.0f, 1.0f);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Make sure that we disabled unequipping animation
|
|
|
|
|
if (mUpperBodyState == UpperCharState_UnEquipingWeap)
|
|
|
|
|
{
|
|
|
|
|
mUpperBodyState = UpperCharState_Nothing;
|
|
|
|
|
mAnimation->disable(mCurrentWeapon);
|
|
|
|
|
mWeaponType = WeapType_None;
|
|
|
|
|
getWeaponGroup(mWeaponType, mCurrentWeapon);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(isWerewolf)
|
|
|
|
|