Fix combos (does ScoreKeeper5th need fixing too?)

This commit is contained in:
Ben Anderson
2004-12-29 19:12:25 +00:00
parent 703b15b2ab
commit dee52f75b1
2 changed files with 12 additions and 6 deletions
+8 -6
View File
@@ -1290,32 +1290,34 @@ void PlayerMinus::HandleTapRowScore( unsigned row )
/* Update miss combo, and handle "combo stopped" messages. */
int iDummy = 0;
int &iCurCombo = m_pPlayerStageStats ? m_pPlayerStageStats->iCurCombo : iDummy;
int &iCurMissCombo = m_pPlayerStageStats ? m_pPlayerStageStats->iCurMissCombo : iDummy;
switch( scoreOfLastTap )
{
case TNS_MARVELOUS:
case TNS_PERFECT:
case TNS_GREAT:
iCurCombo = 0;
iCurMissCombo = 0;
SCREENMAN->PostMessageToTopScreen( SM_MissComboAborted, 0 );
break;
case TNS_MISS:
++iCurCombo;
++iCurMissCombo;
m_iDCState = AS2D_MISS; // update dancing 2d characters that may have missed a note
case TNS_GOOD:
case TNS_BOO:
if( iCurCombo > 50 )
if( iCurMissCombo > 50 )
SCREENMAN->PostMessageToTopScreen( SM_ComboStopped, 0 );
iCurCombo = 0;
iCurMissCombo = 0;
break;
default:
ASSERT( 0 );
}
/* The score keeper updates the hit combo. Remember the old combo for handling announcers. */
/* The score keeper updates the hit combo. */
int &iCurCombo = m_pPlayerStageStats ? m_pPlayerStageStats->iCurCombo : iDummy;
/* Remember the old combo for handling announcers. */
const int iOldCombo = 0;
if( m_pPlayerStageStats )
m_pPlayerStageStats->iCurCombo;
+4
View File
@@ -357,9 +357,13 @@ void ScoreKeeperMAX2::HandleTapRowScore( TapNoteScore scoreOfLastTap, int iNumTa
}
const int ComboCountIfHit = ComboIsPerRow? 1: iNumTapsInRow;
TapNoteScore MinScoreToContinueCombo = GAMESTATE->m_PlayMode == PLAY_MODE_ONI? TNS_PERFECT:TNS_GREAT;
TapNoteScore MinScoreToMaintainCombo = TNS_GREAT;
if( scoreOfLastTap >= MinScoreToContinueCombo )
m_pPlayerStageStats->iCurCombo += ComboCountIfHit;
else
if( scoreOfLastTap < MinScoreToMaintainCombo )
m_pPlayerStageStats->iCurCombo = 0;
AddScore( scoreOfLastTap ); // only score once per row