This commit is contained in:
Paul 2001-07-16 19:46:48 +00:00
parent 2a6beb64f7
commit bccc161ff2
2 changed files with 19 additions and 10 deletions

View File

@ -768,10 +768,10 @@ if(PadGetDown(0)&PAD_TRIANGLE)
// Only do the weapon change stuff on the first frame. As the buttons pressed do not
// change over these frames there is no point in doing it every frame
if(i==0)
if(i==0&&m_currentPlayerModeClass->getState()!=STATE_CELEBRATE)
{
m_tryingToManuallyPickupWeapon=false;
m_tryingToAutomaticallyPickupWeapon=false;
m_tryingToManuallyPickupWeapon=false;
m_tryingToAutomaticallyPickupWeapon=false;
// Weapon collect/drop/swap stuff..
if(m_currentMode==PLAYER_MODE_BASICUNARMED)

View File

@ -462,18 +462,27 @@ const struct PlayerMetrics *CPlayerModeBase::getPlayerMetrics()
---------------------------------------------------------------------- */
int CPlayerModeBase::setState(int _state)
{
CPlayerState *nextState;
int ret=false;
nextState=getStateTable()[_state];
if(nextState)
if(m_currentState==STATE_CELEBRATE&&_state!=STATE_IDLE)
{
m_player->resetPlayerCollisionSizeToBase();
m_currentStateClass=nextState;
m_currentStateClass->enter(this);
m_currentState=(PLAYER_STATE)_state;
ret=true;
}
else
{
CPlayerState *nextState;
nextState=getStateTable()[_state];
if(nextState)
{
m_player->resetPlayerCollisionSizeToBase();
m_currentStateClass=nextState;
m_currentStateClass->enter(this);
m_currentState=(PLAYER_STATE)_state;
ret=true;
}
}
return ret;
}