限制 Rogue 进化升级的前置条件

This commit is contained in:
2026-04-26 00:14:07 +08:00
parent 917da3cebb
commit 72df9d474a
+25 -23
View File
@@ -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 &&