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:
@@ -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 )
|
||||||
|
|||||||
Reference in New Issue
Block a user