Refactoring methods which add counters to track which player adds the counters (ready for review) (#7448)

* 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
This commit is contained in:
Evan Kranzler 2021-01-26 19:06:13 -05:00 committed by GitHub
parent 4db79ae3c1
commit a535cb5adc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
320 changed files with 701 additions and 481 deletions

View file

@ -1,6 +1,5 @@
package mage.game.stack;
import java.util.*;
import mage.MageInt;
import mage.MageObject;
import mage.Mana;
@ -36,6 +35,8 @@ import mage.util.CardUtil;
import mage.util.GameLog;
import mage.util.SubTypes;
import java.util.*;
/**
* @author BetaSteward_at_googlemail.com
*/
@ -593,7 +594,7 @@ public class Spell extends StackObjImpl implements Card {
if (mageObjectAttribute != null) {
return mageObjectAttribute.getColor();
}
}
}
return color;
}
@ -959,23 +960,23 @@ public class Spell extends StackObjImpl implements Card {
}
@Override
public boolean addCounters(Counter counter, Ability source, Game game) {
return card.addCounters(counter, source, game);
public boolean addCounters(Counter counter, UUID playerAddingCounters, Ability source, Game game) {
return card.addCounters(counter, playerAddingCounters, source, game);
}
@Override
public boolean addCounters(Counter counter, Ability source, Game game, boolean isEffect) {
return card.addCounters(counter, source, game, isEffect);
public boolean addCounters(Counter counter, UUID playerAddingCounters, Ability source, Game game, boolean isEffect) {
return card.addCounters(counter, playerAddingCounters, source, game, isEffect);
}
@Override
public boolean addCounters(Counter counter, Ability source, Game game, List<UUID> appliedEffects) {
return card.addCounters(counter, source, game, appliedEffects);
public boolean addCounters(Counter counter, UUID playerAddingCounters, Ability source, Game game, List<UUID> appliedEffects) {
return card.addCounters(counter, playerAddingCounters, source, game, appliedEffects);
}
@Override
public boolean addCounters(Counter counter, Ability source, Game game, List<UUID> appliedEffects, boolean isEffect) {
return card.addCounters(counter, source, game, appliedEffects, isEffect);
public boolean addCounters(Counter counter, UUID playerAddingCounters, Ability source, Game game, List<UUID> appliedEffects, boolean isEffect) {
return card.addCounters(counter, playerAddingCounters, source, game, appliedEffects, isEffect);
}
@Override