forked from External/mage
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:
parent
4db79ae3c1
commit
a535cb5adc
320 changed files with 701 additions and 481 deletions
|
|
@ -1,7 +1,5 @@
|
|||
package mage.cards;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import mage.abilities.Ability;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Zone;
|
||||
|
|
@ -10,6 +8,9 @@ import mage.game.Game;
|
|||
import mage.game.events.ZoneChangeEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author emerald000
|
||||
*/
|
||||
|
|
@ -103,17 +104,17 @@ public abstract class MeldCard extends CardImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean addCounters(Counter counter, Ability source, Game game, List<UUID> appliedEffects) {
|
||||
public boolean addCounters(Counter counter, UUID playerAddingCounters, Ability source, Game game, List<UUID> appliedEffects) {
|
||||
if (this.isMelded(game)) {
|
||||
return super.addCounters(counter, source, game, appliedEffects);
|
||||
return super.addCounters(counter, playerAddingCounters, source, game, appliedEffects);
|
||||
} else {
|
||||
// can this really happen?
|
||||
boolean returnState = true;
|
||||
if (hasTopHalf(game)) {
|
||||
returnState |= topHalfCard.addCounters(counter, source, game, appliedEffects);
|
||||
returnState |= topHalfCard.addCounters(counter, playerAddingCounters, source, game, appliedEffects);
|
||||
}
|
||||
if (hasBottomHalf(game)) {
|
||||
returnState |= bottomHalfCard.addCounters(counter, source, game, appliedEffects);
|
||||
returnState |= bottomHalfCard.addCounters(counter, playerAddingCounters, source, game, appliedEffects);
|
||||
}
|
||||
return returnState;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue