fix demonstration doing badly when modifiers are active
This commit is contained in:
@@ -29,7 +29,7 @@ struct TapScoreDistribution
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TapScoreDistribution g_Distributions[NUM_SKILL_LEVELS];
|
static TapScoreDistribution g_Distributions[NUM_SKILL_LEVELS];
|
||||||
|
|
||||||
|
|
||||||
void PlayerAI::InitFromDisk()
|
void PlayerAI::InitFromDisk()
|
||||||
@@ -65,16 +65,23 @@ void PlayerAI::InitFromDisk()
|
|||||||
TapNoteScore PlayerAI::GetTapNoteScore( const PlayerState* pPlayerState )
|
TapNoteScore PlayerAI::GetTapNoteScore( const PlayerState* pPlayerState )
|
||||||
{
|
{
|
||||||
int iCpuSkill = pPlayerState->m_iCpuSkill;
|
int iCpuSkill = pPlayerState->m_iCpuSkill;
|
||||||
int iSumOfAttackLevels =
|
|
||||||
pPlayerState->m_fSecondsUntilAttacksPhasedOut > 0 ?
|
|
||||||
pPlayerState->m_iLastPositiveSumOfAttackLevels :
|
|
||||||
0;
|
|
||||||
|
|
||||||
ASSERT_M( iCpuSkill>=0 && iCpuSkill<NUM_SKILL_LEVELS, ssprintf("%i", iCpuSkill) );
|
/* If we're in battle mode, reduce the skill based on the number of modifier attacks
|
||||||
ASSERT_M( pPlayerState->m_PlayerController == PC_CPU, ssprintf("%i", pPlayerState->m_PlayerController) );
|
* against us. If we're in demonstration or jukebox mode with modifiers attached,
|
||||||
|
* don't make demonstration miss a lot. */
|
||||||
|
if( !GAMESTATE->m_bDemonstrationOrJukebox )
|
||||||
|
{
|
||||||
|
int iSumOfAttackLevels =
|
||||||
|
pPlayerState->m_fSecondsUntilAttacksPhasedOut > 0 ?
|
||||||
|
pPlayerState->m_iLastPositiveSumOfAttackLevels :
|
||||||
|
0;
|
||||||
|
|
||||||
iCpuSkill -= iSumOfAttackLevels*3;
|
ASSERT_M( iCpuSkill>=0 && iCpuSkill<NUM_SKILL_LEVELS, ssprintf("%i", iCpuSkill) );
|
||||||
CLAMP( iCpuSkill, 0, NUM_SKILL_LEVELS-1 );
|
ASSERT_M( pPlayerState->m_PlayerController == PC_CPU, ssprintf("%i", pPlayerState->m_PlayerController) );
|
||||||
|
|
||||||
|
iCpuSkill -= iSumOfAttackLevels*3;
|
||||||
|
CLAMP( iCpuSkill, 0, NUM_SKILL_LEVELS-1 );
|
||||||
|
}
|
||||||
|
|
||||||
TapScoreDistribution& distribution = g_Distributions[iCpuSkill];
|
TapScoreDistribution& distribution = g_Distributions[iCpuSkill];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user