The 3rd auto-line is necessary because without it Mox Diamond will give you the chance to add mana without discarding a land when the "action-choice-window" opens.
After weeks of hard work, I can proudly present you this huge package of cards, based only on already existing card code elements.
Some examples and important notes:
- Cards that get buried if you don't fulfill a condition
1. when they enter the battlefield (Hidden Horror[WEL]; Mercenary Knight, Thundering Wurm [both POR])
2. during your upkeep (Endless Wurm[USG]).
- Cards that allow to draw a card, then discard a card when entering the battlefield or damaging an opponent (Owl Familiar[POR], Looter il-Kor[TSP]).
IMPORTANT NOTE: Those cards work only correctly because the draw effect resolves before the discard effect.
Instants and Sorceries with such effects or permanents that have an activation cost for drawing, then discarding a card won't work because the two effects don't trigger in the correct order.
- Land cycle from Visions and Planeshift (both very puzzling, but working perfectly!)
I also updated World enchantments (tested & working, see rules for them in Gatherer!)
Several card fixes.
If you have any questions, post them! ;)
- fix for issue 301 (creatures go to graveyard)
- This adds an important change to "movedTo", which now accepts a "full" target description in both "from" and "movedTo". The point is that a card does not move to "creature|graveyard" from "battlefield" but moves from "creature|battlefield" to "graveyard".
- fix issue 153 (Tokens should go to graveyard)
- "token" keyword can now be used in the parser with things such as Creature[-token] for "noncreature token"
- Let's stop using "token" as a type
- IMPORTANT: Legendary is not an ability anymore, creating cards with super types should be much more natural. You can now say "type=Snow Land", and stuff like that. No backward compatibility!!!
Crosswinds (USG) - wrong manacost, also copy/pasted to the wrong position in the file
Akroma's Blessing (ONS) - cycling was in an auto= rule instead of an autohand= rule
Riptide Crab (INV) - was missing vigilance
Thanks to Raphael_Carlo for the bug reports
Important: I just realized that the fix to Reiver Demon will probably lead to problems later on. The problem is this: Reiver Demon has an ability "When yu play this from your hand ...". This was coded as @moveto(this|mybattlefield) from(mayhand). Which doesn't work, because the card doesn't actually enter the battlefield from the hand, it enters from the stack. So, "@moveto(this|mybattlefield) from(maystack)" has the desired effect. However, IIUC, spells played from anywhere else (e.g. from the graveyard, if they allow that) should be placed on the stack to. Hence, the "fixed" trigger will also fire in this case, which is wrong.
This means that we can't actually code "played from ..." entirely correct at the moment. Is there a solution for this?
According to the rules, only a copy of a spell enters the stack (never the spell itself), so could the "from()" part access where the card actually came from?
Do we need an @played trigger to differentiate between moving a card and actually playing it?