限制 Rogue 进化升级的前置条件
This commit is contained in:
+25
-23
@@ -265,27 +265,6 @@ static int GetUpgradeDynamicWeight(const UpgradeEntry& entry)
|
|||||||
weight += 20;
|
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;
|
return weight < 1 ? 1 : weight;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -315,22 +294,45 @@ static bool IsUpgradeSelectable(const UpgradeEntry& entry)
|
|||||||
if (entry.id == UPGRADE_THUNDER_LASER)
|
if (entry.id == UPGRADE_THUNDER_LASER)
|
||||||
{
|
{
|
||||||
return rogueStats.thunderTetrisLevel > 0 &&
|
return rogueStats.thunderTetrisLevel > 0 &&
|
||||||
|
rogueStats.laserLevel > 0 &&
|
||||||
rogueStats.thunderLaserLevel == 0;
|
rogueStats.thunderLaserLevel == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entry.id == UPGRADE_INFINITE_FEVER)
|
if (entry.id == UPGRADE_INFINITE_FEVER)
|
||||||
{
|
{
|
||||||
return rogueStats.feverLevel > 0 &&
|
return rogueStats.feverLevel > 0 &&
|
||||||
|
rogueStats.rageStackLevel > 0 &&
|
||||||
rogueStats.infiniteFeverLevel == 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)
|
if (entry.id == UPGRADE_CONTROL_MASTER)
|
||||||
{
|
{
|
||||||
return rogueStats.perfectRotateLevel > 0 &&
|
return rogueStats.holdUnlocked > 0 &&
|
||||||
rogueStats.holdUnlocked > 0 &&
|
rogueStats.previewUpgradeLevel > 0 &&
|
||||||
rogueStats.controlMasterLevel == 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)
|
if (entry.id == UPGRADE_VOID_CORE)
|
||||||
{
|
{
|
||||||
return rogueStats.blackHoleLevel > 0 &&
|
return rogueStats.blackHoleLevel > 0 &&
|
||||||
|
|||||||
Reference in New Issue
Block a user