* added additional hint to the optional pay dialog, so user can split it and remember for auto-answer (see withChooseHint);
* Mana Vault - improved UX, now user can hide an untap cost dialog for already untapped permanent (use right click on buttons, #2656);
- game: fixed game freezes when computer try to take control over another computer or human (added game logs, related to #12878);
- cheats: improved take and give control commands, now you can give control under yourself to another player;
- cheats: improved take and give control commands, now you can return control to computer in the same priority;
- cheats: deleted useless and unused command to activate opponent's ability;
- game: added support when a human is take control over a computer player (related to #12878);
- game: fixed game freezes while controlling player leaves/disconnect on active priority/choose of another player;
* [DSK] implemented Nowhere to Run
* [DSK] implemented Nowhere to Run
* NowhereToRun - fixed typo in static test
* NowhereToRun - fixed hexproof effect
- game: added support for human games (cards like Emrakul, the Promised End, #12878);
- game: added support of 720.1. to reset control in the turn beginning instead cleanup step (related to #12115);
- game: added game logs for priorities in cleanup step;
- game: fixed game freezes and wrong skip settings usages (related to #12878);
- gui: added playable and choose-able marks for controlling player's cards and permanents, including switched hands;
- gui: added controlling player name in all choice dialogs;
- info: control of computer players is it not yet supported;
* [refactor/bugfix] use rule 802.2a where appropriate.
Many effects which relied on getDefendingPlayerId would fail if the attacking creature had been removed from combat before they resolved, in which case the defending player ID would be null. This fixes these issues.
* Add test for removing attacking creature with Defending Player triggered ability.
Change allowFormer to be true by default, reduce falses to only necessary cases.
* Add minimum and maximum target counts as parameters for TargetAmount and its subclasses; update/add several rules comments (and one actual text) for clarity; remove unused imports
* Get amount+description from target instead of parameters for DistributeCountersEffect and DamageMultiEffect; additions to TargetImpl.getDescription to accommodate
* Create separate method to check if "any number" phrasing should be used, override it in TargetAmount
* Check instanceof TargetAmount before casting
* Add new constructors to chain off of for TargetCreaturePermanentAmount & TargetCreatureOrPlaneswalkerAmount
* Fix text for Storm the Seedcore
* Use Integer.MAX_VALUE instead of 0 to represent no maximum targets
* Add comment about getUseAnyNumber()
* Use amount-only constructors in some TargetAmount subclasses, add clarifying documentation
* Fix a few calls
* Require more specific filters
* tests: added additional tests and verify/runtime checks for wrong die trigger settings;
* refactor: removed some usage of short LKI ;
* fixed dies events support in "or trigger" and "conditional trigger" (use cases like sacrifice cost);
* fixed dies events support in shared triggered abilities (use cases like sacrifice cost);
* add new framework for batch triggers
apply for tapped, untapped, sacrificed, milled
simplify Ob Nixilis, Captive Kingpin
* add a verify check
* fix mistakes
* add simple tests
* another test
* zone change - enters battlefield
* zone change: not battlefield
* zone change - leaves battlefield
* fix Kaya Spirit's Justice
* rename OneOrMoreCombatDamagePlayerTriggeredAbility
* refactor OneOrMoreDamagePlayerTriggeredAbility
* new YoureDealtDamageTriggeredAbility
* new OpponentDealtNoncombatDamageTriggeredAbility
* rework Risona, Asari Commander
* simplify War Elemental
* Add damage batch by source
rework some delayed triggered abilities
* fix Mindblade Render
* rework Initiative and a few others
* [temp] initiative test
* refactor: common style for DealsDamageSourceTriggeredAbility
* refactor cards to use common DealsDamageSourceTriggeredAbility
* update damage players batch triggers
* fix mistake in initiative
* new DealtDamageAnyTriggeredAbility
* new DealtCombatDamageToSourceTriggeredAbility
* update dealt damage to permanent batch triggered abilities
* refactor Hot Soup and param in DealtDamageAttachedTriggeredAbility
* a few more permanent batch triggered abilities
* fix mistake
* update some more damage batch triggers
* add test for Phyrexian Negator
* update Felix Five-Boots and enable test
update Wayta, Trainer Prodigy to align
* update damage batch by source triggers
* undo mistaken change
* fix verify
* cleanup unused methods
* Revert "[temp] initiative test"
This reverts commit 11ed19295f.
* Revert "add a verify check"
This reverts commit e7de47a656.
* fixes from checking text discrepancies
* fix Shriekwood Devourer
* merge fix
---------
Co-authored-by: Susucre <34709007+Susucre@users.noreply.github.com>
* simplify BeginningOfEndStepTriggeredAbility
* more simplifications
* move to common class
* find and replace to common class
* simplify again
* align parameter order
* package reorg
* simplify BeginningOfCombatTriggeredAbility constructors
* simplify BeginningOfFirstMainTriggeredAbility constructors
* text fixes
* update docs
* add new common framework for at step triggered abilities
* move postcombat main and second main triggers to it
* update draw step triggers
* refactor BeginningOfCombatTriggeredAbility
* refactor BeginningOfFirstMainTriggeredAbility
* move Pronoun to constants package
* cleanup some cards to use simpler constructors
* package reorganization