* [SNC] Implemented shield counter mechanic
* Rework shield counter to be a global replacement effect
* Add unit test for shield counter
Co-authored-by: Evan Kranzler <theelk801@gmail.com>
* 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
* [CMR] Implemented The Prismatic Piper
* updated commander validation to handle The Prismatic Piper
* created abstract base class for commander variants
* added ability to prismatic piper
* added game init handling
* small revert
* small reorganization of tests
* added some validation tests for piper
* added more tests for piper
* add another test
* added decklist comments to tests
* added some more piper tests
* added another test
* added mana option tests
* added a companion test
* fix conflict
* updated abstract commander to work with Friends forever
* merge fix
* Deck: added details for illegal validation of companion card;
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
* 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>
* simulated games was able to change objects from another games (ConcurrentModificationException, related to d202278ccd, details in 3a6cdd2615);
* AI: fixed cards disappear in multiplayer games with computer (details in #6738);
* 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>
* in card's code use player.isComputer instead player.isHuman (it help to split Human/AI logic and test both by unit tests);
* usage example: AI hint to skip or auto-calculate choices instead call of real choose dialogs;
* unit tests for Human logic: call normal commands;
* unit tests for AI logic: call aiXXX commands;
* Dev: added card's LKI support of multi part cards (mdf/split/adventure);
* Dev: improved support of adding/removing counters from mdf cards;
* Draugr Necromancer - fixed support of mdf/split/adventure cards (#7620);