diff --git a/Assets/_Project/Scripts/Dev/DebugConsole.cs b/Assets/_Project/Scripts/Dev/DebugConsole.cs index 718a038..6ffbf2b 100644 --- a/Assets/_Project/Scripts/Dev/DebugConsole.cs +++ b/Assets/_Project/Scripts/Dev/DebugConsole.cs @@ -357,11 +357,12 @@ namespace TD.Dev return names; } - // Display names of every pooled AbilityEnemyUpgradeOption, alphabetically. Mirrors + // Display names of every pooled EnemyUpgradeOption, alphabetically. Mirrors // DraftOptionNames above — EnemyUpgradePool is the enemy-side equivalent of DraftPool, - // and this is the same Count/Get surface ExecuteGrantEnemyAbility walks. Non-ability - // cards (e.g. the vote-meta "Double Dip") aren't an AbilityEnemyUpgradeOption, so they - // don't show up here even though they're in the pool. + // and this is the same Count/Get surface ExecuteGrantEnemyAbility walks. Includes + // non-ability cards too (e.g. the vote-meta "Double Dip") — DebugGrantEnemyUpgradeRpc + // resolves through EnemyUpgradeOption.ServerOnApplied regardless of subclass, so + // there's nothing this command can't actually grant. private static List EnemyUpgradeNames() { var names = new List(); @@ -371,7 +372,7 @@ namespace TD.Dev for (int i = 0; i < pool.Count; i++) { - var option = pool.Get(i) as AbilityEnemyUpgradeOption; + var option = pool.Get(i); if (option == null) continue; string name = option.DisplayName; @@ -720,7 +721,7 @@ namespace TD.Dev string normalizedTarget = Normalize(nameToken); for (int i = 0; i < pool.Count; i++) { - var option = pool.Get(i) as AbilityEnemyUpgradeOption; + var option = pool.Get(i); if (option == null || Normalize(option.DisplayName) != normalizedTarget) continue; var relay = DebugCommandRelay.Local;