限制 Rogue 进化升级的前置条件
This commit is contained in:
+25
-23
@@ -265,27 +265,6 @@ static int GetUpgradeDynamicWeight(const UpgradeEntry& entry)
|
||||
weight += 20;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_CHAIN_BOMB && rogueStats.explosiveLevel == 0)
|
||||
{
|
||||
weight -= 60;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_THUNDER_LASER && rogueStats.thunderTetrisLevel == 0)
|
||||
{
|
||||
weight -= 80;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_INFINITE_FEVER && rogueStats.feverLevel == 0)
|
||||
{
|
||||
weight -= 80;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_VOID_CORE &&
|
||||
(rogueStats.blackHoleLevel == 0 || rogueStats.rainbowPieceLevel == 0))
|
||||
{
|
||||
weight -= 90;
|
||||
}
|
||||
|
||||
return weight < 1 ? 1 : weight;
|
||||
}
|
||||
|
||||
@@ -315,22 +294,45 @@ static bool IsUpgradeSelectable(const UpgradeEntry& entry)
|
||||
if (entry.id == UPGRADE_THUNDER_LASER)
|
||||
{
|
||||
return rogueStats.thunderTetrisLevel > 0 &&
|
||||
rogueStats.laserLevel > 0 &&
|
||||
rogueStats.thunderLaserLevel == 0;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_INFINITE_FEVER)
|
||||
{
|
||||
return rogueStats.feverLevel > 0 &&
|
||||
rogueStats.rageStackLevel > 0 &&
|
||||
rogueStats.infiniteFeverLevel == 0;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_TERMINAL_CLEAR)
|
||||
{
|
||||
return rogueStats.lastChanceUpgradeLevel > 0 &&
|
||||
rogueStats.screenBombLevel > 0 &&
|
||||
rogueStats.feverLevel > 0 &&
|
||||
rogueStats.terminalClearLevel == 0;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_DESTINY_WHEEL)
|
||||
{
|
||||
return rogueStats.dualChoiceLevel > 0 &&
|
||||
rogueStats.destinyWheelLevel == 0;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_CONTROL_MASTER)
|
||||
{
|
||||
return rogueStats.perfectRotateLevel > 0 &&
|
||||
rogueStats.holdUnlocked > 0 &&
|
||||
return rogueStats.holdUnlocked > 0 &&
|
||||
rogueStats.previewUpgradeLevel > 0 &&
|
||||
rogueStats.controlMasterLevel == 0;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_EXTREME_PLAYER)
|
||||
{
|
||||
return rogueStats.highPressureLevel > 0 &&
|
||||
rogueStats.tetrisGambleLevel > 0 &&
|
||||
rogueStats.extremePlayerLevel == 0;
|
||||
}
|
||||
|
||||
if (entry.id == UPGRADE_VOID_CORE)
|
||||
{
|
||||
return rogueStats.blackHoleLevel > 0 &&
|
||||
|
||||
Reference in New Issue
Block a user