Fix getting another extra stage if pick extra stage is on and you play the chosen song.
This commit is contained in:
+22
-13
@@ -966,6 +966,27 @@ bool GameState::HasEarnedExtraStage() const
|
|||||||
if( m_bBackedOutOfFinalStage )
|
if( m_bBackedOutOfFinalStage )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if( !IsFinalStage() && !IsExtraStage() )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
bool bOnePassed = false;
|
||||||
|
|
||||||
|
FOREACH_EnabledPlayer( pn )
|
||||||
|
{
|
||||||
|
if( this->m_pCurSteps[pn]->GetDifficulty() != DIFFICULTY_HARD &&
|
||||||
|
this->m_pCurSteps[pn]->GetDifficulty() != DIFFICULTY_CHALLENGE )
|
||||||
|
continue; /* not hard enough! */
|
||||||
|
|
||||||
|
if( STATSMAN->m_CurStageStats.m_player[pn].GetGrade() <= Grade_Tier03 )
|
||||||
|
{
|
||||||
|
bOnePassed = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if( !bOnePassed )
|
||||||
|
return false;
|
||||||
|
|
||||||
/* If PickExtraStage, allow EX2 if the chosen song was correct. */
|
/* If PickExtraStage, allow EX2 if the chosen song was correct. */
|
||||||
if( PREFSMAN->m_bPickExtraStage && this->IsExtraStage() )
|
if( PREFSMAN->m_bPickExtraStage && this->IsExtraStage() )
|
||||||
{
|
{
|
||||||
@@ -978,19 +999,7 @@ bool GameState::HasEarnedExtraStage() const
|
|||||||
return stats.vpPlayedSongs.size() && stats.vpPlayedSongs.back() == pSong;
|
return stats.vpPlayedSongs.size() && stats.vpPlayedSongs.back() == pSong;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( (this->IsFinalStage() || this->IsExtraStage()) )
|
return true;
|
||||||
{
|
|
||||||
FOREACH_EnabledPlayer( pn )
|
|
||||||
{
|
|
||||||
if( this->m_pCurSteps[pn]->GetDifficulty() != DIFFICULTY_HARD &&
|
|
||||||
this->m_pCurSteps[pn]->GetDifficulty() != DIFFICULTY_CHALLENGE )
|
|
||||||
continue; /* not hard enough! */
|
|
||||||
|
|
||||||
if( STATSMAN->m_CurStageStats.m_player[pn].GetGrade() <= Grade_Tier03 )
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerNumber GameState::GetBestPlayer() const
|
PlayerNumber GameState::GetBestPlayer() const
|
||||||
|
|||||||
Reference in New Issue
Block a user