Name:Dual Nature
ManaCost:4 G G
Types:Enchantment
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.nonToken | TriggerZones$ Battlefield | Execute$ TrigDualCopy | TriggerDescription$ Whenever a nontoken creature enters the battlefield, its controller creates a token that's a copy of that creature.
SVar:TrigDualCopy:DB$ CopyPermanent | Defined$ TriggeredCard | Controller$ TriggeredCardController | RememberTokens$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Creature.nonToken | TriggerZones$ Battlefield | Execute$ TrigDualExile | TriggerDescription$ Whenever a nontoken creature leaves the battlefield, exile all tokens with the same name as that creature.
SVar:TrigDualExile:DB$ ChangeZoneAll | ChangeType$ Triggered.sameName+token | Origin$ Battlefield | Destination$ Exile
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigDualExileAll | TriggerDescription$ When CARDNAME leaves the battlefield, exile all tokens created with CARDNAME.
SVar:TrigDualExileAll:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.IsRemembered | TriggerZones$ Battlefield | Execute$ TrigForget | Static$ True
SVar:TrigForget:DB$ Pump | ForgetObjects$ TriggeredCard
Oracle:Whenever a nontoken creature enters the battlefield, its controller creates a token that's a copy of that creature.\nWhenever a nontoken creature leaves the battlefield, exile all tokens with the same name as that creature.\nWhen Dual Nature leaves the battlefield, exile all tokens created with Dual Nature.
