* [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
Also fix UntapSourceCost to allow 'consuming a stun counter' to count as paying untap cost, per rule 118.11, but only if Fear of Sleep Paralysis isn't making stun permanent.
* 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>