From 72df9d474a0439521c8f7f269e4064177b0433c3 Mon Sep 17 00:00:00 2001 From: Qi-huanye <2728290997@qq.com> Date: Sun, 26 Apr 2026 00:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=90=E5=88=B6=20Rogue=20=E8=BF=9B=E5=8C=96?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E7=9A=84=E5=89=8D=E7=BD=AE=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/source/TetrisRogue.cpp | 48 ++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/source/TetrisRogue.cpp b/src/source/TetrisRogue.cpp index ebc0808..5ad7fb1 100644 --- a/src/source/TetrisRogue.cpp +++ b/src/source/TetrisRogue.cpp @@ -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 &&