Skip to content

Commit 659fe17

Browse files
committed
Add failed fast reload player animation event handling
1 parent f5d8d48 commit 659fe17

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/game/shared/swarm/asw_playeranimstate.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,18 @@ void CASWPlayerAnimState::DoAnimationEvent( PlayerAnimEvent_t event )
370370
}
371371
else if ( event == PLAYERANIMEVENT_RELOAD_FAIL )
372372
{
373+
if ( m_bReloading == true && m_flReloadCycle < 1.0f )
374+
{
375+
// readjust animation speed to match new attack delay
376+
const float fFailReloadMinDelay = 2.0f;
377+
378+
CASW_Marine *pOuter = CASW_Marine::AsMarine( GetOuter() );
379+
CASW_Weapon *pWeapon = pOuter ? pOuter->GetActiveASWWeapon() : NULL;
380+
const float fFailReloadTime = pWeapon ? pWeapon->GetReloadFailTime() : fFailReloadMinDelay;
381+
382+
const float fRemainingCycle = 1.0f - m_flReloadCycle;
383+
m_fReloadPlaybackRate = m_fReloadAnimTime * fRemainingCycle / fFailReloadTime;
384+
}
373385
}
374386
else if ( event == PLAYERANIMEVENT_DROP_MAGAZINE_GIB )
375387
{

0 commit comments

Comments
 (0)