* Cascade: added correct spell ability choose for forced cast of mdf and adventure cards (can contains one or both sides);
* Cascade: added tests from latest oracle changes;
* AI: improved spell ability choose for forced cast (example: cast target card without mana cost);
* GUI: improved spell ability choose for forced cast (now you can see only castable spells to choose);
* Other: fixed wrong PlayFromNotOwnHandZone in some cards, fixed NPE;
* [THB] added initial common/uncommon collation mechanism
* [THB] added rare/mythic and lands to pack generation
* fixed some card names
* broke out collation into its own separate classes
* built collation into ExpansionSet
* added note about collation information
* [KHM] added collation info
* updated collation to use collector number rather than name
* added shuffle to set constructor
* added some notes on collation methods
* [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;
* [KHM] Dream Devourer - Fixed being unable to cast foretold MDFCs, split cards, and adventure cards
* [KHM] Dream Devourer - Fixed mana costs and added check for MDFC lands
* [KHM] ForetellAbility - Add text when selecting which half of split card to cast
* Updated test for Dream Devourer
* Now token's zcc uses same logic as card's zcc: enters to battlefield with +1 zcc instead +0 zcc
* It can improve support of copied spells that store zcc related data (bug example: lost kicked status for copied spell/token);
* Kicker abilities - improved support with copied creature spells (example: Verazol, the Split Current, #7431, #7433);
* Refactor: simplified kicker code;
* [KHM] fixed legendary status of mdf cards (closes#7370, #7404, #7465, #7481);
* Game: added support of split cards as commander (signature spell);
* Game: added support of adventure cards as commander;
* Game: added support of modal double faces cards as commander;
* AsThough: added documentation about code usage and restrictions;
* AsThough: added additional checks for correct usage;
* AsThough: simplified some code;
* PlayFromNotOwnHandZoneTargetEffect - added permanents support as targets;
* Release to the Wind - fixed that it can't cast exiled cards (#7415, #7416);
* Test framework: fixed that checkExileCount checking card's owner;
* GUI: fixed typo in Trample card icons;
* added parameter for player adding counters to players
* added parameter for player adding counters to cards/permanents
* updated methods to use new parameter
* fixed a few initial errors
* refactored instances of cards that add counters by a player other than the controller
* fixed some instances of incorrect arguments
* refactored abilities that trigger off of a particular player adding counters
* a few more cards that were missed
* [KHM] Implemented Vorinclex, Monstrous Raider
* added test for Vorinclex, Monstrous Raider
* fixed a test failure
* removed and renamed SubTypeList
* updated subtype test
* refactored Changeling to be an ability that actually does something
* moved isAllCreatureTypes into SubTypes class
* renamed copyTo method to copyFrom
* added removeAllCreatureTypes where usable
* replaced some subtype methods
* replaced some more subtype methods
* replaced subtype mass add/remove methods
* updated more subtype methods
* fixed some errors
* made common shared creature type predicate
* refactored another card involving subtypes
* Added usage of object attribute in subTypes's write operations;
* Refactor: use same param styles in subtype methods
* Refactor: simplified usage of copy appliers;
* Refactor: fixed code usage in CopyApplier
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
* refactored mana methods to WUBRG order
* more WUBRG refactoring
* added new mana tracking object
* fixed code error
* fixed missing mana count
* fixed null pointer exception in tests
* fixed issue with equality
* more equality fixes
* some cosmetic changes to ManaTest
* added copy method to setToMana
* fixed some initialization issues
* fixed serialization issue
* [KHM] Implemented Search for Glory
* updated mana handling to track snow
* added tests for snow mana tracking
* updated implementation of setter methods
* updated paramater to use copy methods
* fixed snow mana test to ensure proper mana tapping
* replaced instances of getPayment with getUsedManaToPay
* updated tracking of snow mana
* reverted snow mana tracking removal
* finished reverting change
* GainAbilityTargetEffect - reworked to support static/dynamic targets, added support of spells (card + related permanent);
* SpellCastControllerTriggeredAbility - now it can setup the target to a card instead a spell;
* Added checks/errors on wrong ability adding code (example: if you add permanent's ability by game state instead permanent's method);
* Tyvar Kell Emblem now use a standard code;
* Test framework: added additional logs for some errors;
* Now ZCC of copied spells syncs with source card or coping spell (allows to keep ability settings that depends on ZCC);
* Fixed bug that allows to lost kicked status in copied spells after counter the original spell or moves the original card (see #7192);
* Test framework: improved support of targeting copy or non copy spells on stack;
* You may play cards and you may spend mana of any color - refactored cards to use same code;
* Library search event allows to change searching controller (gives full game control for another player);
* Library searched event allows to remove founded cards from result;
* Improved library searching effects with Panglacial Wurm's effects;
* Little changes to test framework;
* Fixed that mdf card can duplicate triggers (example: Skyclave Cleric, see #7187);
* Fixed that mdf card can raise triggers from another side (example: Kazandu Mammoth, see #7180);
- Add reference to original library in `FluentBuilder`.
- Change `I<Name>` notation to `<Name>Impl` notation.
- Move error config to test resources
- Add comment with config instruction
- Add config to the documentation
- Remove all enum static managers
- Introduce interfaces for the managers
- Define new application wiring class (`ManagerFactory`)
- Externalise the configuration
* updated Changelings to use setIsAllCreatureTypes
* updated Dr Julius Jumblemorph and Mistform Ultimus to not use changeling
* added test for Mistform Ultimus
* updated effects which give all creature types to controlled creatures
* updated effects which give all creature types to targeted creatures
* Update LoseAllCreatureTypesTargetEffect.java
* updated effects which give all creature types to attached creatures
* Update EgoErasure.java
* added another test for changelings
* updated two tokens I left out before
* updated hasSubtype
* updated shareCreatureTypes
* fixed an incorrect test
* cleaned up some cards which check for shared creature types
* added new changeling test
* fixed issue with shareCreatureTypes
* fixed a text issue
* added new tests for subtype effects
* various individual card fixes and cleanups
* fixed and updated various effects
* many more fixes
* a few more fixes
* added test for One with the Stars
* added changeling verify test
* updated effects which add additional subtypes
* more miscellaneous fixes
* added additional test
* some fixes for card type checks
* updated methods for adding types to make it easier to avoid duplicates and illegal additions
* small test update
* fixed a recursive loop issue
* fixed another error
* fixed it for real this time
* streamlined type removal process
* streamlined subtype set generation
* added initial support for permanent tokens
* [ZNR] Implemented Lithoform Engine
* [ZNR] Implemented Verazol, the Split Current
* permanent spell tokens no longer count as created
* small change to token generation
* added test, currently incomplete
* found a potential solution for kicker issue, possibly too much of a hack
* fixed a test failure
* reversed hack changes
* skipped failing tests
* added more tests
* Now player must choose additional costs before ability's modes;
* Fixed broken kicker ability from ZNR (see comments from d4ca287f0f);
* Improved compatibility of additional cost with cost modification effects (fixed that optional multi-costs doesn't affected by cost modification);
* Improved compatibility of additional cost with alternative cost (some cards ignores additional cost on alternative usage, e.g. on play free);
Additional fixes for pvs-studio report, see #7021
* Rename BasicSaheekiSublimeArtificerTest.java to BasicSaheeliSublimeArtificerTest.java
* S3Uploader.java: Remove redundant null check
* Effects.java: remove redundant check. When in the else part, the lastRule already is guaranteed to not end on a dot
* TableController.java: change warning message when match == null to avoid nullpointer exception
* Reverted already fixed line from, see #7021
Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>