* 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
* 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);
* added images download for melds cards (#9660);
* added switch card side button to view a meld part;
* fixed NPE and other errors on card side switching;
* added meld cards support in test render dialog;
* added transform button to permanents on battlefield to view another card side;
* fixed wrong popup hints in some use cases (example: alternative side view by mouse wheel down, #8433);
* added additional and improved timing options for pick timeouts (x1.0, x1.5, x2.0, see #8033);
* added pick timing info in tables list (info column);
* fixed that booster draft starts with wrong pick timeout (#8036);
* added dungeon and dungeon room class
* [AFR] Implemented Tomb of Annihilation
* [AFR] Implemented Shortcut Seeker
* [AFR] Implemented Gloom Stalker
* [AFR] Implemented Nadaar, Selfless Paladin
* added room triggers
* added more venturing code, currently untested
* fixed error
* moved venture into dungeon from player class to game class
* removed unnecessary sourceobject from dungeon
* fixed npe error
* added dungeon completion
* fixed concurrent modification exception
* added logging
* added proper copy methods
* added views
* updated room text generation
* added some missing code
* finished implementing CompletedDungeonCondition
* [AFR] Implemented Ellywick Tumblestrum
* [AFR] Implemented Lost Mine of Phandelver
* added choice dialog for dungeons
* [AFR] Implemented Dungeon of the Mad Mage
* small text fix
* added initial dungeon test
* [AFR] Implemented Cloister Gargoyle
* [AFR] Implemented Dungeon Crawler
* small text change for dungeon rooms
* added more tests
* some simplification to dungeon props
* updated testing helper functions
* added currently failing test for venturing on separate steps and turns
* added tests for dungeon completion
* fixed missing trigger visual and dungeons not persisting through turns
* some text updates
* added rollback test
* added a test for multiple dungeons at once
* added one more condition test
* Implemented chooseTargetAmount and new GUI dialog (distribute damage, distribute mana)
* Added tests and AI support;
* Test framework: added aliases support in TargetAmount dialogs;
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>