* 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);
* replaced blocking/blocked by predicates
* added test for knight of dusk (currently fails)
* added source parameter to filters and everything else that needs it
* some changes to various predicates
* test fix
* small changes to filter code
* merge fix
* fixed a test failure
* small change to Karn, Scion of Urza
* removed sourceId from filter methods and other similar places
* added new getobject method to fix some test failures
* a few more fixes
* fixed merge conflicts
* merge fix
* added function for casting spells with specific attributes from a selection of cards
* updated cascade to use new method
* refactored various cards to use new methods
* added TestPlayer method
* fixed a small error
* text fix
* broke out some repeated code
* added missing notTarget setting
* add additional retain zone check
* some more cards refactored
* more refactoring
* added interface for split/modal cards
* reworked spell casting methods
* reworked multiple cast to prevent unnecessary dialogs
* fixed test failures due to change in functionality
* add AI code
* small nonfunctional change
* reworked Kaya, the Inexorable
* added currently failing test
* added more tests
* updated Geode Golem implementation
* fixed adventure/cascade interaction, added/updated tests
* some nonfunctional refactoring
* added interface for subcards
* [AFC] Implemented Fevered Suspicion
* [AFC] Implemented Extract Brain
* [AFC] updated Arcane Endeavor implementation
* [C17] reworked implementation of Izzet Chemister
* [ZEN] reworked implemented of Chandra Ablaze
* additional merge fix
* [SLD] updated Eleven, the Mage
* [NEO] Implemented Discover the Impossible
* [NEO] Implemented The Dragon-Kami Reborn / Dragon-Kami's Egg
* [NEO] Implemented Invoke Calamity
* [AFR] Implemented Rod of Absorption
* [VOC] Implemented Spectral Arcanist
* [VOC] added additional printings
* [NEO] added all variants
* [SLD] updated implementation of Ken, Burning Brawler
* adding initial day/night support in game state
* remove card exclusion for testing
* added functional implementation to abilities from main branch
* functionally implemented NightCondition
* updated DayNightHint
* added support for nightbound entering transformed at night
* [MID] Implemented Unnatural Moonrise
* [MID] Implemented The Celestus
* added some docs
* changed access for state day/night methods
* added transformation to day/night switch
* re-added unfinished filter, removed day/night cards
* fixed some errors with transforming
* added hints to all day/night cards
* added transformation prevention plus a test
* added Immerwolf test
* [MID] Implemented Tovolar, Dire Overlord / Tovolar, The Midnight Scourge
* refactored some cards to not use isTransformable
* removed transformable parameter
* simplified some transform code
* fixed null pointer exception
* removed unnecessary canTransform method
* fixed a small error
* reworked implementation of rule 701.28f
* small change in transform logic
* fixed failiing test
* fixed verify failure
* small merge change
* added support for day/night switching based on spells cast
* [MID] Implemented Curse of Leeches / Leeching Lurkers
* moved day/night handling to untap step
* added tests for cards which set day and trigger from a change
* [MID] Implemented Ludevic, Necrogenius / Olag, Ludevic's Hubris
* added support for creatures transforming to match day/night when necessary
* fixed verify failures
* fixed another verify failure
* remove temporary verify skip
* added transform message
* removed unnecessary transform message
* [MID] Implemented Angelic Enforcer / Enduring Angel
* updated DayNightHint with more information
* fixed verify failure
* merge fix
* fixed Startled Awake / Persistent Nightmare / Moonmist interaction
* added another test for Moonmist
* merge fix
* merge fix
* [MID] Implemented Baneblade Scoundrel / Baneclaw Marauder
* merge fix
* [MID] various text fixes
* [MID] a few more text fixes
* Merge fix
* Improved transform game logs (hints, source), fixed day/night logs, fixed miss game param (due code style);
* fixed a test failure
* Merge fix
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
* 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>
* [KHM] fixed that some effects can't find mdf commanders on battlefield (example: Fierce Guardianship, #7504);
* Oathbreaker: fixed that some cards that refer to commander can affects signature spells too;