mirror of
https://github.com/correl/mage.git
synced 2025-01-11 19:13:02 +00:00
[DMU] Implemented Archangel of Wrath (#9385)
* [DMU] Implemented Archangel of Wrath * fix kicker cost * small change to text generation
This commit is contained in:
parent
7f3b03782e
commit
a43eb00c1c
152 changed files with 238 additions and 167 deletions
|
@ -30,7 +30,7 @@ public final class AcademyDrake extends CardImpl {
|
|||
|
||||
// If Academy Drake was kicked, it enters the battlefield with two +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", ""));
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", ""));
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class AetherFigment extends CardImpl {
|
|||
// If Aether Figment was kicked, it enters the battlefield with two +1/+1 counters on it
|
||||
Ability ability = new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.",
|
||||
"");
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class AgonizingDemise extends CardImpl {
|
|||
// If Agonizing Demise was kicked, it deals damage equal to that creature's power to the creature's controller.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DamageTargetControllerEffect(TargetPermanentPowerCount.instance),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"if this spell was kicked, it deals damage equal to that creature's power to the creature's controller."));
|
||||
|
||||
}
|
||||
|
|
66
Mage.Sets/src/mage/cards/a/ArchangelOfWrath.java
Normal file
66
Mage.Sets/src/mage/cards/a/ArchangelOfWrath.java
Normal file
|
@ -0,0 +1,66 @@
|
|||
package mage.cards.a;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.TriggeredAbility;
|
||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||
import mage.abilities.condition.common.KickedCondition;
|
||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.abilities.keyword.KickerAbility;
|
||||
import mage.abilities.keyword.LifelinkAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class ArchangelOfWrath extends CardImpl {
|
||||
|
||||
public ArchangelOfWrath(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
|
||||
|
||||
this.subtype.add(SubType.ANGEL);
|
||||
this.power = new MageInt(3);
|
||||
this.toughness = new MageInt(4);
|
||||
|
||||
// Kicker {B} and/or {R}
|
||||
KickerAbility kickerAbility = new KickerAbility("{B}");
|
||||
kickerAbility.addKickerCost("{R}");
|
||||
this.addAbility(kickerAbility);
|
||||
|
||||
// Flying
|
||||
this.addAbility(FlyingAbility.getInstance());
|
||||
|
||||
// Lifelink
|
||||
this.addAbility(LifelinkAbility.getInstance());
|
||||
|
||||
TriggeredAbility triggeredAbility = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2));
|
||||
triggeredAbility.addTarget(new TargetAnyTarget());
|
||||
// When Archangel of Wrath enters the battlefield, if it was kicked, it deals 2 damage to any target.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
triggeredAbility, KickedCondition.ONCE, "When {this} enters the battlefield, " +
|
||||
"if it was kicked, it deals 2 damage to any target."
|
||||
));
|
||||
|
||||
// When Archangel of Wrath enters the battlefield, if it was kicked twice, it deals 2 damage to any target.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
triggeredAbility.copy(), KickedCondition.TWICE, "When {this} enters the battlefield, " +
|
||||
"if it was kicked twice, it deals 2 damage to any target."
|
||||
));
|
||||
}
|
||||
|
||||
private ArchangelOfWrath(final ArchangelOfWrath card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArchangelOfWrath copy() {
|
||||
return new ArchangelOfWrath(this);
|
||||
}
|
||||
}
|
|
@ -35,7 +35,7 @@ public final class ArcticMerfolk extends CardImpl {
|
|||
// If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance()),
|
||||
KickedCondition.instance,"If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it.",""));
|
||||
KickedCondition.ONCE,"If Arctic Merfolk was kicked, it enters the battlefield with a +1/+1 counter on it.",""));
|
||||
}
|
||||
|
||||
private ArcticMerfolk(final ArcticMerfolk card) {
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class ArdentSoldier extends CardImpl {
|
|||
this.addAbility(VigilanceAbility.getInstance());
|
||||
// If Ardent Soldier was kicked, it enters the battlefield with a +1/+1 counter on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", ""));
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", ""));
|
||||
}
|
||||
|
||||
private ArdentSoldier(final ArdentSoldier card) {
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class BalothGorger extends CardImpl {
|
|||
// If Baloth Gorger was kicked, it enters the battlefield with three +1/+1 counters on it
|
||||
Ability ability = new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with three +1/+1 counters on it",
|
||||
"");
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class BenalishEmissary extends CardImpl {
|
|||
// When Benalish Emissary enters the battlefield, if it was kicked, destroy target land.
|
||||
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect());
|
||||
ability.addTarget(new TargetLandPermanent());
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, destroy target land."));
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class BenalishLancer extends CardImpl {
|
|||
|
||||
// If Benalish Lancer was kicked, it enters the battlefield with two +1/+1 counters on it and with first strike.
|
||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with first strike.", "");
|
||||
ability.addEffect(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class BenalishSleeper extends CardImpl {
|
|||
// When Benalish Sleeper enters the battlefield, if it was kicked, each player sacrifices a creature.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new SacrificeAllEffect(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT)
|
||||
), KickedCondition.instance, "When {this} enters the battlefield, " +
|
||||
), KickedCondition.ONCE, "When {this} enters the battlefield, " +
|
||||
"if it was kicked, each player sacrifices a creature."));
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ public final class BlastFromThePast extends CardImpl {
|
|||
// Blast from the Past deals 2 damage to any target. If this spell was kicked, create a 1/1 red Goblin creature token.
|
||||
this.getSpellAbility().addEffect(new DamageTargetEffect(2));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new GoblinToken()), KickedCondition.instance));
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new GoblinToken()), KickedCondition.ONCE));
|
||||
}
|
||||
|
||||
public BlastFromThePast (final BlastFromThePast card) {
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class BlinkOfAnEye extends CardImpl {
|
|||
// Return target nonland permanent to its owner's hand. If this spell was kicked, draw a card.
|
||||
this.getSpellAbility().addTarget(new TargetNonlandPermanent());
|
||||
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1), KickedCondition.instance,
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1), KickedCondition.ONCE,
|
||||
"If this spell was kicked, draw a card"));
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ enum BloodBeckoningAdjuster implements TargetAdjuster {
|
|||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
ability.getTargets().clear();
|
||||
if (KickedCondition.instance.apply(game, ability)) {
|
||||
if (KickedCondition.ONCE.apply(game, ability)) {
|
||||
ability.addTarget(new TargetCardInYourGraveyard(2, StaticFilters.FILTER_CARD_CREATURE));
|
||||
} else {
|
||||
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE));
|
||||
|
|
|
@ -46,7 +46,7 @@ public final class BloodTribute extends CardImpl {
|
|||
// If Blood Tribute was kicked, you gain life equal to the life lost this way.
|
||||
Effect effect = new ConditionalOneShotEffect(
|
||||
new BloodTributeGainLifeEffect(),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"if this spell was kicked, you gain life equal to the life lost this way");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ enum BloodchiefsThirstAdjuster implements TargetAdjuster {
|
|||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
ability.getTargets().clear();
|
||||
if (KickedCondition.instance.apply(game, ability)) {
|
||||
if (KickedCondition.ONCE.apply(game, ability)) {
|
||||
ability.addTarget(new TargetCreatureOrPlaneswalker());
|
||||
} else {
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class BogDown extends CardImpl {
|
|||
|
||||
// Target player discards two cards. If Bog Down was kicked, that player discards three cards instead.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DiscardTargetEffect(3),
|
||||
new DiscardTargetEffect(2), KickedCondition.instance,
|
||||
new DiscardTargetEffect(2), KickedCondition.ONCE,
|
||||
"Target player discards two cards. If this spell was kicked, that player discards three cards instead."));
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ class BoldDefenseEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
if (KickedCondition.instance.apply(game, source)) {
|
||||
if (KickedCondition.ONCE.apply(game, source)) {
|
||||
game.addEffect(new BoostControlledEffect(2, 2, Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(
|
||||
FirstStrikeAbility.getInstance(), Duration.EndOfTurn,
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class BreathOfDarigaaz extends CardImpl {
|
|||
|
||||
// Breath of Darigaaz deals 1 damage to each creature without flying and each player. If Breath of Darigaaz was kicked, it deals 4 damage to each creature without flying and each player instead.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageEverythingEffect(4, filter),
|
||||
new DamageEverythingEffect(1, filter), KickedCondition.instance,
|
||||
new DamageEverythingEffect(1, filter), KickedCondition.ONCE,
|
||||
"{this} deals 1 damage to each creature without flying and each player. If this spell was kicked, it deals 4 damage to each creature without flying and each player instead."));
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public final class BubbleSnare extends CardImpl {
|
|||
|
||||
// When Bubble Snare enters the battlefield, if it was kicked, tap enchanted creature.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect()), KickedCondition.instance,
|
||||
new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect()), KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, tap enchanted creature."
|
||||
));
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class BurstLightning extends CardImpl {
|
|||
// Burst Lightning deals 2 damage to any target. If Burst Lightning was kicked, it deals 4 damage to that creature or player instead.
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageTargetEffect(4),
|
||||
new DamageTargetEffect(2), KickedCondition.instance, "{this} deals 2 damage to any target. If this spell was kicked, it deals 4 damage instead"));
|
||||
new DamageTargetEffect(2), KickedCondition.ONCE, "{this} deals 2 damage to any target. If this spell was kicked, it deals 4 damage instead"));
|
||||
}
|
||||
|
||||
private BurstLightning(final BurstLightning card) {
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class CaligoSkinWitch extends CardImpl {
|
|||
false,
|
||||
TargetController.OPPONENT
|
||||
)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, each opponent discards two cards."
|
||||
));
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class CanopySurge extends CardImpl {
|
|||
this.addAbility(new KickerAbility("{2}"));
|
||||
// Canopy Surge deals 1 damage to each creature with flying and each player. If Canopy Surge was kicked, it deals 4 damage to each creature with flying and each player instead.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DamageEverythingEffect(4, filter),
|
||||
new DamageEverythingEffect(1, filter), KickedCondition.instance,
|
||||
new DamageEverythingEffect(1, filter), KickedCondition.ONCE,
|
||||
"{this} deals 1 damage to each creature with flying and each player. If this spell was kicked, it deals 4 damage to each creature with flying and each player instead."));
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class Cinderclasm extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DamageAllEffect(2, StaticFilters.FILTER_PERMANENT_CREATURE),
|
||||
new DamageAllEffect(1, StaticFilters.FILTER_PERMANENT_CREATURE),
|
||||
KickedCondition.instance, "{this} deals 1 damage to each creature. " +
|
||||
KickedCondition.ONCE, "{this} deals 1 damage to each creature. " +
|
||||
"If it was kicked, it deals 2 damage to each creature instead"
|
||||
));
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class CitanulWoodreaders extends CardImpl {
|
|||
// When Citanul Woodreaders enters the battlefield, if it was kicked, draw two cards.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(2)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, draw two cards."
|
||||
));
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ public final class ConquerorsPledge extends CardImpl {
|
|||
this.addAbility(new KickerAbility("{6}"));
|
||||
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new KorSoldierToken(), 12),
|
||||
new CreateTokenEffect(new KorSoldierToken(), 6), KickedCondition.instance,
|
||||
new CreateTokenEffect(new KorSoldierToken(), 6), KickedCondition.ONCE,
|
||||
"Create six 1/1 white Kor Soldier creature tokens. If this spell was kicked, create twelve of those tokens instead"));
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public final class CragplateBaloth extends CardImpl {
|
|||
|
||||
// If Cragplate Baloth was kicked, it enters the battlefield with four +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), KickedCondition.instance,
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with four +1/+1 counters on it.", ""
|
||||
));
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class CunningGeysermage extends CardImpl {
|
|||
// When Cunning Geysermage enters the battlefield, if it was kicked, return up to one other target creature to its owner's hand.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()),
|
||||
KickedCondition.instance, "When {this} enters the battlefield, " +
|
||||
KickedCondition.ONCE, "When {this} enters the battlefield, " +
|
||||
"if it was kicked, return up to one other target creature to its owner's hand."
|
||||
);
|
||||
ability.addTarget(new TargetPermanent(0, 1, filter, false));
|
||||
|
|
|
@ -58,7 +58,7 @@ class DauntlessUnityEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
if (KickedCondition.instance.apply(game, source)) {
|
||||
if (KickedCondition.ONCE.apply(game, source)) {
|
||||
game.addEffect(new BoostControlledEffect(2, 1, Duration.EndOfTurn), source);
|
||||
} else {
|
||||
game.addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn), source);
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class DesolationAngel extends CardImpl {
|
|||
|
||||
// When Desolation Angel enters the battlefield, destroy all lands you control. If it was kicked, destroy all lands instead.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new DestroyAllEffect(StaticFilters.FILTER_LANDS),
|
||||
new DestroyAllEffect(filter2), KickedCondition.instance, "destroy all lands you control. If it was kicked, destroy all lands instead.")));
|
||||
new DestroyAllEffect(filter2), KickedCondition.ONCE, "destroy all lands you control. If it was kicked, destroy all lands instead.")));
|
||||
}
|
||||
|
||||
private DesolationAngel(final DesolationAngel card) {
|
||||
|
|
|
@ -41,7 +41,7 @@ public final class DesolationGiant extends CardImpl {
|
|||
this.addAbility(new KickerAbility("{W}{W}"));
|
||||
// When Desolation Giant enters the battlefield, destroy all other creatures you control. If it was kicked, destroy all other creatures instead.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalOneShotEffect(new DestroyAllEffect(filter),
|
||||
new DestroyAllEffect(filter2), KickedCondition.instance, "destroy all other creatures you control. If it was kicked, destroy all other creatures instead.")));
|
||||
new DestroyAllEffect(filter2), KickedCondition.ONCE, "destroy all other creatures you control. If it was kicked, destroy all other creatures instead.")));
|
||||
}
|
||||
|
||||
private DesolationGiant(final DesolationGiant card) {
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class DismantlingBlow extends CardImpl {
|
|||
// If Dismantling Blow was kicked, draw two cards.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DrawCardSourceControllerEffect(2),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"if this spell was kicked, draw two cards"));
|
||||
}
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ public final class DralnusPet extends CardImpl {
|
|||
kickerCosts.add(new DiscardCardCost(StaticFilters.FILTER_CARD_CREATURE));
|
||||
this.addAbility(new KickerAbility(kickerCosts));
|
||||
// If Dralnu's Pet was kicked, it enters the battlefield with flying and with X +1/+1 counters on it, where X is the discarded card's converted mana cost.
|
||||
Ability ability = new EntersBattlefieldAbility(new DralnusPetEffect(), KickedCondition.instance,
|
||||
Ability ability = new EntersBattlefieldAbility(new DralnusPetEffect(), KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with flying and with X +1/+1 counters on it, where X is the discarded card's mana value.", "");
|
||||
ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class Duskwalker extends CardImpl {
|
|||
|
||||
// If Duskwalker was kicked, it enters the battlefield with two +1/+1 counters on it and with fear.
|
||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with fear.", "");
|
||||
ability.addEffect(new GainAbilitySourceEffect(FearAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -55,7 +55,7 @@ enum DwarvenLandslideAdjuster implements TargetAdjuster {
|
|||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (KickedCondition.instance.apply(game, ability)) {
|
||||
if (KickedCondition.ONCE.apply(game, ability)) {
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetLandPermanent(2));
|
||||
}
|
||||
|
|
|
@ -71,7 +71,7 @@ class ElementalAppealEffect extends OneShotEffect {
|
|||
CreateTokenEffect effect = new CreateTokenEffect(new RedElementalWithTrampleAndHaste());
|
||||
if (effect.apply(game, source)) {
|
||||
effect.exileTokensCreatedAtNextEndStep(game, source);
|
||||
if (KickedCondition.instance.apply(game, source)) {
|
||||
if (KickedCondition.ONCE.apply(game, source)) {
|
||||
List<Predicate<MageObject>> predList = new ArrayList<>();
|
||||
for (UUID tokenId : effect.getLastAddedTokenIds()) {
|
||||
predList.add(new CardIdPredicate(tokenId));
|
||||
|
|
|
@ -61,6 +61,6 @@ class ElfhameDruidConditionalMana extends ConditionalMana {
|
|||
|
||||
public ElfhameDruidConditionalMana(Mana mana) {
|
||||
super(mana);
|
||||
addCondition(KickedCondition.instance);
|
||||
addCondition(KickedCondition.ONCE);
|
||||
}
|
||||
}
|
|
@ -55,7 +55,7 @@ class ErtaisTrickeryEffect extends CounterTargetEffect {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Spell targetSpell = game.getStack().getSpell(source.getFirstTarget());
|
||||
if(targetSpell != null && KickedCondition.instance.apply(game, targetSpell.getSpellAbility())) {
|
||||
if(targetSpell != null && KickedCondition.ONCE.apply(game, targetSpell.getSpellAbility())) {
|
||||
return super.apply(game, source);
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class ExcavationElephant extends CardImpl {
|
|||
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false);
|
||||
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
ability, KickedCondition.instance,
|
||||
ability, KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, "
|
||||
+ "return target artifact card from your graveyard to your hand."
|
||||
));
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class ExplosiveGrowth extends CardImpl {
|
|||
// Target creature gets +2/+2 until end of turn. If Explosive Growth was kicked, that creature gets +5/+5 until end of turn instead.
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new BoostTargetEffect(5, 5, Duration.EndOfTurn),
|
||||
new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.instance),
|
||||
new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.ONCE),
|
||||
"Target creature gets +2/+2 until end of turn. If this spell was kicked, that creature gets +5/+5 until end of turn instead."));
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class FaerieSquadron extends CardImpl {
|
|||
this.addAbility(new KickerAbility("{3}{U}"));
|
||||
// If Faerie Squadron was kicked, it enters the battlefield with two +1/+1 counters on it and with flying.
|
||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with flying.", "");
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with flying.", "");
|
||||
ability.addEffect(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -55,6 +55,6 @@ enum FallingTimberAdjuster implements TargetAdjuster {
|
|||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
ability.getTargets().clear();
|
||||
ability.addTarget(new TargetCreaturePermanent(KickedCondition.instance.apply(game, ability) ? 2 : 1));
|
||||
ability.addTarget(new TargetCreaturePermanent(KickedCondition.ONCE.apply(game, ability) ? 2 : 1));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ public final class FieldResearch extends CardImpl {
|
|||
// Draw two cards. If this spell was kicked, draw three cards instead.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DrawCardSourceControllerEffect(3), new DrawCardSourceControllerEffect(2),
|
||||
KickedCondition.instance, "Draw two cards. If this spell was kicked, draw three cards instead."
|
||||
KickedCondition.ONCE, "Draw two cards. If this spell was kicked, draw three cards instead."
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class FightWithFire extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DamageMultiEffect(10),
|
||||
new DamageTargetEffect(5),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"{this} deals 5 damage to target creature. If this spell was kicked, "
|
||||
+ "it deals 10 damage divided as you choose among any number of targets instead."
|
||||
+ "<i> (Those targets can include players and planeswalkers.)</i>"
|
||||
|
@ -57,7 +57,7 @@ enum FightWithFireAdjuster implements TargetAdjuster {
|
|||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
ability.getTargets().clear();
|
||||
if (KickedCondition.instance.apply(game, ability)) {
|
||||
if (KickedCondition.ONCE.apply(game, ability)) {
|
||||
ability.addTarget(new TargetAnyTargetAmount(10));
|
||||
} else {
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class GatekeeperOfMalakir extends CardImpl {
|
|||
// When Gatekeeper of Malakir enters the battlefield, if it was kicked, target player sacrifices a creature.
|
||||
EntersBattlefieldTriggeredAbility ability =
|
||||
new EntersBattlefieldTriggeredAbility(new SacrificeEffect(filter, 1, "target player"));
|
||||
Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, target player sacrifices a creature.");
|
||||
Ability conditionalAbility = new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, target player sacrifices a creature.");
|
||||
conditionalAbility.addTarget(new TargetPlayer());
|
||||
this.addAbility(conditionalAbility);
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class GhastlyGloomhunter extends CardImpl {
|
|||
|
||||
// If Ghastly Gloomhunter was kicked, it enters the battlefield with two +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance,
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", ""
|
||||
));
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public final class GhituChronicler extends CardImpl {
|
|||
// When Ghitu Chronicler enters the battlefield, if it was kicked, return target instant or sorcery card from your graveyard to your hand.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false),
|
||||
KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " +
|
||||
KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " +
|
||||
"return target instant or sorcery card from your graveyard to your hand."
|
||||
);
|
||||
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class GiftOfGrowth extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap target creature"));
|
||||
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new BoostTargetEffect(4, 4, Duration.EndOfTurn),
|
||||
new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.instance),
|
||||
new BoostTargetEffect(2, 2, Duration.EndOfTurn), new LockedInCondition(KickedCondition.ONCE),
|
||||
"It gets +2/+2 until end of turn. If this spell was kicked, that creature gets +4/+4 until end of turn instead."));
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ public final class Gigantiform extends CardImpl {
|
|||
// When Gigantiform enters the battlefield, if it was kicked, you may search your library for a card named Gigantiform, put it onto the battlefield, then shuffle your library.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new GigantiformEffect(), true),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, you may search your library for a card named Gigantiform, put it onto the battlefield, then shuffle."));
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class GnarlidColony extends CardImpl {
|
|||
|
||||
// If Gnarlid Colony was kicked, it enters the battlefield with two +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance,
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with two +1/+1 counters on it.", ""
|
||||
));
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ enum GoblinBarrageAdjuster implements TargetAdjuster {
|
|||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (KickedCondition.instance.apply(game, ability)) {
|
||||
if (KickedCondition.ONCE.apply(game, ability)) {
|
||||
ability.addTarget(new TargetPlayerOrPlaneswalker());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class GoblinBushwhacker extends CardImpl {
|
|||
));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
ability,
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, "
|
||||
+ "if it was kicked, "
|
||||
+ "creatures you control get +1/+0 and gain haste until end of turn."
|
||||
|
|
|
@ -40,7 +40,7 @@ public final class GoblinRuinblaster extends CardImpl {
|
|||
// When Goblin Ruinblaster enters the battlefield, if it was kicked, destroy target nonbasic land.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
|
||||
ability.addTarget(new TargetNonBasicLandPermanent());
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target nonbasic land."));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target nonbasic land."));
|
||||
}
|
||||
|
||||
private GoblinRuinblaster(final GoblinRuinblaster card) {
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class GrowFromTheAshes extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"Search your library for a basic land card, put it onto the battlefield, then shuffle. If this spell was kicked, instead search your library for two basic land cards, put them onto the battlefield, then shuffle."));
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class GrunnTheLonelyKing extends CardImpl {
|
|||
|
||||
//If Grunn, the Lonely King was kicked, it enters the battlefield with five +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(5)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with five +1/+1 counters on it", ""));
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with five +1/+1 counters on it", ""));
|
||||
|
||||
//Whenever Grunn attacks alone, double its power and toughness until end of turn.
|
||||
SourcePermanentPowerCount power = new SourcePermanentPowerCount();
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class HeartstabberMosquito extends CardImpl {
|
|||
// When Heartstabber Mosquito enters the battlefield, if it was kicked, destroy target creature.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature."));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target creature."));
|
||||
}
|
||||
|
||||
private HeartstabberMosquito(final HeartstabberMosquito card) {
|
||||
|
|
|
@ -47,7 +47,7 @@ public final class HuntingWilds extends CardImpl {
|
|||
|
||||
// If Hunting Wilds was kicked, untap all Forests put onto the battlefield this way.
|
||||
// They become 3/3 green creatures with haste that are still lands.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new HuntingWildsEffect(), KickedCondition.instance));
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new HuntingWildsEffect(), KickedCondition.ONCE));
|
||||
}
|
||||
|
||||
private HuntingWilds(final HuntingWilds card) {
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class HypnoticCloud extends CardImpl {
|
|||
// Target player discards a card. If Hypnotic Cloud was kicked, that player discards three cards instead.
|
||||
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DiscardTargetEffect(3), new DiscardTargetEffect(1), KickedCondition.instance,
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new DiscardTargetEffect(3), new DiscardTargetEffect(1), KickedCondition.ONCE,
|
||||
"Target player discards a card. If this spell was kicked, that player discards three cards instead"));
|
||||
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ public final class IntoTheRoil extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DrawCardSourceControllerEffect(1),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"if this spell was kicked, draw a card"));
|
||||
this.getSpellAbility().addTarget(new TargetNonlandPermanent());
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class JaceMirrorMage extends CardImpl {
|
|||
// When Jace, Mirror Mage enters the battlefield, if Jace was kicked, create a token that's a copy of Jace, Mirror Mage except it's not legendary and its starting loyalty is 1.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new JaceMirrorMageCopyEffect()),
|
||||
KickedCondition.instance, "When {this} enters the battlefield, if {this} was kicked, " +
|
||||
KickedCondition.ONCE, "When {this} enters the battlefield, if {this} was kicked, " +
|
||||
"create a token that's a copy of {this}, except it's not legendary and its starting loyalty is 1."
|
||||
));
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class Jilt extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
|
||||
Effect effect = new ConditionalOneShotEffect(
|
||||
new DamageTargetEffect(2, "it"),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"if this spell was kicked, it deals 2 damage to another target creature");
|
||||
effect.setTargetPointer(new SecondTargetPointer());
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
|
@ -60,7 +60,7 @@ enum JiltAdjuster implements TargetAdjuster {
|
|||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (!KickedCondition.instance.apply(game, ability)) {
|
||||
if (!KickedCondition.ONCE.apply(game, ability)) {
|
||||
return;
|
||||
}
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent("Another creature: Damaged");
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class JosuVessLichKnight extends CardImpl {
|
|||
|
||||
//When Josu Vess, Lich Knight enters the battlefield, if it was kicked, create eight 2/2 black Zombie Knight creature tokens with menace.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieKnightToken(), 8));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, create eight 2/2 black Zombie Knight creature tokens with menace."));
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ public final class KangeeAerieKeeper extends CardImpl {
|
|||
|
||||
// When Kangee, Aerie Keeper enters the battlefield, if it was kicked, put X feather counters on it.
|
||||
TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.FEATHER.createInstance(), GetKickerXValue.instance, true));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, put X feather counters on it."));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, put X feather counters on it."));
|
||||
|
||||
// Other Bird creatures get +1/+1 for each feather counter on Kangee, Aerie Keeper.
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(new CountersSourceCount(CounterType.FEATHER), new CountersSourceCount(CounterType.FEATHER), Duration.WhileOnBattlefield, filter, true, "Other Bird creatures get +1/+1 for each feather counter on {this}.")));
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class KavuAggressor extends CardImpl {
|
|||
this.addAbility(new CantBlockAbility());
|
||||
// If Kavu Aggressor was kicked, it enters the battlefield with a +1/+1 counter on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", ""));
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.", ""));
|
||||
}
|
||||
|
||||
private KavuAggressor(final KavuAggressor card) {
|
||||
|
|
|
@ -35,7 +35,7 @@ public final class KavuPrimarch extends CardImpl {
|
|||
|
||||
|
||||
// If Kavu Primarch was kicked, it enters the battlefield with four +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)),KickedCondition.instance,
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)),KickedCondition.ONCE,
|
||||
"If Kavu Primarch was kicked, it enters the battlefield with four +1/+1 counters on it.", ""));
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class KavuTitan extends CardImpl {
|
|||
this.addAbility(new KickerAbility("{2}{G}"));
|
||||
// If Kavu Titan was kicked, it enters the battlefield with three +1/+1 counters on it and with trample.
|
||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"If Kavu Titan was kicked, it enters the battlefield with three +1/+1 counters on it and with trample.", "");
|
||||
ability.addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class KeldonOverseer extends CardImpl {
|
|||
ability.addEffect(new UntapTargetEffect());
|
||||
ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance,
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn."));
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class KitesailCleric extends CardImpl {
|
|||
// When Kitesail Cleric enters the battelfield, if it was kicked, tap up to two target creatures.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new TapTargetEffect()),
|
||||
KickedCondition.instance, "When {this} enters the battlefield, " +
|
||||
KickedCondition.ONCE, "When {this} enters the battlefield, " +
|
||||
"if it was kicked, tap up to two target creatures."
|
||||
);
|
||||
ability.addTarget(new TargetCreaturePermanent(0, 2));
|
||||
|
|
|
@ -39,7 +39,7 @@ public final class KorAeronaut extends CardImpl {
|
|||
//When Kor Aeronaut enters the battlefield, if it was kicked, target creature gains flying until end of turn.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), false);
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, target creature gains flying until end of turn."));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, target creature gains flying until end of turn."));
|
||||
}
|
||||
|
||||
private KorAeronaut(final KorAeronaut card) {
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class KorSanctifiers extends CardImpl {
|
|||
// When Kor Sanctifiers enters the battlefield, if it was kicked, destroy target artifact or enchantment.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
|
||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target artifact or enchantment."));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target artifact or enchantment."));
|
||||
}
|
||||
|
||||
public KorSanctifiers (final KorSanctifiers card) {
|
||||
|
|
|
@ -33,7 +33,7 @@ public final class KrosanDruid extends CardImpl {
|
|||
// When Krosan Druid enters the battlefield, if it was kicked, you gain 10 life.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new GainLifeEffect(10)),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"When {this} enters the battlefield, if it was kicked, you gain 10 life"
|
||||
));
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class LlanowarElite extends CardImpl {
|
|||
|
||||
// If Llanowar Elite was kicked, it enters the battlefield with five +1/+1 counters on it.
|
||||
Ability ability = new EntersBattlefieldAbility(
|
||||
new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(5)), KickedCondition.instance, ""),
|
||||
new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(5)), KickedCondition.ONCE, ""),
|
||||
"If {this} was kicked, it enters the battlefield with five +1/+1 counters on it.");
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ class MaddeningCacophonyEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
boolean kicked = KickedCondition.instance.apply(game, source);
|
||||
boolean kicked = KickedCondition.ONCE.apply(game, source);
|
||||
for (UUID playerId : game.getOpponents(source.getControllerId())) {
|
||||
Player player = game.getPlayer(playerId);
|
||||
if (player == null) {
|
||||
|
|
|
@ -51,6 +51,6 @@ enum MagmaBurstAdjuster implements TargetAdjuster {
|
|||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
ability.addTarget(new TargetAnyTarget(KickedCondition.instance.apply(game, ability) ? 2 : 1));
|
||||
ability.addTarget(new TargetAnyTarget(KickedCondition.ONCE.apply(game, ability) ? 2 : 1));
|
||||
}
|
||||
}
|
|
@ -38,7 +38,7 @@ public final class MarshCasualties extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(
|
||||
new MarshCasualtiesEffect(-2, -2),
|
||||
new MarshCasualtiesEffect(-1, -1),
|
||||
new LockedInCondition(KickedCondition.instance),
|
||||
new LockedInCondition(KickedCondition.ONCE),
|
||||
ruleText));
|
||||
this.getSpellAbility().addTarget(new TargetPlayer());
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ class MightOfMurasaEffect extends OneShotEffect {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
int i = KickedCondition.instance.apply(game, source) ? 5 : 3;
|
||||
int i = KickedCondition.ONCE.apply(game, source) ? 5 : 3;
|
||||
game.addEffect(new BoostTargetEffect(i, i, Duration.EndOfTurn), source);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class MoldShambler extends CardImpl {
|
|||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
|
||||
Target target = new TargetPermanent(filter);
|
||||
ability.addTarget(target);
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent."));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target noncreature permanent."));
|
||||
}
|
||||
|
||||
private MoldShambler(final MoldShambler card) {
|
||||
|
|
|
@ -78,14 +78,14 @@ class MoltenDisasterSplitSecondEffect extends ContinuousRuleModifyingEffectImpl
|
|||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
if (event.getType() == GameEvent.EventType.CAST_SPELL) {
|
||||
if (KickedCondition.instance.apply(game, source)) {
|
||||
if (KickedCondition.ONCE.apply(game, source)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (event.getType() == GameEvent.EventType.ACTIVATE_ABILITY) {
|
||||
Optional<Ability> ability = game.getAbility(event.getTargetId(), event.getSourceId());
|
||||
if (ability.isPresent() && !(ability.get() instanceof ActivatedManaAbilityImpl)) {
|
||||
return KickedCondition.instance.apply(game, source);
|
||||
return KickedCondition.ONCE.apply(game, source);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -37,7 +37,7 @@ public final class MossPitSkeleton extends CardImpl {
|
|||
|
||||
// If Moss-Pit Skeleton was kicked, it enters the battlefield with three +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), KickedCondition.instance,
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), KickedCondition.ONCE,
|
||||
"If {this} was kicked, it enters the battlefield with three +1/+1 counters on it.", ""
|
||||
));
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public final class MurasaSproutling extends CardImpl {
|
|||
// When Murasa Sproutling enters the battlefield, if it was kicked, return target card with a kicker ability from your graveyard to your hand.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect()),
|
||||
KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " +
|
||||
KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " +
|
||||
"return target card with a kicker ability from your graveyard to your hand."
|
||||
);
|
||||
ability.addTarget(new TargetCardInYourGraveyard(filter));
|
||||
|
|
|
@ -55,7 +55,7 @@ public final class MyriadConstruct extends CardImpl {
|
|||
// If Myriad Construct was kicked, it enters the battlefield with a +1/+1 counter on it for each nonbasic land your opponents control.
|
||||
this.addAbility(new EntersBattlefieldAbility(
|
||||
new AddCountersSourceEffect(CounterType.P1P1.createInstance(), xValue, false),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield " +
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield " +
|
||||
"with a +1/+1 counter on it for each nonbasic land your opponents control.", ""
|
||||
));
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ public final class NullpriestOfOblivion extends CardImpl {
|
|||
// When Nullpriest of Oblivion enters the battlefield, if it was kicked, return target creature card from your graveyard to the battlefield.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()),
|
||||
KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " +
|
||||
KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " +
|
||||
"return target creature card from your graveyard to the battlefield."
|
||||
);
|
||||
ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));
|
||||
|
|
|
@ -46,7 +46,7 @@ public final class OranRiefRecluse extends CardImpl {
|
|||
// When Oran-Rief Recluse enters the battlefield, if it was kicked, destroy target creature with flying.
|
||||
EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
|
||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, destroy target creature with flying."));
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, destroy target creature with flying."));
|
||||
}
|
||||
|
||||
private OranRiefRecluse(final OranRiefRecluse card) {
|
||||
|
|
|
@ -96,7 +96,7 @@ class OrimsChantEffect extends OneShotEffect {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player controller = game.getPlayer(source.getControllerId());
|
||||
if (controller != null && KickedCondition.instance.apply(game, source)) {
|
||||
if (controller != null && KickedCondition.ONCE.apply(game, source)) {
|
||||
game.addEffect(new CantAttackAnyPlayerAllEffect(Duration.EndOfTurn, FILTER_PERMANENT_CREATURES), source);
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class OrimsThunder extends CardImpl {
|
|||
this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT));
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new OrimsThunderEffect2(),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"If this spell was kicked, it deals damage equal to that permanent's mana value to target creature")
|
||||
);
|
||||
this.getSpellAbility().setTargetAdjuster(OrimsThunderAdjuster.instance);
|
||||
|
@ -57,7 +57,7 @@ enum OrimsThunderAdjuster implements TargetAdjuster {
|
|||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
if (KickedCondition.instance.apply(game, ability)) {
|
||||
if (KickedCondition.ONCE.apply(game, ability)) {
|
||||
ability.addTarget(new TargetCreaturePermanent());
|
||||
}
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ class OrimsThunderEffect2 extends OneShotEffect {
|
|||
if (firstTarget != null) {
|
||||
damage = firstTarget.getManaValue();
|
||||
}
|
||||
boolean kicked = KickedCondition.instance.apply(game, source);
|
||||
boolean kicked = KickedCondition.ONCE.apply(game, source);
|
||||
if (kicked && secondTarget != null) {
|
||||
secondTarget.damage(damage, source.getSourceId(), source, game);
|
||||
return true;
|
||||
|
|
|
@ -29,7 +29,7 @@ public final class OrimsTouch extends CardImpl {
|
|||
// Prevent the next 2 damage that would be dealt to any target this turn. If Orim's Touch was kicked, prevent the next 4 damage that would be dealt to that creature or player this turn instead.
|
||||
Effect effect = new ConditionalReplacementEffect(
|
||||
new PreventDamageToTargetEffect(Duration.EndOfTurn, 4),
|
||||
new LockedInCondition(KickedCondition.instance),
|
||||
new LockedInCondition(KickedCondition.ONCE),
|
||||
new PreventDamageToTargetEffect(Duration.EndOfTurn, 2));
|
||||
effect.setText("Prevent the next 2 damage that would be dealt to any target this turn. If Orim's Touch was kicked, prevent the next 4 damage that would be dealt to that permanent or player this turn instead");
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
|
|
|
@ -65,7 +65,7 @@ class OverloadEffect extends OneShotEffect {
|
|||
Permanent targetArtifact = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||
if (targetArtifact != null) {
|
||||
int cmc = targetArtifact.getManaValue();
|
||||
if (cmc <= 2 || (KickedCondition.instance.apply(game, source) && cmc <= 5)) {
|
||||
if (cmc <= 2 || (KickedCondition.ONCE.apply(game, source) && cmc <= 5)) {
|
||||
targetArtifact.destroy(source, game, false);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class PhyrexianScuta extends CardImpl {
|
|||
// Kicker-Pay 3 life.
|
||||
this.addAbility(new KickerAbility(new PayLifeCost(3)));
|
||||
// If Phyrexian Scuta was kicked, it enters the battlefield with two +1/+1 counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.instance, "If Phyrexian Scuta was kicked, it enters the battlefield with two +1/+1 counters on it.", ""));
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), KickedCondition.ONCE, "If Phyrexian Scuta was kicked, it enters the battlefield with two +1/+1 counters on it.", ""));
|
||||
}
|
||||
|
||||
private PhyrexianScuta(final PhyrexianScuta card) {
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class PincerSpider extends CardImpl {
|
|||
|
||||
// If Pincer Spider was kicked, it enters the battlefield with a +1/+1 counter on it.
|
||||
Ability ability = new EntersBattlefieldAbility(
|
||||
new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), KickedCondition.instance, ""),
|
||||
new ConditionalOneShotEffect(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), KickedCondition.ONCE, ""),
|
||||
"If {this} was kicked, it enters the battlefield with a +1/+1 counter on it.");
|
||||
this.addAbility(ability);
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ public final class PollenRemedy extends CardImpl {
|
|||
// Prevent the next 3 damage that would be dealt this turn to any number of target creatures and/or players, divided as you choose.
|
||||
// If Pollen Remedy was kicked, prevent the next 6 damage this way instead.
|
||||
Effect effect = new ConditionalReplacementEffect(new PreventDamageToTargetMultiAmountEffect(Duration.EndOfTurn, 6),
|
||||
KickedCondition.instance, new PreventDamageToTargetMultiAmountEffect(Duration.EndOfTurn, 3));
|
||||
KickedCondition.ONCE, new PreventDamageToTargetMultiAmountEffect(Duration.EndOfTurn, 3));
|
||||
effect.setText("Prevent the next 3 damage that would be dealt this turn to any number of targets, divided as you choose. If this spell was kicked, prevent the next 6 damage this way instead.");
|
||||
this.getSpellAbility().addEffect(effect);
|
||||
this.getSpellAbility().setTargetAdjuster(PollenRemedyAdjuster.instance);
|
||||
|
@ -55,6 +55,6 @@ enum PollenRemedyAdjuster implements TargetAdjuster {
|
|||
|
||||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
ability.addTarget(new TargetAnyTargetAmount(KickedCondition.instance.apply(game, ability) ? 6 : 3));
|
||||
ability.addTarget(new TargetAnyTargetAmount(KickedCondition.ONCE.apply(game, ability) ? 6 : 3));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class PouncingKavu extends CardImpl {
|
|||
this.addAbility(FirstStrikeAbility.getInstance());
|
||||
// If Pouncing Kavu was kicked, it enters the battlefield with two +1/+1 counters on it and with haste.
|
||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with haste.", "");
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with two +1/+1 counters on it and with haste.", "");
|
||||
ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ public final class PouncingWurm extends CardImpl {
|
|||
// If Pouncing Wurm was kicked, it enters the battlefield with three +1/+1 counters on it and with haste.
|
||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3))),
|
||||
KickedCondition.instance,"If Pouncing Wurm was kicked, it enters the battlefield with three +1/+1 counters on it and with haste.");
|
||||
KickedCondition.ONCE,"If Pouncing Wurm was kicked, it enters the battlefield with three +1/+1 counters on it and with haste.");
|
||||
ability.addEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class PrimalGrowth extends CardImpl {
|
|||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 1, StaticFilters.FILTER_CARD_BASIC_LAND), false, true),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"Search your library for a basic land card, put that card onto the battlefield, then shuffle. If this spell was kicked, instead search your library for up to two basic land cards, put them onto the battlefield, then shuffle"));
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class PrisonBarricade extends CardImpl {
|
|||
|
||||
// If Prison Barricade was kicked, it enters the battlefield with a +1/+1 counter on it and with "Prison Barricade can attack as though it didn't have defender."
|
||||
Ability ability = new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it and with \"{this} can attack as though it didn't have defender.\"", "");
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with a +1/+1 counter on it and with \"{this} can attack as though it didn't have defender.\"", "");
|
||||
ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield));
|
||||
this.addAbility(ability);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ public final class Probe extends CardImpl {
|
|||
// If Probe was kicked, target player discards two cards.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DiscardTargetEffect(2),
|
||||
KickedCondition.instance,
|
||||
KickedCondition.ONCE,
|
||||
"If this spell was kicked, target player discards two cards"));
|
||||
this.getSpellAbility().setTargetAdjuster(ProbeAdjuster.instance);
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ enum ProbeAdjuster implements TargetAdjuster {
|
|||
@Override
|
||||
public void adjustTargets(Ability ability, Game game) {
|
||||
ability.getTargets().clear();
|
||||
if (KickedCondition.instance.apply(game, ability)) {
|
||||
if (KickedCondition.ONCE.apply(game, ability)) {
|
||||
ability.addTarget(new TargetPlayer());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ class ProhibitEffect extends OneShotEffect {
|
|||
if (targetSpell != null) {
|
||||
int cmc = targetSpell.getManaValue();
|
||||
if (cmc <= 2
|
||||
|| (KickedCondition.instance.apply(game, source) && cmc <= 4)) {
|
||||
|| (KickedCondition.ONCE.apply(game, source) && cmc <= 4)) {
|
||||
game.getStack().counter(targetSpell.getId(), source, game);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public final class RavagingRiftwurm extends CardImpl {
|
|||
this.addAbility(new VanishingSacrificeAbility());
|
||||
// If Ravaging Riftwurm was kicked, it enters the battlefield with three additional time counters on it.
|
||||
this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance(3)),
|
||||
KickedCondition.instance, "If {this} was kicked, it enters the battlefield with three additional time counters on it.", ""));
|
||||
KickedCondition.ONCE, "If {this} was kicked, it enters the battlefield with three additional time counters on it.", ""));
|
||||
}
|
||||
|
||||
private RavagingRiftwurm(final RavagingRiftwurm card) {
|
||||
|
|
|
@ -32,7 +32,7 @@ public final class ReclaimTheWastes extends CardImpl {
|
|||
new SearchLibraryPutInHandEffect(new TargetCardInLibrary(
|
||||
0, 1,
|
||||
StaticFilters.FILTER_CARD_BASIC_LAND
|
||||
), true), KickedCondition.instance, "search your library for a basic land card, " +
|
||||
), true), KickedCondition.ONCE, "search your library for a basic land card, " +
|
||||
"reveal it, put it into your hand, then shuffle. If this spell was kicked, " +
|
||||
"search your library for two basic land cards instead of one"
|
||||
));
|
||||
|
|
|
@ -26,7 +26,7 @@ public final class RiteOfReplication extends CardImpl {
|
|||
// Create a token that's a copy of target creature. If Rite of Replication was kicked, create five of those tokens instead.
|
||||
this.getSpellAbility().addTarget(new TargetCreaturePermanent());
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenCopyTargetEffect(null, null, false, 5),
|
||||
new CreateTokenCopyTargetEffect(), KickedCondition.instance,
|
||||
new CreateTokenCopyTargetEffect(), KickedCondition.ONCE,
|
||||
"Create a token that's a copy of target creature. If this spell was kicked, create five of those tokens instead"));
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ public final class RoilEruption extends CardImpl {
|
|||
|
||||
// Roil Eruption deals 3 damage to any target. If this spell was kicked, it deals 5 damage instead.
|
||||
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
|
||||
new DamageTargetEffect(5), new DamageTargetEffect(3), KickedCondition.instance,
|
||||
new DamageTargetEffect(5), new DamageTargetEffect(3), KickedCondition.ONCE,
|
||||
"{this} deals 3 damage to any target. If this spell was kicked, it deals 5 damage instead"
|
||||
));
|
||||
this.getSpellAbility().addTarget(new TargetAnyTarget());
|
||||
|
|
|
@ -28,7 +28,7 @@ public final class RoostOfDrakes extends CardImpl {
|
|||
// When Roost of Drakes enters the battlefield, if it was kicked, create a 2/2 blue Drake creature token with flying.
|
||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||
new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new DrakeToken())),
|
||||
KickedCondition.instance, "When {this} enters the battlefield, if it was kicked, " +
|
||||
KickedCondition.ONCE, "When {this} enters the battlefield, if it was kicked, " +
|
||||
"create a 2/2 blue Drake creature token with flying."
|
||||
));
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue