下落调整
This commit is contained in:
+7
-10
@@ -823,14 +823,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
{
|
{
|
||||||
shouldRefresh = true;
|
shouldRefresh = true;
|
||||||
}
|
}
|
||||||
if (shouldRefresh)
|
|
||||||
{
|
|
||||||
InvalidateRect(hWnd, nullptr, FALSE);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentMode == MODE_ROGUE && rogueStats.feverTicks > 0)
|
if (currentMode == MODE_ROGUE && !IsRogueSkillDemoMode() && rogueStats.feverTicks > 0)
|
||||||
{
|
{
|
||||||
rogueStats.feverTicks--;
|
rogueStats.feverTicks--;
|
||||||
currentFallInterval = GetRogueFallInterval();
|
currentFallInterval = GetRogueFallInterval();
|
||||||
@@ -839,6 +834,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (currentMode == MODE_ROGUE &&
|
if (currentMode == MODE_ROGUE &&
|
||||||
|
!IsRogueSkillDemoMode() &&
|
||||||
rogueStats.timeDilationTicks > 0 &&
|
rogueStats.timeDilationTicks > 0 &&
|
||||||
currentScreen == SCREEN_PLAYING &&
|
currentScreen == SCREEN_PLAYING &&
|
||||||
!suspendFlag &&
|
!suspendFlag &&
|
||||||
@@ -850,7 +846,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
shouldRefresh = true;
|
shouldRefresh = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentMode == MODE_ROGUE && rogueStats.extremeSlowTicks > 0)
|
if (currentMode == MODE_ROGUE && !IsRogueSkillDemoMode() && rogueStats.extremeSlowTicks > 0)
|
||||||
{
|
{
|
||||||
rogueStats.extremeSlowTicks--;
|
rogueStats.extremeSlowTicks--;
|
||||||
currentFallInterval = GetRogueFallInterval();
|
currentFallInterval = GetRogueFallInterval();
|
||||||
@@ -859,6 +855,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (currentMode == MODE_ROGUE &&
|
if (currentMode == MODE_ROGUE &&
|
||||||
|
!IsRogueSkillDemoMode() &&
|
||||||
rogueStats.extremePlayerLevel > 0 &&
|
rogueStats.extremePlayerLevel > 0 &&
|
||||||
currentScreen == SCREEN_PLAYING &&
|
currentScreen == SCREEN_PLAYING &&
|
||||||
!suspendFlag &&
|
!suspendFlag &&
|
||||||
@@ -884,7 +881,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentMode == MODE_ROGUE && rogueStats.holdSlowTicks > 0)
|
if (currentMode == MODE_ROGUE && !IsRogueSkillDemoMode() && rogueStats.holdSlowTicks > 0)
|
||||||
{
|
{
|
||||||
rogueStats.holdSlowTicks--;
|
rogueStats.holdSlowTicks--;
|
||||||
currentFallInterval = GetRogueFallInterval();
|
currentFallInterval = GetRogueFallInterval();
|
||||||
@@ -896,7 +893,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
!suspendFlag &&
|
!suspendFlag &&
|
||||||
!gameOverFlag)
|
!gameOverFlag)
|
||||||
{
|
{
|
||||||
if (currentMode == MODE_ROGUE)
|
if (currentMode == MODE_ROGUE && !IsRogueSkillDemoMode())
|
||||||
{
|
{
|
||||||
int previousFallInterval = currentFallInterval;
|
int previousFallInterval = currentFallInterval;
|
||||||
AdvanceRogueDifficulty(currentFallInterval > 0 ? currentFallInterval : GAME_TIMER_INTERVAL);
|
AdvanceRogueDifficulty(currentFallInterval > 0 ? currentFallInterval : GAME_TIMER_INTERVAL);
|
||||||
@@ -906,7 +903,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentMode == MODE_ROGUE && rogueStats.timeDilationLevel > 0 && rogueStats.timeDilationTicks <= 0)
|
if (currentMode == MODE_ROGUE && !IsRogueSkillDemoMode() && rogueStats.timeDilationLevel > 0 && rogueStats.timeDilationTicks <= 0)
|
||||||
{
|
{
|
||||||
int occupiedHeight = 0;
|
int occupiedHeight = 0;
|
||||||
int playableHeight = GetRoguePlayableHeight();
|
int playableHeight = GetRoguePlayableHeight();
|
||||||
|
|||||||
@@ -501,6 +501,7 @@ void Fixing()
|
|||||||
rogueStats.screenBombCount--;
|
rogueStats.screenBombCount--;
|
||||||
|
|
||||||
int clearedByTerminal = TriggerScreenBomb();
|
int clearedByTerminal = TriggerScreenBomb();
|
||||||
|
ApplyBoardGravity();
|
||||||
rogueStats.feverTicks = 10;
|
rogueStats.feverTicks = 10;
|
||||||
currentFallInterval = GetRogueFallInterval();
|
currentFallInterval = GetRogueFallInterval();
|
||||||
|
|
||||||
@@ -519,6 +520,7 @@ void Fixing()
|
|||||||
{
|
{
|
||||||
DeleteOneLine(GetRoguePlayableHeight() - 1);
|
DeleteOneLine(GetRoguePlayableHeight() - 1);
|
||||||
}
|
}
|
||||||
|
ApplyBoardGravity();
|
||||||
|
|
||||||
SetFeedbackMessage(
|
SetFeedbackMessage(
|
||||||
_T("最后一搏"),
|
_T("最后一搏"),
|
||||||
@@ -743,7 +745,7 @@ int DeleteLines()
|
|||||||
}
|
}
|
||||||
|
|
||||||
ApplyLineClearResult(clearedLines);
|
ApplyLineClearResult(clearedLines);
|
||||||
if (currentMode == MODE_CLASSIC && clearedLines > 0)
|
if (clearedLines > 0)
|
||||||
{
|
{
|
||||||
ApplyBoardGravity();
|
ApplyBoardGravity();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -272,7 +272,7 @@ static void ClearLockedRows()
|
|||||||
*/
|
*/
|
||||||
void AdvanceRogueDifficulty(int elapsedMs)
|
void AdvanceRogueDifficulty(int elapsedMs)
|
||||||
{
|
{
|
||||||
if (currentMode != MODE_ROGUE || currentScreen != SCREEN_PLAYING || suspendFlag || gameOverFlag || elapsedMs <= 0)
|
if (currentMode != MODE_ROGUE || rogueDemoMode || currentScreen != SCREEN_PLAYING || suspendFlag || gameOverFlag || elapsedMs <= 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -303,6 +303,7 @@ void AdvanceRogueDifficulty(int elapsedMs)
|
|||||||
{
|
{
|
||||||
rogueStats.lockedRows = nextLockedRows;
|
rogueStats.lockedRows = nextLockedRows;
|
||||||
ClearLockedRows();
|
ClearLockedRows();
|
||||||
|
ApplyBoardGravity();
|
||||||
ComputeTarget();
|
ComputeTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2224,6 +2225,8 @@ void ApplyLineClearResult(int linesCleared)
|
|||||||
|
|
||||||
if (clearedBySweeper > 0)
|
if (clearedBySweeper > 0)
|
||||||
{
|
{
|
||||||
|
ApplyBoardGravity();
|
||||||
|
|
||||||
TCHAR sweeperDetail[128];
|
TCHAR sweeperDetail[128];
|
||||||
_stprintf_s(
|
_stprintf_s(
|
||||||
sweeperDetail,
|
sweeperDetail,
|
||||||
@@ -2322,6 +2325,10 @@ static void ResolvePendingUpgradeShockwave()
|
|||||||
pendingEvolutionImpactShockwave = false;
|
pendingEvolutionImpactShockwave = false;
|
||||||
|
|
||||||
int clearedRows = TriggerUpgradeShockwave(shockwaveRows);
|
int clearedRows = TriggerUpgradeShockwave(shockwaveRows);
|
||||||
|
if (clearedRows > 0)
|
||||||
|
{
|
||||||
|
ApplyBoardGravity();
|
||||||
|
}
|
||||||
int effectRows[4] = {};
|
int effectRows[4] = {};
|
||||||
int effectRowCount = clearedRows;
|
int effectRowCount = clearedRows;
|
||||||
if (effectRowCount > 4)
|
if (effectRowCount > 4)
|
||||||
|
|||||||
Reference in New Issue
Block a user