* Remove incorrect mechtitan core (it's a token)
* Fix Kor Skyfisher and add Counterspell to PURL
* Fix Yoshimaru and add missing cards
* Fix Kongming "Sleeping Dragon" name
* Fix Pang Tong "Young Phoenix" name
* Fix Henzie "Toolbox" Torre Name
* Add missing Pro Tour Promo Cards
* Fix rarity
* Add Spotlight Series set
* Add missing PW25 Cards
* Add Store Championships
* Add PLG25
* Fix verify failures
* Add FIN Standard Showdown set
* Add Cowboy Bebop set
* Update author and Scryfall link in StoreChampionships set
* Update StoreChampionships.java
Fix card name for Virtue of Persistence
* Update WizardsPlayNetwork2025.java
Fix Zidane Rarity and add Spectacular Spider-Man
* Add new cards to Media and Collaboration Promos set
* Added Ravager Of the Fells (Huntmaster back)
* Fix Angel of Jubilation and Yasharn, Implacable Earth
* canPaySacrificeCost filter was not checking if the source ability was a spell or activated ability
* Create common CantPayLifeOrSacrificeEffect
* add some docs for CantPayLifeOrSacrificeEffect
* change player pay life restrictions and remove player sacrifice cost filter
* pay life cost restriction is now an enum set so multiple effects apply together
* sacrifice cost filter was removed and replaced with PAY_SACRIFICE_COST event
* convert CantPayLifeEffect to CantPayLifeOrSacrificeAbility
* Changed to combine life restriction and sacrifice cost restriction
* update bargain ability cost adjustors using canPay
* fix Thran Portal
* Effect was incorrectly adjusting the cost of mana abilities on itself.
* Fixed ability adding type to itself during ETB
* Add additional tests
* update PayLifeCostRestrictions to be mutually exclusive
Fixes the trigger firing for all attacking creatures, not just equipped
ones.
Restores the equipped predicate removed in commit db193bd4 (#13707) and
adds tests to prevent future regressions.
Reworked targeting, possible targets and AI
Test framework improves:
- now game logs will show stack ability on push and on resolve (before any choices);
- now game logs will show used choices made by cast/activate, setChoice, setMode and addTarget commands (not work for AI tests, part of #13832);
- improved choice logic for modes and yes/not dialogs (now it's use a more strictly checks, use TestPlayer.MODE_SKIP to stop mode selection);
- improved error logs and testable dialogs menu in cheat mode;
Reworked AI, targeting and targets logic:
- refactor: simplified target implementation from a dozen canTarget, canChoose and possibleTargets methods to canTarget/possibleTargets only (part of #13638, #13766);
- refactor: fixed wrong target implementations in many cards (example: TargetCardInHand for opponent's hand, close#6210);
- AI: now human, AI and test players -- all use possibleTargets logic in most use cases instead filters or custom validation;
- AI: improved AI sims support for multiple targets abilities;
- AI: improved AI stability, freezes and targets errors in some use cases;
Additional fixes:
- close#13840
- close#13865
- close#13857
- close#13650
- refactor: simplified target implementation from a dozen canTarget, canChoose and possibleTargets methods to canTarget/possibleTargets only (part of #13638, #13766);
- refactor: fixed wrong target implementations in many cards (example: TargetCardInHand for opponent's hand, close#6210);
- AI: now human, AI and test players -- all use possibleTargets logic in most use cases instead filters or custom validation;
- AI: improved AI sims support for multiple targets abilities;
- AI: improved AI stability, freezes and targets errors in some use cases;
- now game logs will show stack ability on push and on resolve (before any choices);
- now game logs will show used choices made by cast/activate, setChoice, setMode and addTarget commands (not work for AI tests, part of #13832);
- improved choice logic for modes and yes/not dialogs (now it's use a more strictly checks, use TestPlayer.MODE_SKIP to stop mode selection);
- improved error logs and testable dialogs menu in cheat mode;