Add player argument to ChangeCountersAction (#1549)
* Add source argument to ChangeCountersAction * Add source argument to usages of ChangeCountersAction in event package * Update usages in DealDamageAction * Update usages in trigger package * Change source argument to player argument The oracle text refers to the player putting counters, so it's more logical to have a player argument. * Add player data to MagicCounterChangeTriggerData * Update DealDamageAction * Change to player in event package * Change to player argument in trigger package * Add import * Fix usage in test package * Fix usage in groovy scripts * Fix bugmaster
parent
209bb0a6d0
commit
2a0d8c0394
|
@ -3,6 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
permanent.getController(),
|
||||
permanent,
|
||||
MagicCounterType.Age,
|
||||
1
|
||||
|
@ -19,6 +20,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.MinusOne,
|
||||
event.getPermanent().getCounters(MagicCounterType.Age)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
final int amount = INSTANT_OR_SORCERY_CARD_FROM_ALL_GRAVEYARDS.filter(permanent.getController()).size();
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,amount));
|
||||
game.logAppendMessage(permanent.getController(), permanent.getName()+" enters the battlefield with "+amount+" +1/+1 counters on it.");
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,2));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
PERMANENT.filter(event) each {
|
||||
if (it.hasCounters()) {
|
||||
for (MagicCounterType type : MagicCounterType.values()) {
|
||||
game.doAction(new ChangeCountersAction(it, type, -it.getCounters(type)));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, type, -it.getCounters(type)));
|
||||
}
|
||||
}
|
||||
if (it.isToken()) {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
def action = {
|
||||
final MagicGame game, final MagicEvent event ->
|
||||
if (event.isYes()) {
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), MagicCounterType.Energy, -2));
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPlayer(), MagicCounterType.Energy, -2));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.PlusOne, 1));
|
||||
final MagicPermanent target = event.getRefPermanent();
|
||||
if (target.isValid()) {
|
||||
game.doAction(new TapAction(target));
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
if (event.getPermanent().hasCounters(MagicCounterType.PlusOne)) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,-1));
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,-1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,1));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
final int amount = event.getPlayer().getLife();
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.PlusOne, amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.PlusOne, amount));
|
||||
game.doAction(new GainAbilityAction(it, MagicAbility.Trample, MagicStatic.UntilEOT));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.Charge,
|
||||
event.getRefInt()
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
final int count = payedCost.getX() >= 5 ?
|
||||
2 * payedCost.getX() :
|
||||
payedCost.getX();
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,count));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,count));
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
if (event.isYes()) {
|
||||
event.processTargetPermanent(game, {
|
||||
if (it.hasCounters(MagicCounterType.PlusOne)) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,-1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,-1));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,1));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ def choice = Positive("target nonartifact creature");
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new AddStaticAction(it,type));
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,1));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ def AB = new MagicStatic(MagicLayer.Ability) {
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.Feather,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.Feather,1));
|
||||
game.doAction(new AddStaticAction(it, PT));
|
||||
game.doAction(new AddStaticAction(it, AB));
|
||||
});
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
final DestroyAction destroy = new DestroyAction(ARTIFACT_OR_ENCHANTMENT.filter(event));
|
||||
game.doAction(destroy);
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
destroy.getNumDestroyed()
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new GainAbilityAction(permanent,MagicAbility.FirstStrike,MagicStatic.Forever));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent equippedCreature = event.getPermanent().getEquippedCreature();
|
||||
final int amount = equippedCreature.hasSubType(MagicSubType.Vampire) ? 2 : 1;
|
||||
game.doAction(new ChangeCountersAction(equippedCreature,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),equippedCreature,MagicCounterType.PlusOne,amount));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
event.getRefInt()
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.MinusOne,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.MinusOne,1));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ def TARGET_CREATURE_WITH_BOUNTY_COUNTER = new MagicTargetChoice(
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.Tower,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.Tower,1));
|
||||
});
|
||||
}
|
||||
},
|
||||
|
|
|
@ -14,6 +14,7 @@ def preventAddPlus = new IfDamageWouldBeDealtTrigger(MagicTrigger.REPLACE_DAMAGE
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
event.getRefInt()
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
otherPermanent.isCreature() &&
|
||||
otherPermanent.isFriend(permanent) &&
|
||||
otherPermanent.hasSubType(MagicSubType.Warrior)) {
|
||||
game.doAction(new ChangeCountersAction(otherPermanent,MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),otherPermanent,MagicCounterType.PlusOne,1));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
event.processTargetPlayer(game, {
|
||||
game.doAction(new DrawAction(it, 3));
|
||||
game.doAction(new ChangeLifeAction(it, -3));
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.Poison, 3));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.Poison, 3));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.Shred,
|
||||
1
|
||||
|
|
|
@ -2,7 +2,7 @@ def action = {
|
|||
final MagicGame game, final MagicEvent event ->
|
||||
if (event.isYes()) {
|
||||
final MagicPermanent target = event.getRefPermanent();
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), MagicCounterType.Energy, -target.getConvertedCost()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPlayer(), MagicCounterType.Energy, -target.getConvertedCost()));
|
||||
game.doAction(new GainControlAction(event.getPlayer(), target));
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ def action = {
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), MagicCounterType.Energy, 4));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPlayer(), MagicCounterType.Energy, 4));
|
||||
if (event.getPlayer().getEnergy() >= it.getConvertedCost()) {
|
||||
game.addEvent(new MagicEvent(
|
||||
event.getSource(),
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPlayer(game, {
|
||||
ARTIFACT_YOU_CONTROL.filter(it) each {
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.Rust, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.Rust, 1));
|
||||
}
|
||||
ARTIFACT_YOU_CONTROL.filter(it) each {
|
||||
if (it.getConvertedCost() <= it.getCounters(MagicCounterType.Rust)) {
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,event.getRefInt()));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,9 +15,9 @@
|
|||
final MagicEvent sacrifice = new MagicSacrificePermanentEvent(event.getSource(), SACRIFICE_CREATURE);
|
||||
if (event.isYes() && sacrifice.isSatisfied()) {
|
||||
game.addEvent(sacrifice);
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.PlusOne, 1));
|
||||
} else {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.PlusOne, -1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.PlusOne, -1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,8 +25,8 @@ def choice = MagicTargetChoice.Positive("another target creature you control wit
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
if (it.hasCounters(MagicCounterType.PlusOne)) {
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.PlusOne, -1));
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.PlusOne, -1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.PlusOne, 1));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ def choice = Positive("target creature you control");
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,event.getRefInt()));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPlayer(game, {
|
||||
game.doAction(new ChangeLifeAction(it, -2));
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.Poison, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.Poison, 1));
|
||||
game.doAction(new MillLibraryAction(it, 6));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new CounterItemOnStackAction(event.getRefCardOnStack()));
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.Depletion,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.Depletion,1));
|
||||
if (event.getPermanent().getCounters(MagicCounterType.Depletion) >= 3) {
|
||||
game.doAction(new SacrificeAction(event.getPermanent()));
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
final MagicPermanent perm ->
|
||||
final MagicGame G = perm.getGame();
|
||||
if (perm.hasSubType(MagicSubType.Angel)) {
|
||||
G.doAction(new ChangeCountersAction(perm,MagicCounterType.PlusOne,2));
|
||||
G.doAction(new ChangeCountersAction(event.getPlayer(),perm,MagicCounterType.PlusOne,2));
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
|
|
@ -14,11 +14,13 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPlayer(game, {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
event.getPlayer().getHandSize()
|
||||
));
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
-it.getHandSize()
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
if (event.isYes() && sac.isSatisfied()) {
|
||||
game.addEvent(sac);
|
||||
game.doAction(new TapAction(perm));
|
||||
game.doAction(new ChangeCountersAction(perm,MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),perm,MagicCounterType.PlusOne,1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent SN = event.getPermanent();
|
||||
if (MagicCondition.NOT_MONSTROUS_CONDITION.accept(SN)) {
|
||||
game.doAction(new ChangeCountersAction(SN, MagicCounterType.PlusOne, event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), SN, MagicCounterType.PlusOne, event.getRefInt()));
|
||||
game.doAction(ChangeStateAction.Set(SN, MagicPermanentState.Monstrous));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetCardOnStack(game, {
|
||||
game.doAction(new CounterItemOnStackAction(it));
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,it.getConvertedCost()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(),MagicCounterType.PlusOne,it.getConvertedCost()));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new GainAbilityAction(permanent,MagicAbility.Fear,MagicStatic.Forever));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.PlusTwo, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.PlusTwo, 1));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,12 +26,14 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.MinusTwo,
|
||||
-1
|
||||
));
|
||||
if (event.getRefPermanent().hasSubType(MagicSubType.Thrull)) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOnePlusZero,
|
||||
1
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
final int amount = it.hasSubType(MagicSubType.Human) ? 2 : 1;
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,amount));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), MagicCounterType.Energy, event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPlayer(), MagicCounterType.Energy, event.getRefInt()));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processRefPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.MinusZeroMinusOne,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.MinusZeroMinusOne,1));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new GainAbilityAction(permanent,MagicAbility.Flying,MagicStatic.Forever));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
event.getPermanent(),
|
||||
MagicAbility.Indestructible
|
||||
));
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
event.getPermanent(),
|
||||
MagicAbility.Flying
|
||||
));
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
def action = {
|
||||
final MagicGame game, final MagicEvent event ->
|
||||
game.doAction(new ChangeCountersAction(event.getRefPermanent(),MagicCounterType.PlusOne,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getRefPermanent(),MagicCounterType.PlusOne,1));
|
||||
game.doAction(new GainAbilityAction(
|
||||
event.getRefPermanent(),
|
||||
event.getChosenColor().getProtectionAbility()
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
if (permanent.isController(damage.getTarget())) {
|
||||
final int amount = damage.replace();
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.Depletion,amount));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.Depletion,amount));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
event.processTargetPermanent(game, {
|
||||
final int amount=event.getRefPermanent().getConvertedCost();
|
||||
game.logAppendValue(event.getPlayer(),amount);
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.PlusOne, amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.PlusOne, amount));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
permanent.getController(),
|
||||
permanent,
|
||||
MagicCounterType.Age,
|
||||
1
|
||||
|
|
|
@ -43,7 +43,7 @@ def PreventAllDamage = new PreventDamageTrigger() {
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final int amt = event.getPlayer().getOpponent().getNrOfPermanents(MagicType.Creature);
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.Loyalty,amt));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.Loyalty,amt));
|
||||
}
|
||||
},
|
||||
new MagicPlaneswalkerActivation(0) {
|
||||
|
|
|
@ -27,7 +27,7 @@ def TARGET_PERMANENT_WITH_COUNTERS = new MagicTargetChoice(
|
|||
source,
|
||||
TARGET_PERMANENT_WITH_COUNTERS,
|
||||
this,
|
||||
"Double the number of each kind of counter on target permanent\$."
|
||||
"Doubles the number of each kind of counter on target permanent\$."
|
||||
);
|
||||
}
|
||||
@Override
|
||||
|
@ -36,6 +36,7 @@ def TARGET_PERMANENT_WITH_COUNTERS = new MagicTargetChoice(
|
|||
for (final MagicCounterType counterType : MagicCounterType.values()) {
|
||||
if (it.hasCounters(counterType)) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
it,
|
||||
counterType,
|
||||
it.getCounters(counterType)
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
permanent.getController(),
|
||||
permanent,
|
||||
MagicCounterType.Age,
|
||||
1
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), MagicCounterType.Energy, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPlayer(), MagicCounterType.Energy, 1));
|
||||
}
|
||||
}
|
||||
,
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
event.processTargetPermanent(game, {
|
||||
game.doAction(new MillLibraryAction(event.getPlayer(),3));
|
||||
final int amount = CREATURE_CARD_FROM_GRAVEYARD.filter(event).size();
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,amount))
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,amount))
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
final MagicPermanent permanent=event.getPermanent();
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new SacrificeAction(it));
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),permanent,MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new GainAbilityAction(permanent, MagicAbility.Flying, MagicStatic.Forever));
|
||||
game.doAction(new GainAbilityAction(permanent, MagicAbility.Trample, MagicStatic.Forever));
|
||||
final MagicEvent newEvent=executeTrigger(game, permanent, MagicPayedCost.NO_COST);
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent creature = event.getPermanent();
|
||||
final int amount = creature.getPower();
|
||||
game.doAction(new ChangeCountersAction(creature,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),creature,MagicCounterType.PlusOne,amount));
|
||||
game.logAppendX(event.getPlayer(),amount);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) {
|
||||
final MagicPlayer player = permanent.getController();
|
||||
game.doAction(new ChangeCountersAction(permanent, MagicCounterType.PlusOne, 5));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(), permanent, MagicCounterType.PlusOne, 5));
|
||||
game.logAppendMessage(player,"${player.getName()} puts 5 +1/+1 counters on ${permanent.getName()}")
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final int amount = event.getPlayer().getNrOfPermanents(MagicType.Creature);
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.Loyalty, amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.Loyalty, amount));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
final int amount = game.getCreatureDiedThisTurn() ? 3 : 1;
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,amount));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ def PutHydra = new MagicTrigger<Integer>() {
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent SN = event.getPermanent();
|
||||
if (MagicCondition.NOT_MONSTROUS_CONDITION.accept(SN)) {
|
||||
game.doAction(new ChangeCountersAction(SN, MagicCounterType.PlusOne, event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), SN, MagicCounterType.PlusOne, event.getRefInt()));
|
||||
game.doAction(ChangeStateAction.Set(SN, MagicPermanentState.Monstrous));
|
||||
game.executeTrigger(PutHydra, SN, SN, event.getRefInt());
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ def choice = Positive("target creature");
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
final int amount = event.getPlayer().getNrOfPermanents(MagicSubType.Elf);
|
||||
game.doAction(new ChangeCountersAction(it,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),it,MagicCounterType.PlusOne,amount));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTarget(game, {
|
||||
game.doAction(new DealDamageAction(event.getSource(), it, event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getSource(), MagicCounterType.Doom, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getSource(), MagicCounterType.Doom, 1));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPlayer(game, {
|
||||
game.doAction(new GainControlAction(it,event.getPermanent()));
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.Charge,1));
|
||||
game.doAction(new ChangeCountersAction(it,event.getPermanent(),MagicCounterType.Charge,1));
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -61,7 +61,7 @@
|
|||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.Charge, event.isMode(1) ? 1 : -1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.Charge, event.isMode(1) ? 1 : -1));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
CREATURE_YOU_CONTROL.filter(event) each {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
it,
|
||||
MagicCounterType.PlusOne,
|
||||
it.getCounters(MagicCounterType.PlusOne)
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,3));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,3));
|
||||
game.doAction(new GainAbilityAction(permanent,MagicAbility.Trample,MagicStatic.Forever));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
if (damage.getTarget() == permanent) {
|
||||
final int amount = damage.replace();
|
||||
game.doAction(new ChangeCountersAction(permanent, MagicCounterType.MinusOne, amount));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(), permanent, MagicCounterType.MinusOne, amount));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ def ST = new MagicStatic(MagicLayer.Type) {
|
|||
event.processTargetPermanent(game, {
|
||||
final int amount=event.getRefInt();
|
||||
game.logAppendValue(event.getPlayer(),amount);
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.PlusOne, amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.PlusOne, amount));
|
||||
if (!it.hasType(MagicType.Creature) && !it.hasSubType(MagicSubType.Vehicle)) {
|
||||
game.doAction(new BecomesCreatureAction(it, PT, ST));
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ def searchAction = {
|
|||
for (final MagicPlayer player : game.getPlayers().minus(event.getPlayer())) {
|
||||
for (final MagicPermanent permanent : player.getPermanents()) {
|
||||
if (permanent.hasType(MagicType.Creature)) {
|
||||
game.doAction(new ChangeCountersAction(permanent, MagicCounterType.MinusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), permanent, MagicCounterType.MinusOne, 1));
|
||||
}
|
||||
}}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
it,
|
||||
MagicCounterType.PlusZeroPlusOne,
|
||||
it.getConvertedCost()
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,5));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,5));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -24,10 +24,10 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent permanent = event.getPermanent();
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.Hatchling,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),permanent,MagicCounterType.Hatchling,1));
|
||||
final int counters = permanent.getCounters(MagicCounterType.Hatchling);
|
||||
if (counters >= 5) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.Hatchling,-counters));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),permanent,MagicCounterType.Hatchling,-counters));
|
||||
game.doAction(new TransformAction(permanent));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()){
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.Quest,1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.Quest,1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.Time,2));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.Time,2));
|
||||
game.doAction(new AddTriggerAction(event.getPermanent(), FadeVanishCounterTrigger.Time));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
final MagicPermanent permanent=event.getPermanent();
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new SacrificeAction(it));
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new ChangeLifeAction(event.getPlayer(),2));
|
||||
final MagicEvent newEvent=executeTrigger(game,permanent,MagicPayedCost.NO_COST);
|
||||
if (newEvent.isValid()) {
|
||||
|
|
|
@ -13,7 +13,7 @@ def MUTANT = new MagicStatic(MagicLayer.Type) {
|
|||
otherPermanent.isFriend(permanent)) {
|
||||
|
||||
final int amount = permanent.getPower();
|
||||
game.doAction(new ChangeCountersAction(otherPermanent,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),otherPermanent,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new AddStaticAction(otherPermanent,MUTANT));
|
||||
game.logAppendMessage(
|
||||
permanent.getController(),
|
||||
|
|
|
@ -29,7 +29,7 @@ def TARGET_PERMANENT_OR_PLAYER = new MagicTargetChoice(
|
|||
event.processTarget(game, {
|
||||
for (final MagicCounterType counterType : MagicCounterType.values()) {
|
||||
if (it.hasCounters(counterType)) {
|
||||
game.doAction(new ChangeCountersAction(it, counterType, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, counterType, 1));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -44,7 +44,7 @@ def TARGET_PERMANENT_OR_PLAYER = new MagicTargetChoice(
|
|||
TARGET_PERMANENT_OR_PLAYER,
|
||||
this,
|
||||
"For each kind of counter on target permanent or player\$, " +
|
||||
"give that permanent or player another counter of that kind."
|
||||
"PN gives that permanent or player another counter of that kind."
|
||||
);
|
||||
}
|
||||
@Override
|
||||
|
@ -52,7 +52,7 @@ def TARGET_PERMANENT_OR_PLAYER = new MagicTargetChoice(
|
|||
event.processTarget(game, {
|
||||
for (final MagicCounterType counterType : MagicCounterType.values()) {
|
||||
if (it.hasCounters(counterType)) {
|
||||
game.doAction(new ChangeCountersAction(it, counterType, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, counterType, 1));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new DrawAction(event.getPlayer(), 1));
|
||||
game.doAction(new ChangeCountersAction(event.getSource(), MagicCounterType.Hour, -2));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getSource(), MagicCounterType.Hour, -2));
|
||||
}
|
||||
}
|
||||
,
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
game.doAction(new ReturnCardAction(MagicLocationType.Graveyard,it,event.getPlayer(),{
|
||||
final MagicPermanent perm ->
|
||||
final MagicGame G = perm.getGame();
|
||||
G.doAction(new ChangeCountersAction(perm,MagicCounterType.PlusOne,1));
|
||||
G.doAction(new ChangeCountersAction(event.getPlayer(),perm,MagicCounterType.PlusOne,1));
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isMode(1)) {
|
||||
CREATURE_YOU_CONTROL.filter(event.getRefPlayer()) each {
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getRefPlayer(), it, MagicCounterType.PlusOne, 1));
|
||||
}
|
||||
game.doAction(new ChangeLifeAction(event.getRefPlayer(), 4));
|
||||
} else if (event.isMode(2)) {
|
||||
CREATURE_YOU_CONTROL.filter(event.getPlayer()) each {
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.MinusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getRefPlayer(), it, MagicCounterType.MinusOne, 1));
|
||||
}
|
||||
game.doAction(new DealDamageAction(event.getSource(), event.getPlayer(), 4));
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ def A_CREATURE_CARD_FROM_GRAVEYARD = new MagicTargetChoice("a creature card from
|
|||
final MagicCard exiled = event.getRefCard();
|
||||
final int amount = exiled.getConvertedCost();
|
||||
game.logAppendX(event.getPlayer(), amount);
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(), MagicCounterType.PlusZeroPlusOne, amount));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), event.getPermanent(), MagicCounterType.PlusZeroPlusOne, amount));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,event.getRefInt()));
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(event.getPermanent(),MagicCounterType.PlusOne,5));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(),event.getPermanent(),MagicCounterType.PlusOne,5));
|
||||
game.doAction(ChangeStateAction.Set(
|
||||
event.getPermanent(),
|
||||
MagicPermanentState.Monstrous
|
||||
|
|
|
@ -33,6 +33,7 @@ def NONLAND_PERMANENT_WITHOUT_FATE_COUNTER = new MagicPermanentFilterImpl() {
|
|||
game.doAction(new DestroyAction(NONLAND_PERMANENT_WITHOUT_FATE_COUNTER.filter(event)));
|
||||
PERMANENT.filter(event) each {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
it,
|
||||
MagicCounterType.Fate,
|
||||
-it.getCounters(MagicCounterType.Fate)
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
event.getRefInt()
|
||||
|
|
|
@ -23,7 +23,7 @@ def filter = MagicTargetFilterFactory.Permanent("Vampire you control")
|
|||
MagicLocationType.Exile
|
||||
));
|
||||
filter.filter(event) each {
|
||||
game.doAction(new ChangeCountersAction(it, MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(event.getPlayer(), it, MagicCounterType.PlusOne, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
permanent.getController(),
|
||||
permanent,
|
||||
MagicCounterType.PlusOne,
|
||||
1
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
// Prevention effect.
|
||||
damage.prevent();
|
||||
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,-1));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,-1));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.MinusOne,
|
||||
event.getRefInt()
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
permanent.getController(),
|
||||
permanent,
|
||||
MagicCounterType.Age,
|
||||
1
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
if (damage.getTarget() == permanent) {
|
||||
final int amount = damage.replace();
|
||||
game.doAction(new ChangeCountersAction(permanent, MagicCounterType.PlusOne, amount));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(), permanent, MagicCounterType.PlusOne, amount));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
permanent.getController(),
|
||||
permanent,
|
||||
MagicCounterType.Age,
|
||||
1
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,2));
|
||||
game.doAction(new GainAbilityAction(permanent,MagicAbility.Haste,MagicStatic.Forever));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
if (payedCost.isKicked()) {
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,3));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,3));
|
||||
game.doAction(new GainAbilityAction(permanent,MagicAbility.Haste,MagicStatic.Forever));
|
||||
}
|
||||
return MagicEvent.NONE;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
CREATURE_YOU_CONTROL.except(permanent).filter(permanent) each {
|
||||
amount = Math.max(amount,it.getPower());
|
||||
}
|
||||
game.doAction(new ChangeCountersAction(permanent,MagicCounterType.PlusOne,amount));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(),permanent,MagicCounterType.PlusOne,amount));
|
||||
game.logAppendMessage(permanent.getController(),permanent.getName()+" enters the battlefield with ("+amount+") +1/+1 counters on it.");
|
||||
return MagicEvent.NONE;
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPlayer(),
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOne,
|
||||
event.getRefInt()
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
new AtYourUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
game.doAction(new ChangeCountersAction(permanent, MagicCounterType.PlusOne, 1));
|
||||
game.doAction(new ChangeCountersAction(permanent.getController(), permanent, MagicCounterType.PlusOne, 1));
|
||||
final int amount = permanent.getCounters(MagicCounterType.PlusOne);
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue