remove trailing space from groovy code
parent
e3627b1840
commit
8e0c790d3f
|
@ -19,8 +19,8 @@ def choice = MagicTargetChoice.Positive("another target permanent")
|
|||
game.doAction(new AddStaticAction(
|
||||
event.getPermanent(),
|
||||
MagicStatic.AsLongAsCond(
|
||||
it,
|
||||
MagicAbility.Indestructible,
|
||||
it,
|
||||
MagicAbility.Indestructible,
|
||||
MagicConditionFactory.PlayerControlsSource(event.getPlayer())
|
||||
)
|
||||
));
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
permanent,
|
||||
otherPermanent,
|
||||
this,
|
||||
"PN puts a 2/2 white Cat creature token onto the battlefield."
|
||||
"PN puts a 2/2 white Cat creature token onto the battlefield."
|
||||
):
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
|
@ -30,7 +30,7 @@
|
|||
final MagicGame G2, final MagicEvent E ->
|
||||
if (E.isYes()) {
|
||||
G2.doAction(new AttachAction(
|
||||
E.getPermanent(),
|
||||
E.getPermanent(),
|
||||
E.getRefPermanent()
|
||||
));
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new AddStaticAction(
|
||||
event.getPermanent(),
|
||||
event.getPermanent(),
|
||||
MagicStatic.ControlAsLongAsYouControlSource(
|
||||
event.getPlayer(),
|
||||
it
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
new IfLifeWouldChangeTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final ChangeLifeAction act) {
|
||||
if (permanent.isController(act.getPlayer()) &&
|
||||
if (permanent.isController(act.getPlayer()) &&
|
||||
act.isDamage() &&
|
||||
act.getOldLife() >= 1 &&
|
||||
act.getOldLife() >= 1 &&
|
||||
act.getNewLife() < 1) {
|
||||
act.setLifeChange(1 - act.getOldLife());
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ def COLORED_PERMANENT = new MagicPermanentFilterImpl() {
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
COLORED_PERMANENT.filter(event) each {
|
||||
game.doAction(new SacrificeAction(it));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicColor color = event.getChosenColor();
|
||||
game.doAction(new AddStaticAction(event.getPermanent(),
|
||||
game.doAction(new AddStaticAction(event.getPermanent(),
|
||||
new MagicStatic(MagicLayer.Color) {
|
||||
@Override
|
||||
public int getColorFlags(final MagicPermanent perm, final int flags) {
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
TARGET_PLAYER,
|
||||
payedCost.getTarget(),
|
||||
this,
|
||||
"Target player\$ puts a number of cards equal to the sacrificed creature's power " +
|
||||
"Target player\$ puts a number of cards equal to the sacrificed creature's power " +
|
||||
"from the top of his or her library into his or her graveyard."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
new AtYourUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
return upkeepPlayer.controlsPermanent(MagicColor.Blue) ||
|
||||
upkeepPlayer.controlsPermanent(MagicColor.Black) ?
|
||||
return upkeepPlayer.controlsPermanent(MagicColor.Blue) ||
|
||||
upkeepPlayer.controlsPermanent(MagicColor.Black) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
POS_TARGET_CREATURE,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
new EntersBattlefieldTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
NEG_TARGET_PLAYER,
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new RemoveAllFromPlayAction(ZOMBIE.filter(event), MagicLocationType.Exile));
|
||||
|
||||
|
||||
HUMAN_CREATURE_CARD_FROM_GRAVEYARD.filter(event) each {
|
||||
game.doAction(new ReanimateAction(it, event.getPlayer()));
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPermanent otherPermanent) {
|
||||
return (otherPermanent.isNonToken() &&
|
||||
otherPermanent.isCreature() &&
|
||||
otherPermanent.isCreature() &&
|
||||
otherPermanent.getCard().isFriend(permanent)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
|
|
|
@ -36,7 +36,7 @@ def Life = new MagicPermanentActivation(
|
|||
permanent.addAbility(Life);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target);
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
def ARTIFACT_OR_CREATURE_YOU_CONTROL = new MagicPermanentFilterImpl() {
|
||||
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicPermanent target) {
|
||||
return target.isController(player) && (target.isCreature() || target.isArtifact());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
def TARGET_ARTIFACT_OR_CREATURE_YOU_CONTROL = new MagicTargetChoice(
|
||||
|
@ -32,7 +32,7 @@ def action = {
|
|||
),
|
||||
this,
|
||||
"PN chooses one\$ — (1) target artifact or creature PN controls gains protection from artifacts until end of turn; " +
|
||||
"or (2) target artifact or creature PN controls gains protection from the color of his or her choice until end of turn.\$"
|
||||
"or (2) target artifact or creature PN controls gains protection from the color of his or her choice until end of turn.\$"
|
||||
);
|
||||
}
|
||||
@Override
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public void modPowerToughness(final MagicPermanent source,final MagicPermanent permanent,final MagicPowerToughness pt) {
|
||||
if (permanent.isUntapped() && !permanent.isAttacking()) {
|
||||
pt.add(0,2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
perm,
|
||||
MagicLocationType.TopOfOwnersLibrary
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -4,7 +4,7 @@ def type = new MagicStatic(MagicLayer.Type) {
|
|||
return flags | MagicType.Artifact.getMask();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
def choice = Positive("target nonartifact creature");
|
||||
|
||||
[
|
||||
|
|
|
@ -3,7 +3,7 @@ def AURA_YOU_CONTROL_ATTACHED_TO_CREATURE = new MagicPermanentFilterImpl() {
|
|||
return target.getEnchantedPermanent().hasType(MagicType.Creature) && target.isController(player);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
[
|
||||
new MagicSpellCardEvent() {
|
||||
@Override
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
new MagicStatic(MagicLayer.CostIncrease) {
|
||||
@Override
|
||||
public MagicManaCost increaseCost(final MagicPermanent source, final MagicCard card, final MagicManaCost cost) {
|
||||
if (source.isEnemy(card) &&
|
||||
if (source.isEnemy(card) &&
|
||||
(card.isArtifact() || card.isEnchantment())) {
|
||||
return cost.increase(2);
|
||||
} else {
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
cardOnStack,
|
||||
MagicColorChoice.ALL_INSTANCE,
|
||||
this,
|
||||
"Creatures PN controls get +0/+2 until end of turn. " +
|
||||
"PN chooses a color\$. " +
|
||||
"Creatures PN controls get +0/+2 until end of turn. " +
|
||||
"PN chooses a color\$. " +
|
||||
"If seven or more cards are in PN's graveyard, creatures he or she controls also gain protection from the chosen color until end of turn."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
def INSTANT_OR_AURA_TARGETS_YOUR_PERM = new MagicStackFilterImpl() {
|
||||
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicItemOnStack target) {
|
||||
return (target.hasType(MagicType.Instant) || target.hasSubType(MagicSubType.Aura)) &&
|
||||
target.isSpell() &&
|
||||
target.getTarget().isPermanent() &&
|
||||
return (target.hasType(MagicType.Instant) || target.hasSubType(MagicSubType.Aura)) &&
|
||||
target.isSpell() &&
|
||||
target.getTarget().isPermanent() &&
|
||||
target.getTarget().isFriend(player);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
def TARGET_INSTANT_OR_AURA_TARGETS_YOUR_PERM = new MagicTargetChoice(
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
CREATURE.filter(event) each {
|
||||
if (it.isEnchanted()) {
|
||||
game.doAction(new DealDamageAction(
|
||||
event.getSource(),
|
||||
it,
|
||||
event.getSource(),
|
||||
it,
|
||||
it.getAuraPermanents().size()*2
|
||||
));
|
||||
}
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
n1.times {
|
||||
game.addEvent(new MagicSacrificePermanentEvent(event.getSource(),player,SACRIFICE_LAND));
|
||||
}
|
||||
|
||||
|
||||
final int n2 = player.getHandSize() - player.getOpponent().getHandSize();
|
||||
if (n2 > 0) {
|
||||
game.addEvent(new MagicDiscardEvent(event.getSource(),player,n2));
|
||||
}
|
||||
|
||||
|
||||
final int n3 = player.getNrOfPermanents(MagicType.Creature) - player.getOpponent().getNrOfPermanents(MagicType.Creature);
|
||||
n3.times {
|
||||
game.addEvent(new MagicSacrificePermanentEvent(event.getSource(),player,SACRIFICE_CREATURE));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
new EntersBattlefieldTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
TARGET_CREATURE_YOUR_OPPONENT_CONTROLS,
|
||||
TARGET_CREATURE_YOUR_OPPONENT_CONTROLS,
|
||||
MagicExileTargetPicker.create(),
|
||||
this,
|
||||
"Exile target creature an opponent controls\$ until SN leaves the battlefield."
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPayedCost payedCost) {
|
||||
return new MagicEvent(
|
||||
permanent,
|
||||
TARGET_NONLAND_PERMANENT_YOUR_OPPONENT_CONTROLS,
|
||||
TARGET_NONLAND_PERMANENT_YOUR_OPPONENT_CONTROLS,
|
||||
MagicExileTargetPicker.create(),
|
||||
this,
|
||||
"Exile target nonland permanent an opponent controls\$ until SN leaves the battlefield."
|
||||
|
|
|
@ -5,9 +5,9 @@ def CARD_NAMED_BARU = new MagicCardFilterImpl() {
|
|||
public boolean acceptType(final MagicTargetType targetType) {
|
||||
return targetType == MagicTargetType.Hand;
|
||||
}
|
||||
};
|
||||
};
|
||||
def A_CARD_NAMED_BARU = new MagicTargetChoice(
|
||||
CARD_NAMED_BARU,
|
||||
CARD_NAMED_BARU,
|
||||
MagicTargetHint.None,
|
||||
"a card named Baru, Fist of Krosa from your hand"
|
||||
);
|
||||
|
|
|
@ -8,9 +8,9 @@ def PT = new MagicStatic(MagicLayer.SetPT, MagicStatic.UntilEOT) {
|
|||
[
|
||||
new OtherSpellIsCastTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicCardOnStack cardOnStack) {
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicCardOnStack cardOnStack) {
|
||||
return (permanent.isFriend(cardOnStack) &&
|
||||
cardOnStack.hasColor(MagicColor.Red) &&
|
||||
cardOnStack.hasColor(MagicColor.Red) &&
|
||||
cardOnStack.hasColor(MagicColor.White)) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
|
@ -25,7 +25,7 @@ def PT = new MagicStatic(MagicLayer.SetPT, MagicStatic.UntilEOT) {
|
|||
event.getPermanent(), PT
|
||||
));
|
||||
game.doAction(new GainAbilityAction(
|
||||
event.getPermanent(),
|
||||
event.getPermanent(),
|
||||
MagicAbility.FirstStrike
|
||||
));
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
return new MagicEvent(
|
||||
cardOnStack,
|
||||
this,
|
||||
"PN reveals the top three cards of his or her library. " +
|
||||
"PN reveals the top three cards of his or her library. " +
|
||||
"Put all creature cards revealed this way into PN's hand and the rest into PN's graveyard."
|
||||
);
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
|||
game.doAction(new RevealAction(top3));
|
||||
for (final MagicCard top : top3) {
|
||||
game.doAction(new ShiftCardAction(
|
||||
top,
|
||||
top,
|
||||
MagicLocationType.OwnersLibrary,
|
||||
top.hasType(MagicType.Creature) ?
|
||||
MagicLocationType.OwnersHand :
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[
|
||||
new MagicSpellCardEvent() {
|
||||
|
||||
|
||||
@Override
|
||||
public MagicEvent getEvent(final MagicCardOnStack cardOnStack,final MagicPayedCost payedCost) {
|
||||
final int x=payedCost.getX();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
return new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
"Exile the top card of PN's library. If it's a creature card, SN gets +X/+Y until end of turn, " +
|
||||
"Exile the top card of PN's library. If it's a creature card, SN gets +X/+Y until end of turn, " +
|
||||
"where X is the exiled creature card's power and Y is its toughness."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ def event = {
|
|||
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
|
||||
return [
|
||||
new MagicPayManaCostEvent(source, "{1}{G/P}"),
|
||||
new MagicTapEvent(source),
|
||||
new MagicTapEvent(source),
|
||||
new MagicSacrificePermanentEvent(source, SACRIFICE_CREATURE),
|
||||
];
|
||||
}
|
||||
|
@ -63,11 +63,11 @@ def event = {
|
|||
return [
|
||||
new MagicPayManaCostEvent(source, "{1}"),
|
||||
new MagicPayLifeEvent(source, 2),
|
||||
new MagicTapEvent(source),
|
||||
new MagicTapEvent(source),
|
||||
new MagicSacrificePermanentEvent(source, SACRIFICE_CREATURE),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
|
||||
return event(source, payedCost);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
}
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
));
|
||||
} else if (event.isMode(2)) {
|
||||
game.addEvent(new MagicBounceChosenPermanentEvent(
|
||||
event.getSource(),
|
||||
event.getRefPlayer(),
|
||||
event.getSource(),
|
||||
event.getRefPlayer(),
|
||||
A_PERMANENT_YOU_CONTROL
|
||||
));
|
||||
}
|
||||
|
|
|
@ -10,15 +10,15 @@
|
|||
"PN may\$ pay 2 life. If PN doesn't, PN returns a permanent he or she controls to its owner's hand."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
game.doAction(new ChangeLifeAction(event.getPlayer(),-2));
|
||||
} else {
|
||||
game.addEvent(new MagicBounceChosenPermanentEvent(
|
||||
event.getSource(),
|
||||
event.getPlayer(),
|
||||
event.getSource(),
|
||||
event.getPlayer(),
|
||||
A_PERMANENT_YOU_CONTROL
|
||||
));
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
new OtherSpellIsCastTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicCardOnStack cardOnStack) {
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicCardOnStack cardOnStack) {
|
||||
return cardOnStack.hasType(MagicType.Creature) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
final MagicCard card = event.getPermanent().getCard();
|
||||
if (card.isInGraveyard()) {
|
||||
game.doAction(new ReanimateAction(card,event.getPlayer(),[MagicPlayMod.DEATH_COUNTER]));
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
new ThisDiesTrigger() {
|
||||
|
|
|
@ -5,9 +5,9 @@ def CARD_NAMED_NEWT_OR_CAULDRON = new MagicCardFilterImpl() {
|
|||
public boolean acceptType(final MagicTargetType targetType) {
|
||||
return targetType == MagicTargetType.Library;
|
||||
}
|
||||
};
|
||||
};
|
||||
def A_CARD_NAMED_NEWT_OR_CAULDRON = new MagicTargetChoice(
|
||||
CARD_NAMED_NEWT_OR_CAULDRON,
|
||||
CARD_NAMED_NEWT_OR_CAULDRON,
|
||||
MagicTargetHint.None,
|
||||
"a card named Festering Newt or Bubbling Cauldron"
|
||||
);
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
event,
|
||||
new MagicFromCardFilterChoice(
|
||||
CREATURE_CARD_FROM_LIBRARY,
|
||||
1,
|
||||
true,
|
||||
1,
|
||||
true,
|
||||
"to put onto the battlefield"
|
||||
),
|
||||
));
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
return new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
"PN reveals the top three cards of his or her library. " +
|
||||
"PN reveals the top three cards of his or her library. " +
|
||||
"Put all land cards revealed this way into PN's hand and the rest into PN's graveyard."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
event,
|
||||
new MagicFromCardFilterChoice(
|
||||
BASIC_LAND_CARD_FROM_LIBRARY,
|
||||
lands,
|
||||
true,
|
||||
lands,
|
||||
true,
|
||||
"to put onto the battlefield tapped"
|
||||
),
|
||||
MagicPlayMod.TAPPED
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
@Override
|
||||
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
|
||||
return [
|
||||
new MagicTapEvent(source),
|
||||
new MagicTapEvent(source),
|
||||
new MagicPayManaCostEvent(source,"{1}{G}")
|
||||
];
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processChosenCards(game, {
|
||||
game.doAction(new ShiftCardAction(it, MagicLocationType.Graveyard, MagicLocationType.BottomOfOwnersLibrary));
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -11,7 +11,7 @@ def choice = new MagicTargetChoice("an artifact, creature, or land card from you
|
|||
"PN may put an artifact, creature, or land card from his or her hand onto the battlefield."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.addEvent(new MagicPutOntoBattlefieldEvent(
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
return game.getDefendingPlayer().controlsPermanent(UNTAPPED_LAND);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
new MagicStatic(MagicLayer.Ability) {
|
||||
@Override
|
||||
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
new OtherDrawnTrigger(MagicTrigger.REPLACEMENT) {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicCard card) {
|
||||
return card.hasType(MagicType.Creature) ?
|
||||
return card.hasType(MagicType.Creature) ?
|
||||
new MagicEvent(
|
||||
card,
|
||||
new MagicMayChoice("Pay 3 life? If not, discard " + card),
|
||||
this,
|
||||
"PN may\$ pay 3 life. If PN doesn't, discard this card."
|
||||
) :
|
||||
) :
|
||||
MagicEvent.NONE;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
@Override
|
||||
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
|
||||
return [
|
||||
new MagicTapEvent(source),
|
||||
new MagicTapEvent(source),
|
||||
new MagicPayManaCostEvent(source, "{R}"),
|
||||
new MagicSacrificePermanentEvent(source, MagicTargetChoice.ANOTHER_CREATURE_YOU_CONTROL)
|
||||
];
|
||||
|
|
|
@ -5,7 +5,7 @@ def TakeCard = {
|
|||
final MagicCardList top = new MagicCardList(event.getPlayer().getLibrary().getCardsFromTop(5));
|
||||
for (final MagicCard card : top) {
|
||||
game.doAction(new ShiftCardAction(
|
||||
card,
|
||||
card,
|
||||
MagicLocationType.OwnersLibrary,
|
||||
card == chosen ?
|
||||
MagicLocationType.OwnersHand :
|
||||
|
|
|
@ -33,5 +33,5 @@ def choice = new MagicTargetChoice("a creature named Festering Newt to sacrifice
|
|||
game.doAction(new ChangeLifeAction(player,-act.getLifeChange()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
]
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new DestroyAction(
|
||||
new MagicCMCPermanentFilter(
|
||||
PERMANENT,
|
||||
Operator.EQUAL,
|
||||
PERMANENT,
|
||||
Operator.EQUAL,
|
||||
event.getRefInt()
|
||||
).filter(event)
|
||||
));
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
return new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
"PN puts a shred counter on SN. " +
|
||||
"PN puts a shred counter on SN. " +
|
||||
"Then puts the top card of PN's library into his or her graveyard for each shred counter on SN."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
new AtYourUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
return upkeepPlayer.controlsPermanent(MagicColor.Red) ||
|
||||
upkeepPlayer.controlsPermanent(MagicColor.Green) ?
|
||||
return upkeepPlayer.controlsPermanent(MagicColor.Red) ||
|
||||
upkeepPlayer.controlsPermanent(MagicColor.Green) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
def action = {
|
||||
final MagicGame game, final MagicEvent event ->
|
||||
final MagicEvent sac = new MagicSacrificePermanentEvent(event.getSource(),event.getPlayer(),SACRIFICE_LAND);
|
||||
final MagicEvent sac = new MagicSacrificePermanentEvent(event.getSource(),event.getPlayer(),SACRIFICE_LAND);
|
||||
if (event.isYes() && sac.isSatisfied()) {
|
||||
game.addEvent(sac);
|
||||
game.doAction(new CopyCardOnStackAction(event.getPlayer(),event.getCardOnStack()));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
def action = {
|
||||
final MagicGame game, final MagicEvent event ->
|
||||
final MagicEvent sac = new MagicSacrificePermanentEvent(event.getSource(),event.getPlayer(),SACRIFICE_LAND);
|
||||
final MagicEvent sac = new MagicSacrificePermanentEvent(event.getSource(),event.getPlayer(),SACRIFICE_LAND);
|
||||
if (event.isYes() && sac.isSatisfied()) {
|
||||
game.addEvent(sac);
|
||||
game.doAction(new CopyCardOnStackAction(event.getPlayer(),event.getCardOnStack()));
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
permanent.addAbility(MagicAbility.Hexproof, flags);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return source.getEquippedCreature().hasType(MagicType.Legendary) &&
|
||||
target == source.getEquippedCreature();
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
return new MagicEvent(
|
||||
source,
|
||||
this,
|
||||
"Exile the top card of PN's library. If that card is a land card, SN gets -4/-0 until end of turn. " +
|
||||
"Exile the top card of PN's library. If that card is a land card, SN gets -4/-0 until end of turn. " +
|
||||
"Otherwise, SN gets +2/+0 until end of turn."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ def ARTIFACT_OR_ENCHANTMENT_FROM_HAND = new MagicCardFilterImpl() {
|
|||
};
|
||||
|
||||
def AN_ARTIFACT_OR_ENCHANTMENT_FROM_HAND = new MagicTargetChoice(
|
||||
ARTIFACT_OR_ENCHANTMENT_FROM_HAND,
|
||||
ARTIFACT_OR_ENCHANTMENT_FROM_HAND,
|
||||
MagicTargetHint.None,
|
||||
"an artifact or enchantment card from your hand"
|
||||
);
|
||||
|
@ -24,7 +24,7 @@ def AN_ARTIFACT_OR_ENCHANTMENT_FROM_HAND = new MagicTargetChoice(
|
|||
"PN may put an artifact or enchantment card onto the battlefield from his or her hand."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.addEvent(new MagicPutOntoBattlefieldEvent(
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
return new MagicEvent(
|
||||
cardOnStack,
|
||||
POS_TARGET_CREATURE,
|
||||
MagicPumpTargetPicker.create(),
|
||||
MagicPumpTargetPicker.create(),
|
||||
this,
|
||||
"Until end of turn, target creature\$ gets +1/+1 for each creature PN controls and gains trample."
|
||||
);
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
final MagicPermanent target ->
|
||||
|
||||
|
||||
final Set<MagicColor> targetColors = new HashSet<MagicColor>();
|
||||
for (final MagicColor color : MagicColor.values()) {
|
||||
if(target.hasColor(color)) {
|
||||
|
@ -31,7 +31,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (final MagicPermanent damageCreature : targetList) {
|
||||
game.doAction(new DealDamageAction(event.getSource(), damageCreature, 2));
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
pt.add(1, 1);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
|
||||
}
|
||||
},
|
||||
|
@ -15,7 +15,7 @@
|
|||
permanent.addAbility(MagicAbility.Haste, flags);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Red);
|
||||
}
|
||||
},
|
||||
|
@ -25,14 +25,14 @@
|
|||
pt.add(1, 1);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target) && target.hasColor(MagicColor.Blue);
|
||||
}
|
||||
},
|
||||
new MagicStatic(MagicLayer.Ability) {
|
||||
@Override
|
||||
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
|
||||
permanent.addAbility(MagicAbility.Shroud, flags);
|
||||
permanent.addAbility(MagicAbility.Shroud, flags);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
return new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
"PN reveals the top card of his or her library. If it's a land card, PN puts it onto the battlefield. " +
|
||||
"PN reveals the top card of his or her library. If it's a land card, PN puts it onto the battlefield. " +
|
||||
"Otherwise, PN puts that card into his or her hand."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
MagicSimpleMayChoice.DEFAULT_NONE
|
||||
),
|
||||
damage.getAmount(),
|
||||
this,
|
||||
this,
|
||||
"PN may\$ draw RN cards."
|
||||
);
|
||||
}
|
||||
|
@ -18,7 +18,7 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
if (event.isYes()) {
|
||||
game.doAction(new DrawAction(event.getPlayer(),event.getRefInt()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"SN deals damage to PN equal to the number of snow lands he or she controls."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPlayer player = event.getPlayer();
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
@Override
|
||||
public Iterable<MagicEvent> getCostEvent(final MagicPermanent source) {
|
||||
return [
|
||||
new MagicTapEvent(source),
|
||||
new MagicTapEvent(source),
|
||||
new MagicSacrificeEvent(source)
|
||||
];
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
return [new MagicPayManaCostEvent(source,"{2}{B}"),
|
||||
new MagicSacrificeEvent(source)];
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
|
||||
final MagicTargetChoice TARGET_OTHER_CREATURE_CARD_FROM_GRAVEYARD=new MagicTargetChoice(
|
||||
|
@ -25,7 +25,7 @@
|
|||
"PN returns another target creature card\$ from his or her graveyard to his or her hand."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetCard(game, {
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
new ThisLeavesBattlefieldTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final RemoveFromPlayAction act) {
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final int X = event.getCardOnStack().getX();
|
||||
final boolean ferocious = event.getPlayer().controlsPermanent(CREATURE_POWER_4_OR_MORE);
|
||||
final boolean ferocious = event.getPlayer().controlsPermanent(CREATURE_POWER_4_OR_MORE);
|
||||
event.processTarget(game, {
|
||||
game.doAction(new DealDamageAction(
|
||||
event.getSource(),
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
NEG_TARGET_CREATURE,
|
||||
MagicTapTargetPicker.Tap,
|
||||
this,
|
||||
"Tap target creature\$. Gain control of that creature instead " +
|
||||
"Tap target creature\$. Gain control of that creature instead " +
|
||||
"if PN controls artifacts named Scepter of Empires and Throne of Empires."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ def effect = MagicRuleEventAction.create("return a creature card from your grave
|
|||
game.addEvent(new MagicSacrificePermanentEvent(event.getSource(), it, SACRIFICE_CREATURE));
|
||||
game.addEvent(new MagicDiscardEvent(event.getSource(), it, 3));
|
||||
game.doAction(new ChangeLifeAction(it,-5));
|
||||
|
||||
|
||||
game.addEvent(effect.getEvent(event));
|
||||
game.doAction(new DrawAction(event.getPlayer(), 3));
|
||||
game.doAction(new ChangeLifeAction(event.getPlayer(), 5));
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"Each player returns a creature he or she controls to its owner's hand."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
for (final MagicPlayer player : game.getAPNAP()) {
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
MagicLocationType.OwnersHand
|
||||
));
|
||||
game.doAction(new ChangeLifeAction(
|
||||
event.getPlayer(),
|
||||
event.getPlayer(),
|
||||
-card.getConvertedCost()
|
||||
));
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ def action = {
|
|||
game.doAction(sac);
|
||||
if (sac.isValid()) {
|
||||
game.doAction(new PlayTokenAction(
|
||||
event.getPlayer(),
|
||||
event.getPlayer(),
|
||||
CardDefinitions.getToken("legendary 20/20 black Avatar creature token with flying and indestructible named Marit Lage")
|
||||
));
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
def COULD_ATTACK = new MagicCondition() {
|
||||
public boolean accept(final MagicSource source) {
|
||||
final MagicPermanent permanent = (MagicPermanent)source;
|
||||
return permanent.isTapped() == false &&
|
||||
return permanent.isTapped() == false &&
|
||||
((permanent.hasState(MagicPermanentState.Summoned) == false) ||
|
||||
(permanent.hasState(MagicPermanentState.Summoned) && permanent.hasAbility(MagicAbility.Haste)));
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
@Override
|
||||
public Iterable<MagicEvent> getCostEvent(final MagicCard source) {
|
||||
return [
|
||||
new MagicSacrificePermanentEvent(source, SACRIFICE_CREATURE)
|
||||
new MagicSacrificePermanentEvent(source, SACRIFICE_CREATURE)
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
permanent.addAbility(MagicAbility.Indestructible);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target);
|
||||
}
|
||||
},
|
||||
|
@ -21,7 +21,7 @@
|
|||
return MagicType.Creature.getMask()|MagicType.Artifact.getMask()
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target);
|
||||
}
|
||||
},
|
||||
|
@ -31,7 +31,7 @@
|
|||
pt.set(0,1);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"Otherwise, PN puts it into his or her hand."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPlayer player = event.getPlayer();
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
final MagicPermanent enchantedPermanent = event.getRefPermanent();
|
||||
game.doAction(new ChangeLifeAction(
|
||||
enchantedPermanent.getController(),
|
||||
enchantedPermanent.getController(),
|
||||
-enchantedPermanent.getPower()
|
||||
));
|
||||
));
|
||||
game.doAction(new ChangeLifeAction(
|
||||
event.getPlayer(),
|
||||
enchantedPermanent.getToughness()
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
all.addAll(CREATURE.filter(event));
|
||||
all.addAll(LAND.filter(event));
|
||||
game.doAction(new RemoveAllFromPlayAction(all, MagicLocationType.Exile));
|
||||
|
||||
|
||||
for (final MagicPlayer player : game.getAPNAP()) {
|
||||
final MagicCardList graveyard = new MagicCardList(player.getGraveyard());
|
||||
for (final MagicCard it : graveyard) {
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
for (final MagicPermanent target : targets) {
|
||||
game.doAction(ChangeStateAction.Set(target,MagicPermanentState.CannotBeRegenerated));
|
||||
}
|
||||
final DestroyAction destroy = new DestroyAction(targets);
|
||||
game.doAction(destroy);
|
||||
final DestroyAction destroy = new DestroyAction(targets);
|
||||
game.doAction(destroy);
|
||||
game.doAction(new DrawAction(event.getPlayer(),destroy.getNumDestroyed()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
new AtYourUpkeepTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer upkeepPlayer) {
|
||||
return upkeepPlayer.controlsPermanent(MagicColor.Black) ||
|
||||
upkeepPlayer.controlsPermanent(MagicColor.Red) ?
|
||||
return upkeepPlayer.controlsPermanent(MagicColor.Black) ||
|
||||
upkeepPlayer.controlsPermanent(MagicColor.Red) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
this,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
NEG_TARGET_ARTIFACT_OR_ENCHANTMENT,
|
||||
MagicExileTargetPicker.create(),
|
||||
this,
|
||||
"PN chooses target artifact or enchantment\$. " +
|
||||
"PN chooses target artifact or enchantment\$. " +
|
||||
"Its owner shuffles it into his or her library."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ MagicTargetFilter<MagicPermanent> SLIVER_CREATURE_YOU_CONTROL = Permanent("Slive
|
|||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicItemOnStack itemOnStack) {
|
||||
final MagicTarget target = itemOnStack.getTarget();
|
||||
return target.isPermanent() &&
|
||||
return target.isPermanent() &&
|
||||
SLIVER_CREATURE_YOU_CONTROL.accept(permanent, permanent.getController(), (MagicPermanent)target) &&
|
||||
itemOnStack.isEnemy(permanent) ?
|
||||
new MagicEvent(
|
||||
|
|
|
@ -8,15 +8,15 @@
|
|||
permanent,
|
||||
cardOnStack,
|
||||
this,
|
||||
"Counter RN. ${cardOnStack.getController()} puts X 1/1 white and blue Bird creature tokens with flying onto the battlefield, " +
|
||||
"Counter RN. ${cardOnStack.getController()} puts X 1/1 white and blue Bird creature tokens with flying onto the battlefield, " +
|
||||
"where X is RN's converted mana cost. (${cardOnStack.getConvertedCost()})"
|
||||
);
|
||||
}
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new PlayTokensAction(
|
||||
event.getRefCardOnStack().getController(),
|
||||
CardDefinitions.getToken("1/1 white and blue Bird creature token with flying"),
|
||||
event.getRefCardOnStack().getController(),
|
||||
CardDefinitions.getToken("1/1 white and blue Bird creature token with flying"),
|
||||
event.getRefCardOnStack().getConvertedCost()
|
||||
));
|
||||
game.doAction(new CounterItemOnStackAction(event.getRefCardOnStack()));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
def CREATURE_OR_PLANESWALKER = new MagicPermanentFilterImpl() {
|
||||
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicPermanent target) {
|
||||
return target.isCreature() || target.isPlaneswalker();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
def TARGET_CREATURE_OR_PLANESWALKER = new MagicTargetChoice(
|
||||
|
@ -26,7 +26,7 @@ def TARGET_CREATURE_OR_PLANESWALKER = new MagicTargetChoice(
|
|||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
game.doAction(new AddStaticAction(
|
||||
event.getPermanent(),
|
||||
event.getPermanent(),
|
||||
MagicStatic.ControlAsLongAsYouControlSource(
|
||||
event.getPlayer(),
|
||||
it
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
flags.add(MagicSubType.Zombie);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
new MagicStatic(MagicLayer.Color,GOBLIN_CREATURE) {
|
||||
@Override
|
||||
public int getColorFlags(final MagicPermanent permanent, final int flags) {
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
game.doAction(new AddStaticAction(
|
||||
event.getPermanent(),
|
||||
MagicStatic.AsLongAsCond(
|
||||
it,
|
||||
MagicAbility.DoesNotUntap,
|
||||
it,
|
||||
MagicAbility.DoesNotUntap,
|
||||
MagicConditionFactory.PlayerControlsSource(event.getPlayer())
|
||||
)
|
||||
));
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
public boolean condition(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicCondition.HAS_EXILED_CREATURE_CARD.accept(source);
|
||||
}
|
||||
},
|
||||
},
|
||||
new MagicStatic(MagicLayer.Type) {
|
||||
@Override
|
||||
public void modSubTypeFlags(final MagicPermanent source, final Set<MagicSubType> flags) {
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
MagicCounterType.MinusTwo,
|
||||
-1
|
||||
));
|
||||
if (event.getRefPermanent().hasSubType(MagicSubType.Thrull)) {
|
||||
if (event.getRefPermanent().hasSubType(MagicSubType.Thrull)) {
|
||||
game.doAction(new ChangeCountersAction(
|
||||
event.getPermanent(),
|
||||
MagicCounterType.PlusOnePlusZero,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
new MagicStatic(MagicLayer.ModPT) {
|
||||
@Override
|
||||
public void modPowerToughness(final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) {
|
||||
final int size = source.getController().getNrOfPermanents(MagicType.Creature) +
|
||||
final int size = source.getController().getNrOfPermanents(MagicType.Creature) +
|
||||
source.getController().getNrOfPermanents(MagicSubType.Aura);
|
||||
pt.add(size,size);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[
|
||||
new EntersBattlefieldTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPayedCost payedCost) {
|
||||
return (permanent.getController().getLife() < 7) ?
|
||||
new MagicEvent(
|
||||
permanent,
|
||||
|
@ -15,16 +15,16 @@
|
|||
final MagicPlayer player = event.getPlayer();
|
||||
final int life = player.getLife();
|
||||
if (life < 7) {
|
||||
game.doAction(new ChangeLifeAction(player, 7 - life))
|
||||
game.doAction(new ChangeLifeAction(player, 7 - life))
|
||||
}
|
||||
}
|
||||
},
|
||||
new IfLifeWouldChangeTrigger() {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final ChangeLifeAction act) {
|
||||
if (permanent.isController(act.getPlayer()) &&
|
||||
if (permanent.isController(act.getPlayer()) &&
|
||||
act.isDamage() &&
|
||||
act.getOldLife() >= 7 &&
|
||||
act.getOldLife() >= 7 &&
|
||||
act.getNewLife() < 7) {
|
||||
act.setLifeChange(7 - act.getOldLife());
|
||||
}
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
game.doAction(new ChangeLifeAction(player, 5));
|
||||
game.doAction(new RemoveFromPlayAction(permanent, MagicLocationType.TopOfOwnersLibrary));
|
||||
game.doAction(new ShuffleLibraryAction(permanent.getOwner()));
|
||||
|
||||
|
||||
final MagicCardList graveyard = new MagicCardList(player.getGraveyard());
|
||||
for (final MagicCard card : graveyard) {
|
||||
game.doAction(new ShiftCardAction(
|
||||
|
|
|
@ -29,8 +29,8 @@
|
|||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
game.doAction(new PlayTokensAction(
|
||||
event.getPlayer(),
|
||||
CardDefinitions.getToken("1/1 white Soldier creature token"),
|
||||
event.getPlayer(),
|
||||
CardDefinitions.getToken("1/1 white Soldier creature token"),
|
||||
3
|
||||
));
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
new IfDamageWouldBeDealtTrigger(MagicTrigger.INCREASE_DAMAGE) {
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicDamage damage) {
|
||||
if (damage.getSource().isFriend(permanent) &&
|
||||
damage.getSource() != permanent &&
|
||||
if (damage.getSource().isFriend(permanent) &&
|
||||
damage.getSource() != permanent &&
|
||||
damage.getSource().hasColor(MagicColor.Red)
|
||||
) {
|
||||
damage.setAmount(damage.getAmount()+1);
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
event.processTargetPermanent(game, {
|
||||
final MagicPermanent source = event.getPermanent();
|
||||
game.doAction(new AddStaticAction(
|
||||
source,
|
||||
source,
|
||||
MagicStatic.AsLongAsCond(it, 0, 3, MagicCondition.TAPPED_CONDITION)
|
||||
));
|
||||
});
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
cardOnStack,
|
||||
payedCost.getX(),
|
||||
this,
|
||||
"PN reveals the top RN cards of his or her library. " +
|
||||
"PN reveals the top RN cards of his or her library. " +
|
||||
"Put all creature cards revealed this way into PN's hand and the rest on the bottom of PN's library."
|
||||
);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"Tap target creature an opponent controls\$. If PN won, that creature doesn't untap during its controller's next untap step."
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void executeEvent(final MagicGame game, final MagicEvent event) {
|
||||
event.processTargetPermanent(game, {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
def NONWHITE_ENCHANTMENT=new MagicPermanentFilterImpl() {
|
||||
public boolean accept(final MagicSource source,final MagicPlayer player,final MagicPermanent target) {
|
||||
return !target.hasColor(MagicColor.White) && target.isEnchantment();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
def EFFECT1 = MagicRuleEventAction.create("Destroy all enchantments.");
|
||||
|
@ -18,7 +18,7 @@ def EFFECT1 = MagicRuleEventAction.create("Destroy all enchantments.");
|
|||
),
|
||||
this,
|
||||
"Choose one\$ — (1) destroy all enchantments; " +
|
||||
"or (2) destroy all nonwhite enchantments."
|
||||
"or (2) destroy all nonwhite enchantments."
|
||||
);
|
||||
}
|
||||
@Override
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
event.processTarget(game, {
|
||||
final int amount = player.getNrOfPermanents(MagicSubType.Mountain);
|
||||
game.doAction(new DealDamageAction(event.getSource(),it,amount));
|
||||
|
||||
|
||||
def halfAmount = (amount + 1).intdiv(2);
|
||||
game.doAction(new DealDamageAction(event.getSource(),event.getPlayer(),halfAmount));
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
def FEWER_CREATURES_CONDITION = new MagicCondition() {
|
||||
public boolean accept(final MagicSource source) {
|
||||
return source.getController().getNrOfPermanents(MagicType.Creature) <
|
||||
return source.getController().getNrOfPermanents(MagicType.Creature) <
|
||||
source.getOpponent().getNrOfPermanents(MagicType.Creature);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -28,11 +28,11 @@ def choice = Positive("target elf creature");
|
|||
event.processTargetPermanent(game, {
|
||||
final MagicPermanent source = event.getPermanent();
|
||||
game.doAction(new AddStaticAction(
|
||||
source,
|
||||
source,
|
||||
MagicStatic.AsLongAsCond(it, 2, 2, MagicCondition.TAPPED_CONDITION)
|
||||
));
|
||||
game.doAction(new AddStaticAction(
|
||||
source,
|
||||
source,
|
||||
MagicStatic.AsLongAsCond(it, MagicAbility.Trample, MagicCondition.TAPPED_CONDITION)
|
||||
));
|
||||
});
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
permanent.addAbility(MagicTapManaActivation.Black);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target);
|
||||
}
|
||||
},
|
||||
|
@ -17,7 +17,7 @@
|
|||
flags.add(MagicSubType.Swamp);
|
||||
}
|
||||
@Override
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
public boolean accept(final MagicGame game,final MagicPermanent source,final MagicPermanent target) {
|
||||
return MagicStatic.acceptLinked(game, source, target);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ def DestroyTwin = new MagicPermanentActivation(
|
|||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
def GainAct = new MagicStatic(MagicLayer.Ability) {
|
||||
@Override
|
||||
public void modAbilityFlags(final MagicPermanent source, final MagicPermanent permanent, final Set<MagicAbility> flags) {
|
||||
|
@ -48,7 +48,7 @@ def GainAct = new MagicStatic(MagicLayer.Ability) {
|
|||
new MagicMayChoice(A_CREATURE),
|
||||
MagicCopyPermanentPicker.create(),
|
||||
this,
|
||||
"PN may\$ have SN enter the battlefield as a copy of any creature on the battlefield\$, " +
|
||||
"PN may\$ have SN enter the battlefield as a copy of any creature on the battlefield\$, " +
|
||||
"except it gains \"{U}{B}, {T}: Destroy target creature with the same name as this creature.\""
|
||||
);
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue