Trial and error has hit a dead end
I'm trying to create a custom planeswalker with the ability to put a token into play, which token grants a bonus to its controller's creatures based on the number of loyalty counters on the planeswalker.
Text: -5 loyalty counters: Put an enchantment token into play with: "Each creature you control gains +1/+1 for each loyalty counter on Custom Planeswalker"
When I create the token, I call "ImprintToken" so Planeswalker can always reference its tokens. But I need a way to remember the Planeswalker on the token, so the token knows how many loyalty counters are on Planeswalker. Now I've looked at the code for almost every card that uses the Remember or Imprint key words and for the life of me I can't figure out how they work.
Best guess of how it might look (but this doesn't work):
- Code: Select all
A:AB$ Token | Cost$ SubCounter<5/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenName$ Custom Planeswalker Token | TokenTypes$ Enchantment | TokenOwner$ You | TokenColors$ White | ImprintTokens$ True | Ultimate$ True | SpellDescription$ Put an enchantment token onto the battlefield under your control with "Creatures you control get +1/+1 for each loyalty counter on Custom Planeswalker."
S:Mode$ Continuous | Affected$ Card.IsImprinted | AddStaticAbility$ STPump | AddSVar$ Y & YCleanup
SVar:STPump:Mode$ Continuous | ImprintCards$ OriginalHost | Affected$ Creature.YouCtrl | AddPower$ Y | AddToughness$ 1 | Description$ Creatures you control get +1/+1 for each loyalty counter on Custom Planeswalker.
SVar:Y:Count$TotalCounters_LOYALTY_Card.IsImprinted+namedCustom Planeswalker
With the above code, the token grants +0/+1 to each creature, so I know the pump is working, but the imprinting isn't.
Archery Training has been one of the better references I've had to work with, but I've come to the conclusion that "OriginalHost" is a keyword used by auras and won't work for a global enchantment.
The best workaround idea I have is to mimic
Saproling Burst and push the number of loyalty counters to the token by adding counters to the token, and then count those counters. But I'd much rather make it work natively.