- added auto-generated token names for CreatureToken;
- added verify tests for token names;
- removed outdated ElementalCreatureToken;
- fixed wrong indefinite article in some tokens;
- fixed miss Token in some token names (related to #10139);
- tests: added support of set code in custom ability (see addCustomCardWithAbility);
- tests: added additional tests for token images (related to #10139, #10222);
- fixed wrong token images for copied cards/tokens (#10222);
Fixesmagefree/mage#10045.
Lynde wasn't keeping track which zone cards were in before bring them back, let alone zone change counters.
Many similar effects are only looking at the current zone rather than zone change counters.
- added reminder / helper tokens support (example: Copy, Morph, Day // Night, related to #10139);
- added verify checks for reminder tokens;
- added images download for reminder tokens;
* remove incubate skip
* initial implementation of DFC tokens
* separate incubator back face to separate class
* small refactor to token copy function
* token copies now have back faces as well
* effects which modify token copies now correctly apply to both faces
* add skip for exception
* tokens now enter transformed correctly
* [MOC] remove skip for incubate
* fix verify failure
- now token images chosen by tokens database instead availableImageSetCodes (related to #10139);
- added additional verify checks for tokens database;
- fixed some tokens;
* Alandra Sky Dreamer
DrawSecondCardTriggeredAbility refactored into DrawCardTriggeredAbility
DynamicValue support for DrawCardTriggeredAbility
DynamicValue support for BoostAllOfChosenSubtypeEffect
* cardNumber as int
static use of cardwatcher
* removing spaces
* FaerieMastermind and ZimoneAndDina using the new generic DrawCardTriggeredAbility
* AlandraSkyDreamer and DrawCardTriggeredAbility test
* renaming DrawCardTriggeredAbility to DrawNthCardTriggeredAbility
* merging the boost effects into a single ability
* merging two effects to the same ability
* text added to effects
---------
Co-authored-by: drago <drago@192.168.1.72>
* add types and subtypes
* add startingDefense attribute
* [MOM] Implement Invasion of Ravnica / Guildpact Paragon
* fix two small errors
* refactor various instances of "any target"
* fully implement defense counters
* battles can now be attacked
* [MOM] Implement Invasion of Dominaria / Serra Faithkeeper
* [MOM] Implement Invasion of Innistrad / Deluge of the Dead
* [MOM] Implement Invasion of Kaladesh / Aetherwing, Golden-Scale Flagship
* [MOM] Implement Invasion of Kamigawa / Rooftop Saboteurs
* [MOM] Implement Invasion of Karsus / Refraction Elemental
* [MOM] Implement Invasion of Tolvada / The Broken Sky
* simplify battle info ability
* fix verify failure
* some more fixes for attacking battles
* [MOM] Implement Invasion of Kaldheim / Pyre of the World Tree
* [MOM] Implement Invasion of Lorwyn / Winnowing Forces
* [MOM] Implement Invasion of Moag / Bloomwielder Dryads
* [MOM] Implement Invasion of Shandalar / Leyline Surge
* [MOM] Implement Invasion of Belenon / Belenon War Anthem
* [MOM] Implement Invasion of Pyrulea / Gargantuan Slabhorn
* [MOM] Implement Invasion of Vryn / Overloaded Mage-Ring
* [MOM] Implement Marshal of Zhalfir
* [MOM] Implement Sunfall
* implement protectors for sieges
* partially implement siege defeated trigger
* fix verify failure
* some updates to blocking
* [MOM] Implement Invasion of Mercadia / Kyren Flamewright
* [MOM] Implement Invasion of Theros / Ephara, Ever-Sheltering
* [MOM] Implement Invasion of Ulgrotha / Grandmother Ravi Sengir
* [MOM] Implement Invasion of Xerex / Vertex Paladin
* add initial battle test
* fix verify failure
* [MOM] Implement Invasion of Amonkhet / Lazotep Convert
* [MOM] update spoiler
* update how protectors are chosen
* update text
* battles can't block
* add control change test
* rename battle test for duel
* add multiplayer test
* [MOM] Implement Invasion of Alara / Awaken the Maelstrom
* [MOM] Implement Invasion of Eldraine
* [MOM] Implement Invasion of Ergamon / Truga Cliffhanger
* [MOM] Implement Invasion of Ixalan / Belligerent Regisaur
* battles now cast transformed (this is super hacky but we need to refactor TDFCs anyway)
* add TODO
* add ignore for randomly failing test
* a few small fixes
* add defense to MtgJsonCard (unused like loyalty)
* implement ProtectorIdPredicate
* small fixes
- removed outdated code;
- updated logic to choose a set code for a tokens in different use cases (related to #10150);
- added many tests for client and server token's data (related to #10139);
- prepare for tokens database (related #6955);
* now it show face up cards in game logs on game end;
* now it show face up cards in battlefield on game end (#4635);
* fixed that real card face was visible in network data;
- removed outdated token store format (example: BIRD.W.BIRD.CREATURE.1.1.full.jpg)
- removed duplicated cache images code;
- removed duplicated set code fields;
- removed outdated auto-generated thumb files (also all *.thumb.zip files will be deleted on startup);
* Test fixes and improvements (for debugging)
* Remove set log level
* Remove info log from CardRepository
Co-authored-by: Hugh Kaznowski <raat_streetcam@simplelogin.com>