Compare commits

..

1 commit

Author SHA1 Message Date
6be9e2e39a get double dip accessible via debug console 2026-08-04 22:44:56 -07:00

View file

@ -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<string> EnemyUpgradeNames()
{
var names = new List<string>();
@ -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;