easier fail mode only for each player's first stage; don't give it to

everyone for everyone else's first
This commit is contained in:
Glenn Maynard
2007-05-12 23:51:56 +00:00
parent 8278b2e9a1
commit a72131f0b0
+4 -7
View File
@@ -1314,23 +1314,20 @@ PlayerOptions::FailType GameState::GetPlayerFailType( const PlayerState *pPlayer
if( m_pCurSteps[pn] ) if( m_pCurSteps[pn] )
dc = m_pCurSteps[pn]->GetDifficulty(); dc = m_pCurSteps[pn]->GetDifficulty();
bool bFirstStageForAny = false; bool bFirstStage = false;
if( !IsEventMode() ) if( !IsEventMode() )
{ bFirstStage |= m_iPlayerStageTokens[pPlayerState->m_PlayerNumber] == PREFSMAN->m_iSongsPerPlay-1; // HACK; -1 because this is called during gameplay
FOREACH_HumanPlayer( p )
bFirstStageForAny |= m_iPlayerStageTokens[p] == PREFSMAN->m_iSongsPerPlay-1; // HACK; -1 because this is called during gameplay
}
/* Easy and beginner are never harder than FAIL_IMMEDIATE_CONTINUE. */ /* Easy and beginner are never harder than FAIL_IMMEDIATE_CONTINUE. */
if( dc <= Difficulty_Easy ) if( dc <= Difficulty_Easy )
setmax( ft, PlayerOptions::FAIL_IMMEDIATE_CONTINUE ); setmax( ft, PlayerOptions::FAIL_IMMEDIATE_CONTINUE );
if( dc <= Difficulty_Easy && bFirstStageForAny && PREFSMAN->m_bFailOffForFirstStageEasy ) if( dc <= Difficulty_Easy && bFirstStage && PREFSMAN->m_bFailOffForFirstStageEasy )
setmax( ft, PlayerOptions::FAIL_OFF ); setmax( ft, PlayerOptions::FAIL_OFF );
/* If beginner's steps were chosen, and this is the first stage, /* If beginner's steps were chosen, and this is the first stage,
* turn off failure completely. */ * turn off failure completely. */
if( dc == Difficulty_Beginner && bFirstStageForAny ) if( dc == Difficulty_Beginner && bFirstStage )
setmax( ft, PlayerOptions::FAIL_OFF ); setmax( ft, PlayerOptions::FAIL_OFF );
if( dc == Difficulty_Beginner && PREFSMAN->m_bFailOffInBeginner ) if( dc == Difficulty_Beginner && PREFSMAN->m_bFailOffInBeginner )