* K'rrik fixes, payment for triggered abilities
K'rrik's Phyrexian ability is now handled separately from actual Phyrexian mana costs. It can now be used to pay for triggered abilities like Extort.
* K'rrik tests added
Tests include:
- only usable by 1 player
- usable with activated/triggered abilities
- usable as an alternative to true Phyrexian mana, getting around Trinisphere
Basically the abundance effect was triggering on your opponents' mana
creatures too. Now it should only trigger on your own. Added
previously-failing test as well.
Fixes#6052.
Currently, it ignored the trigger unless a player was also damaged (by
other unblocked attacking creatures, for example), so there are plenty
of situations where it will fail to occur.
The included test fails against current master, but passes with the
patch.
Fixes#5971.
- replacing hard coded strings of set codes with reference to 'mage.sets.<set>.getInstance().getCode()' allows for set class names to no longer show as unreferenced & adds for more consistence between other block units
- various protected variables were able to be changed to private to clean up additional warnings
- some JavaDoc comments were generating warnings due to missing documentation
- removed some unused imports and unused variables
- there were multiple conditional logic checks for 'rarity != Rarity.LAND' within an if block where the outer condition was 'if rarity == Rarity.COMMON' rendering the inner condition always true and thus redundant
- a few ExpansionSet.buildDate parameters wer using octal values (eg. '03' instead of '3') which triggered some warnings
- added a booster generation test for WarOfTheSparks to make sure every booster contains a planeswalker
- added a booster generation test for ModernHorizons to make sure every booster contains a snow land
- booster generation test for Battlbond set referenced the Coldsnap set class instead of Battlebond
* added support to search targets from multiple opponents instead one;
* added support of TargetCreaturePermanentAmount and all new target types;
* added new priorities (kills most valuable first);
* added bad and good conditions (choose most valuable in good case and most weakest in bad case, e.g. damage yourself);
* fixed that AI targets opponent for good ability instead yourself;