[GameState, SongUtil] Fix Issue 263 by not charging 2x stages for doubles when not using joint premium.
This commit is contained in:
+1
-22
@@ -630,27 +630,6 @@ int GameState::GetNumStagesMultiplierForSong( const Song* pSong )
|
||||
return iNumStages;
|
||||
}
|
||||
|
||||
int GameState::GetNumStagesForSongAndStyleType( const Song* pSong, StyleType st )
|
||||
{
|
||||
int iNumStages = GetNumStagesMultiplierForSong( pSong );
|
||||
|
||||
// One player, two-sides styles cost extra
|
||||
switch( st )
|
||||
{
|
||||
DEFAULT_FAIL( st );
|
||||
case StyleType_OnePlayerTwoSides:
|
||||
if( g_Premium == Premium_Off )
|
||||
iNumStages *= 2;
|
||||
break;
|
||||
case StyleType_TwoPlayersTwoSides:
|
||||
case StyleType_OnePlayerOneSide:
|
||||
case StyleType_TwoPlayersSharedSides:
|
||||
break;
|
||||
}
|
||||
|
||||
return iNumStages;
|
||||
}
|
||||
|
||||
int GameState::GetNumStagesForCurrentSongAndStepsOrCourse() const
|
||||
{
|
||||
int iNumStagesOfThisSong = 1;
|
||||
@@ -688,7 +667,7 @@ int GameState::GetNumStagesForCurrentSongAndStepsOrCourse() const
|
||||
if( IsAnExtraStage() )
|
||||
iNumStagesOfThisSong = 1;
|
||||
else
|
||||
iNumStagesOfThisSong = GameState::GetNumStagesForSongAndStyleType( m_pCurSong, pStyle->m_StyleType );
|
||||
iNumStagesOfThisSong = GameState::GetNumStagesMultiplierForSong( m_pCurSong );
|
||||
}
|
||||
else if( m_pCurCourse )
|
||||
iNumStagesOfThisSong = PREFSMAN->m_iSongsPerPlay;
|
||||
|
||||
+1
-1
@@ -975,7 +975,7 @@ void SongUtil::GetPlayableStepsTypes( const Song *pSong, set<StepsType> &vOut )
|
||||
const Style *pStyle = GAMEMAN->GetFirstCompatibleStyle( GAMESTATE->m_pCurGame, iNumPlayers, *st );
|
||||
bool bEnoughStages = GAMESTATE->IsAnExtraStage() ||
|
||||
GAMESTATE->GetSmallestNumStagesLeftForAnyHumanPlayer() >=
|
||||
GAMESTATE->GetNumStagesForSongAndStyleType(pSong, pStyle->m_StyleType);
|
||||
GAMESTATE->GetNumStagesMultiplierForSong(pSong);
|
||||
|
||||
if( bShowThisStepsType && bEnoughStages )
|
||||
vOut.insert( *st );
|
||||
|
||||
Reference in New Issue
Block a user