Added ability to translate actbusy forced move activity translation

This commit is contained in:
Blixibon 2021-11-22 23:03:26 -06:00
parent 9b84980a77
commit 6b13b83231
2 changed files with 21 additions and 0 deletions

View File

@ -1802,6 +1802,20 @@ bool CAI_ActBusyBehavior::PlayAnimForActBusy( busyanimparts_t AnimPart )
return false;
}
#ifdef MAPBASE
//-----------------------------------------------------------------------------
// Purpose: Get the busy's move activity
//-----------------------------------------------------------------------------
Activity CAI_ActBusyBehavior::GetMoveActivityForActBusy()
{
busyanim_t *pBusyAnim = g_ActBusyAnimDataSystem.GetBusyAnim( m_iCurrentBusyAnim );
if ( !pBusyAnim )
return m_ForcedActivity;
return pBusyAnim->bTranslateActivity ? GetOuter()->TranslateActivity( m_ForcedActivity ) : m_ForcedActivity;
}
#endif
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
@ -2030,7 +2044,11 @@ void CAI_ActBusyBehavior::StartTask( const Task_t *pTask )
// If we have a forced activity, use that. Otherwise, walk.
if ( m_ForcedActivity != ACT_INVALID && m_ForcedActivity != ACT_RESET )
{
#ifdef MAPBASE
GetNavigator()->SetMovementActivity( GetMoveActivityForActBusy() );
#else
GetNavigator()->SetMovementActivity( m_ForcedActivity );
#endif
// Cover is void once I move
Forget( bits_MEMORY_INCOVER );

View File

@ -167,6 +167,9 @@ private:
void NotifyBusyEnding( void );
bool HasAnimForActBusy( int iActBusy, busyanimparts_t AnimPart );
bool PlayAnimForActBusy( busyanimparts_t AnimPart );
#ifdef MAPBASE
Activity GetMoveActivityForActBusy();
#endif
void PlaySoundForActBusy( busyanimparts_t AnimPart );
private: