mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 04:42:07 -08:00
refactor: common logic for "at..." triggered abilities (#13045)
* add new common framework for at step triggered abilities * move postcombat main and second main triggers to it * update draw step triggers * refactor BeginningOfCombatTriggeredAbility * refactor BeginningOfFirstMainTriggeredAbility * move Pronoun to constants package * cleanup some cards to use simpler constructors * package reorganization
This commit is contained in:
parent
c9cc398b48
commit
eee0fee79e
329 changed files with 1149 additions and 1331 deletions
|
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfDrawTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfDrawTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.cost.SpellsCostIncreasingAllEffect;
|
import mage.abilities.effects.common.cost.SpellsCostIncreasingAllEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -29,7 +29,7 @@ public final class AcademyLoremaster extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of each player's draw step, that player may draw an additional card. If they do, spells they cast this turn cost {2} more to cast.
|
// At the beginning of each player's draw step, that player may draw an additional card. If they do, spells they cast this turn cost {2} more to cast.
|
||||||
this.addAbility(new BeginningOfDrawTriggeredAbility(
|
this.addAbility(new BeginningOfDrawTriggeredAbility(
|
||||||
new AcademyLoremasterEffect(), TargetController.ANY, false
|
TargetController.EACH_PLAYER, new AcademyLoremasterEffect(), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
|
@ -38,7 +38,7 @@ public final class AdherentOfHope extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, if you control a Basri planeswalker, put a +1/+1 counter on Adherent of Hope.
|
// At the beginning of combat on your turn, if you control a Basri planeswalker, put a +1/+1 counter on Adherent of Hope.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false),
|
new BeginningOfCombatTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false),
|
||||||
new PermanentsOnTheBattlefieldCondition(filter),
|
new PermanentsOnTheBattlefieldCondition(filter),
|
||||||
"At the beginning of combat on your turn, if you control a Basri planeswalker, put a +1/+1 counter on {this}."));
|
"At the beginning of combat on your turn, if you control a Basri planeswalker, put a +1/+1 counter on {this}."));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.MillCardsControllerEffect;
|
import mage.abilities.effects.common.MillCardsControllerEffect;
|
||||||
|
|
@ -53,7 +53,6 @@ public final class AdmiralBrassUnsinkable extends CardImpl {
|
||||||
Effect returnFromGraveyardEffect = new ReturnFromGraveyardToBattlefieldWithCounterTargetEffect(CounterType.FINALITY.createInstance());
|
Effect returnFromGraveyardEffect = new ReturnFromGraveyardToBattlefieldWithCounterTargetEffect(CounterType.FINALITY.createInstance());
|
||||||
BeginningOfCombatTriggeredAbility ability = new BeginningOfCombatTriggeredAbility(
|
BeginningOfCombatTriggeredAbility ability = new BeginningOfCombatTriggeredAbility(
|
||||||
returnFromGraveyardEffect,
|
returnFromGraveyardEffect,
|
||||||
TargetController.YOU,
|
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
ability.addEffect(new SetBasePowerToughnessTargetEffect(4, 4, Duration.WhileOnBattlefield).setText("It has base power and toughness 4/4."));
|
ability.addEffect(new SetBasePowerToughnessTargetEffect(4, 4, Duration.WhileOnBattlefield).setText("It has base power and toughness 4/4."));
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.a;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.IndestructibleAbility;
|
import mage.abilities.keyword.IndestructibleAbility;
|
||||||
|
|
@ -41,7 +41,7 @@ public final class AethershieldArtificer extends CardImpl {
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 2, Duration.EndOfTurn)
|
new BoostTargetEffect(2, 2, Duration.EndOfTurn)
|
||||||
.setText("target artifact creature you control gets +2/+2"),
|
.setText("target artifact creature you control gets +2/+2"),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addEffect(new GainAbilityTargetEffect(
|
ability.addEffect(new GainAbilityTargetEffect(
|
||||||
IndestructibleAbility.getInstance(),
|
IndestructibleAbility.getInstance(),
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Pronoun;
|
import mage.constants.Pronoun;
|
||||||
import mage.abilities.common.DiesOneOrMoreCreatureTriggeredAbility;
|
import mage.abilities.common.DiesOneOrMoreCreatureTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
|
@ -42,7 +42,7 @@ public final class AjanisComrade extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on Ajani's Comrade.
|
// At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on Ajani's Comrade.
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false),
|
new BeginningOfCombatTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false),
|
||||||
new PermanentsOnTheBattlefieldCondition(filter),
|
new PermanentsOnTheBattlefieldCondition(filter),
|
||||||
"At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on {this}."));
|
"At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on {this}."));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.a;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Abilities;
|
import mage.abilities.Abilities;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.ContinuousEffect;
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
|
|
@ -48,7 +48,7 @@ public final class AkromaVisionOfIxidor extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of each combat, until end of turn, each other creature you control gets +1/+1 if it has flying, +1/+1 if it has first strike, and so on for double strike, deathtouch, haste, hexproof, indestructible, lifelink, menace, protection, reach, trample, vigilance, and partner.
|
// At the beginning of each combat, until end of turn, each other creature you control gets +1/+1 if it has flying, +1/+1 if it has first strike, and so on for double strike, deathtouch, haste, hexproof, indestructible, lifelink, menace, protection, reach, trample, vigilance, and partner.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new AkromaVisionOfIxidorEffect(), TargetController.ANY, false
|
TargetController.ANY, new AkromaVisionOfIxidorEffect(), false
|
||||||
));
|
));
|
||||||
|
|
||||||
// Partner
|
// Partner
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ package mage.cards.a;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.costs.mana.GenericManaCost;
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
|
|
@ -33,7 +33,7 @@ public final class AltarOfShadows extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{7}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{7}");
|
||||||
|
|
||||||
// At the beginning of your precombat main phase, add {B} for each charge counter on Altar of Shadows.
|
// At the beginning of your precombat main phase, add {B} for each charge counter on Altar of Shadows.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new AltarOfShadowsEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new AltarOfShadowsEffect(), false));
|
||||||
|
|
||||||
// {7}, {tap}: Destroy target creature. Then put a charge counter on Altar of Shadows.
|
// {7}, {tap}: Destroy target creature. Then put a charge counter on Altar of Shadows.
|
||||||
Ability destroyAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new GenericManaCost(7));
|
Ability destroyAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new GenericManaCost(7));
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import java.util.*;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||||
import mage.abilities.keyword.FirstStrikeAbility;
|
import mage.abilities.keyword.FirstStrikeAbility;
|
||||||
|
|
@ -39,7 +39,7 @@ public final class AngelicSkirmisher extends CardImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// At the beginning of each combat, choose first strike, vigilance or lifelink. Creatures you control gain that ability until end of turn.
|
// At the beginning of each combat, choose first strike, vigilance or lifelink. Creatures you control gain that ability until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(new AngelicSkirmisherEffect(), TargetController.ANY, false);
|
Ability ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, new AngelicSkirmisherEffect(), false);
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,21 @@
|
||||||
|
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.TargetController;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
import mage.filter.common.FilterCreaturePermanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author caldover
|
* @author caldover
|
||||||
*/
|
*/
|
||||||
public final class AnointedDeacon extends CardImpl {
|
public final class AnointedDeacon extends CardImpl {
|
||||||
|
|
@ -33,9 +35,8 @@ public final class AnointedDeacon extends CardImpl {
|
||||||
this.toughness = new MageInt(3);
|
this.toughness = new MageInt(3);
|
||||||
|
|
||||||
// At the beginning of combat on your turn, you may have target Vampire get +2/+0 until end of turn.
|
// At the beginning of combat on your turn, you may have target Vampire get +2/+0 until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD,
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 0, Duration.EndOfTurn).setText("you may have target Vampire get +2/+0 until end of turn"),
|
new BoostTargetEffect(2, 0, Duration.EndOfTurn), true);
|
||||||
TargetController.YOU, true, false);
|
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfDrawTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfDrawTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
|
@ -29,7 +29,7 @@ public final class AnvilOfBogardan extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||||
|
|
||||||
// At the beginning of each player's draw step, that player draws an additional card, then discards a card.
|
// At the beginning of each player's draw step, that player draws an additional card, then discards a card.
|
||||||
this.addAbility(new BeginningOfDrawTriggeredAbility(Zone.BATTLEFIELD, new AnvilOfBogardanEffect(), TargetController.ANY, false));
|
this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new AnvilOfBogardanEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnvilOfBogardan(final AnvilOfBogardan card) {
|
private AnvilOfBogardan(final AnvilOfBogardan card) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.a;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.AttacksCreatureYouControlTriggeredAbility;
|
import mage.abilities.common.AttacksCreatureYouControlTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.SourceOnBattlefieldOrCommandZoneCondition;
|
import mage.abilities.condition.common.SourceOnBattlefieldOrCommandZoneCondition;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.ContinuousEffect;
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
|
|
@ -53,8 +53,8 @@ public final class ArahboRoarOfTheWorld extends CardImpl {
|
||||||
|
|
||||||
// Eminence — At the beginning of combat on your turn, if Arahbo, Roar of the World is in the command zone or on the battlefield, another target Cat you control gets +3/+3 until end of turn.
|
// Eminence — At the beginning of combat on your turn, if Arahbo, Roar of the World is in the command zone or on the battlefield, another target Cat you control gets +3/+3 until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(Zone.ALL,
|
Ability ability = new BeginningOfCombatTriggeredAbility(Zone.ALL,
|
||||||
new BoostTargetEffect(3, 3, Duration.EndOfTurn),
|
TargetController.YOU, new BoostTargetEffect(3, 3, Duration.EndOfTurn),
|
||||||
TargetController.YOU, false, false).withInterveningIf(
|
false).withInterveningIf(
|
||||||
SourceOnBattlefieldOrCommandZoneCondition.instance);
|
SourceOnBattlefieldOrCommandZoneCondition.instance);
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||||
ability.setAbilityWord(AbilityWord.EMINENCE);
|
ability.setAbilityWord(AbilityWord.EMINENCE);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.common.FullPartyCondition;
|
import mage.abilities.condition.common.FullPartyCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
|
@ -44,7 +44,7 @@ public final class ArchpriestOfIona extends CardImpl {
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(1, 1, Duration.EndOfTurn),
|
new BoostTargetEffect(1, 1, Duration.EndOfTurn),
|
||||||
TargetController.YOU, false
|
false
|
||||||
), FullPartyCondition.instance, "At the beginning of combat on your turn, " +
|
), FullPartyCondition.instance, "At the beginning of combat on your turn, " +
|
||||||
"if you have a full party, target creature gets +1/+1 and gains flying until end of turn."
|
"if you have a full party, target creature gets +1/+1 and gains flying until end of turn."
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
|
import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect;
|
||||||
|
|
@ -42,8 +42,8 @@ public final class ArclightPhoenix extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
Zone.GRAVEYARD,
|
Zone.GRAVEYARD,
|
||||||
new ReturnSourceFromGraveyardToBattlefieldEffect(),
|
TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect(),
|
||||||
TargetController.YOU, false, false
|
false
|
||||||
), ArclightPhoenixCondition.instance,
|
), ArclightPhoenixCondition.instance,
|
||||||
"At the beginning of combat on your turn, "
|
"At the beginning of combat on your turn, "
|
||||||
+ "if you've cast three or more instant "
|
+ "if you've cast three or more instant "
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.PartnerAbility;
|
import mage.abilities.keyword.PartnerAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -35,7 +35,7 @@ public final class ArdennIntrepidArchaeologist extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, you may attach any number of Auras and Equipment you control to target permanent or player.
|
// At the beginning of combat on your turn, you may attach any number of Auras and Equipment you control to target permanent or player.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new ArdennIntrepidArchaeologistEffect(), TargetController.YOU, true
|
new ArdennIntrepidArchaeologistEffect(), true
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanentOrPlayer());
|
ability.addTarget(new TargetPermanentOrPlayer());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
|
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.abilities.ActivatedAbilityImpl;
|
import mage.abilities.ActivatedAbilityImpl;
|
||||||
import mage.abilities.common.BeginningOfDrawTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfDrawTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
import mage.abilities.condition.common.IsStepCondition;
|
import mage.abilities.condition.common.IsStepCondition;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
|
|
@ -18,8 +16,9 @@ import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author MarcoMarin
|
* @author MarcoMarin
|
||||||
*/
|
*/
|
||||||
public final class ArmageddonClock extends CardImpl {
|
public final class ArmageddonClock extends CardImpl {
|
||||||
|
|
@ -29,9 +28,11 @@ public final class ArmageddonClock extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of your upkeep, put a doom counter on Armageddon Clock.
|
// At the beginning of your upkeep, put a doom counter on Armageddon Clock.
|
||||||
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), StaticValue.get(1), true), TargetController.YOU, false));
|
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), StaticValue.get(1), true), TargetController.YOU, false));
|
||||||
|
|
||||||
// At the beginning of your draw step, Armageddon Clock deals damage equal to the number of doom counters on it to each player.
|
// At the beginning of your draw step, Armageddon Clock deals damage equal to the number of doom counters on it to each player.
|
||||||
this.addAbility(new BeginningOfDrawTriggeredAbility(new DamagePlayersEffect(Outcome.Damage, new CountersSourceCount(CounterType.DOOM))
|
this.addAbility(new BeginningOfDrawTriggeredAbility(new DamagePlayersEffect(Outcome.Damage, new CountersSourceCount(CounterType.DOOM))
|
||||||
.setText("{this} deals damage equal to the number of doom counters on it to each player"), TargetController.YOU, false));
|
.setText("{this} deals damage equal to the number of doom counters on it to each player"), false));
|
||||||
|
|
||||||
// {4}: Remove a doom counter from Armageddon Clock. Any player may activate this ability but only during any upkeep step.
|
// {4}: Remove a doom counter from Armageddon Clock. Any player may activate this ability but only during any upkeep step.
|
||||||
ActivatedAbilityImpl ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
|
ActivatedAbilityImpl ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD,
|
||||||
new RemoveCounterSourceEffect(CounterType.DOOM.createInstance()), new ManaCostsImpl<>("{4}"), new IsStepCondition(PhaseStep.UPKEEP, false),
|
new RemoveCounterSourceEffect(CounterType.DOOM.createInstance()), new ManaCostsImpl<>("{4}"), new IsStepCondition(PhaseStep.UPKEEP, false),
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldAbility;
|
import mage.abilities.common.EntersBattlefieldAbility;
|
||||||
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||||
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
import mage.abilities.costs.common.RemoveCountersSourceCost;
|
||||||
|
|
@ -50,7 +50,7 @@ public final class AtraxasSkitterfang extends CardImpl {
|
||||||
ability,
|
ability,
|
||||||
new RemoveCountersSourceCost(CounterType.OIL.createInstance()),
|
new RemoveCountersSourceCost(CounterType.OIL.createInstance()),
|
||||||
"Remove an oil counter?"
|
"Remove an oil counter?"
|
||||||
), TargetController.YOU, false));
|
), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private AtraxasSkitterfang(final AtraxasSkitterfang card) {
|
private AtraxasSkitterfang(final AtraxasSkitterfang card) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.a;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
|
|
@ -46,7 +46,7 @@ public final class AureliaExemplarOfJustice extends CardImpl {
|
||||||
// At the beginning of combat on your turn, choose up to one target creature you control. Until end of turn, that creature gets +2/+0, gains trample if it's red, and gains vigilance if it's white.
|
// At the beginning of combat on your turn, choose up to one target creature you control. Until end of turn, that creature gets +2/+0, gains trample if it's red, and gains vigilance if it's white.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new AureliaExemplarOfJusticeEffect(),
|
new AureliaExemplarOfJusticeEffect(),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent(0, 1));
|
ability.addTarget(new TargetControlledCreaturePermanent(0, 1));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||||
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||||
import mage.abilities.costs.common.PayEnergyCost;
|
import mage.abilities.costs.common.PayEnergyCost;
|
||||||
|
|
@ -51,7 +51,7 @@ public final class AuroraShifter extends CardImpl {
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new DoWhenCostPaid(reflexive, new PayEnergyCost(2),
|
new DoWhenCostPaid(reflexive, new PayEnergyCost(2),
|
||||||
"Pay {E}{E}? When you do, {this} becomes a copy of another target creature you control, except it has this ability and \"Whenever this creature deals combat damage to a player, you get that many {E}.\""),
|
"Pay {E}{E}? When you do, {this} becomes a copy of another target creature you control, except it has this ability and \"Whenever this creature deals combat damage to a player, you get that many {E}.\""),
|
||||||
TargetController.YOU, false));
|
false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private AuroraShifter(final AuroraShifter card) {
|
private AuroraShifter(final AuroraShifter card) {
|
||||||
|
|
@ -108,7 +108,7 @@ class AuroraShifterCopyApplier extends CopyApplier {
|
||||||
blueprint.getAbilities().add(new BeginningOfCombatTriggeredAbility(
|
blueprint.getAbilities().add(new BeginningOfCombatTriggeredAbility(
|
||||||
new DoWhenCostPaid(reflexive, new PayEnergyCost(2),
|
new DoWhenCostPaid(reflexive, new PayEnergyCost(2),
|
||||||
"Pay {E}{E}? When you do, {this} becomes a copy of another target creature you control, except it has this ability and \"Whenever this creature deals combat damage to a player, you get that many {E}.\""),
|
"Pay {E}{E}? When you do, {this} becomes a copy of another target creature you control, except it has this ability and \"Whenever this creature deals combat damage to a player, you get that many {E}.\""),
|
||||||
TargetController.YOU, false));
|
false));
|
||||||
|
|
||||||
|
|
||||||
blueprint.getAbilities().add(new DealsCombatDamageToAPlayerTriggeredAbility(
|
blueprint.getAbilities().add(new DealsCombatDamageToAPlayerTriggeredAbility(
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
import mage.abilities.effects.common.counter.AddCountersTargetEffect;
|
||||||
import mage.abilities.keyword.DayboundAbility;
|
import mage.abilities.keyword.DayboundAbility;
|
||||||
import mage.abilities.keyword.HexproofAbility;
|
import mage.abilities.keyword.HexproofAbility;
|
||||||
|
|
@ -38,7 +38,7 @@ public final class AvabruckCaretaker extends CardImpl {
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new AddCountersTargetEffect(
|
new AddCountersTargetEffect(
|
||||||
CounterType.P1P1.createInstance(2)
|
CounterType.P1P1.createInstance(2)
|
||||||
), TargetController.YOU, false
|
), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
|
|
||||||
package mage.cards.a;
|
package mage.cards.a;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfDrawTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfDrawTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
import mage.abilities.effects.common.discard.DiscardHandControllerEffect;
|
import mage.abilities.effects.common.discard.DiscardHandControllerEffect;
|
||||||
|
|
@ -14,23 +12,26 @@ import mage.constants.CardType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class AvariciousDragon extends CardImpl {
|
public final class AvariciousDragon extends CardImpl {
|
||||||
|
|
||||||
public AvariciousDragon(UUID ownerId, CardSetInfo setInfo) {
|
public AvariciousDragon(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}");
|
||||||
this.subtype.add(SubType.DRAGON);
|
this.subtype.add(SubType.DRAGON);
|
||||||
this.power = new MageInt(4);
|
this.power = new MageInt(4);
|
||||||
this.toughness = new MageInt(4);
|
this.toughness = new MageInt(4);
|
||||||
|
|
||||||
// Flying
|
// Flying
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// At the beginning of your draw step, draw an additional card.
|
// At the beginning of your draw step, draw an additional card.
|
||||||
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1)
|
this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1)
|
||||||
.setText("draw an additional card"), TargetController.YOU, false));
|
.setText("draw an additional card"), false));
|
||||||
|
|
||||||
// At the beginning of your end step, discard your hand.
|
// At the beginning of your end step, discard your hand.
|
||||||
this.addAbility(new BeginningOfEndStepTriggeredAbility(new DiscardHandControllerEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfEndStepTriggeredAbility(new DiscardHandControllerEffect(), TargetController.YOU, false));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.a;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.ExileTargetEffect;
|
import mage.abilities.effects.common.ExileTargetEffect;
|
||||||
|
|
@ -50,7 +50,7 @@ public final class AyaraFurnaceQueen extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, return up to one target artifact or creature card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step.
|
// At the beginning of combat on your turn, return up to one target artifact or creature card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new AyaraFurnaceQueenEffect(), TargetController.YOU, false
|
new AyaraFurnaceQueenEffect(), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCardInYourGraveyard(0, 1, filter));
|
ability.addTarget(new TargetCardInYourGraveyard(0, 1, filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import mage.MageInt;
|
||||||
import mage.MageObjectReference;
|
import mage.MageObjectReference;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.DelayedTriggeredAbility;
|
import mage.abilities.DelayedTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.costs.common.DiscardCardCost;
|
import mage.abilities.costs.common.DiscardCardCost;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
|
|
@ -44,7 +44,7 @@ public final class AzraOddsmaker extends CardImpl {
|
||||||
new DoIfCostPaid(
|
new DoIfCostPaid(
|
||||||
new AzraOddsmakerEffect(),
|
new AzraOddsmakerEffect(),
|
||||||
new DiscardCardCost()
|
new DiscardCardCost()
|
||||||
), TargetController.YOU, false
|
), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfDrawTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfDrawTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
|
@ -61,7 +61,7 @@ public final class BanditsTalent extends CardImpl {
|
||||||
this.addAbility(new ClassLevelAbility(3, "{3}{B}"));
|
this.addAbility(new ClassLevelAbility(3, "{3}{B}"));
|
||||||
// At the beginning of your draw step, draw an additional card for each opponent who has one or fewer cards in hand.
|
// At the beginning of your draw step, draw an additional card for each opponent who has one or fewer cards in hand.
|
||||||
this.addAbility(new SimpleStaticAbility(new GainClassAbilitySourceEffect(new BeginningOfDrawTriggeredAbility(
|
this.addAbility(new SimpleStaticAbility(new GainClassAbilitySourceEffect(new BeginningOfDrawTriggeredAbility(
|
||||||
new DrawCardSourceControllerEffect(BanditsTalentValue.instance), TargetController.YOU, false), 3))
|
TargetController.YOU, new DrawCardSourceControllerEffect(BanditsTalentValue.instance), false), 3))
|
||||||
.addHint(BanditsTalentValue.getHint()));
|
.addHint(BanditsTalentValue.getHint()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ package mage.cards.b;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility;
|
import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
|
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||||
|
|
@ -39,7 +39,7 @@ public final class BatteringRam extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// At the beginning of combat on your turn, Battering Ram gains banding until end of combat.
|
// At the beginning of combat on your turn, Battering Ram gains banding until end of combat.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new GainAbilitySourceEffect(BandingAbility.getInstance(), Duration.EndOfCombat), TargetController.YOU, false));
|
this.addAbility(new BeginningOfCombatTriggeredAbility(new GainAbilitySourceEffect(BandingAbility.getInstance(), Duration.EndOfCombat), false));
|
||||||
|
|
||||||
// Whenever Battering Ram becomes blocked by a Wall, destroy that Wall at end of combat.
|
// Whenever Battering Ram becomes blocked by a Wall, destroy that Wall at end of combat.
|
||||||
Effect effect = new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect()), true);
|
Effect effect = new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect()), true);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.keyword.BasicLandcyclingAbility;
|
import mage.abilities.keyword.BasicLandcyclingAbility;
|
||||||
|
|
@ -23,7 +23,7 @@ public final class BattlePlan extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, target creature you control gets +2/+0 until end of turn.
|
// At the beginning of combat on your turn, target creature you control gets +2/+0 until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 0), TargetController.YOU, false
|
new BoostTargetEffect(2, 0), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,34 @@
|
||||||
|
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.Duration;
|
||||||
|
import mage.constants.SubType;
|
||||||
|
import mage.constants.TargetController;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author jeffwadsworth
|
* @author jeffwadsworth
|
||||||
*/
|
*/
|
||||||
public final class BattleRattleShaman extends CardImpl {
|
public final class BattleRattleShaman extends CardImpl {
|
||||||
|
|
||||||
public BattleRattleShaman(UUID ownerId, CardSetInfo setInfo) {
|
public BattleRattleShaman(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}");
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}");
|
||||||
this.subtype.add(SubType.GOBLIN, SubType.SHAMAN);
|
this.subtype.add(SubType.GOBLIN, SubType.SHAMAN);
|
||||||
|
|
||||||
this.power = new MageInt(2);
|
this.power = new MageInt(2);
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// At the beginning of combat on your turn, you may have target creature get +2/+0 until end of turn.
|
// At the beginning of combat on your turn, you may have target creature get +2/+0 until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD,
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 0, Duration.EndOfTurn).setText("you may have target creature get +2/+0 until end of turn"),
|
new BoostTargetEffect(2, 0, Duration.EndOfTurn), true);
|
||||||
TargetController.YOU, true, false);
|
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostAllEffect;
|
import mage.abilities.effects.common.continuous.BoostAllEffect;
|
||||||
|
|
@ -45,7 +45,7 @@ public final class BeckoningWillOWisp extends CardImpl {
|
||||||
|
|
||||||
// Lure the Unwary — At the beginning of combat on your turn, choose an opponent.
|
// Lure the Unwary — At the beginning of combat on your turn, choose an opponent.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new BeckoningWillOWispEffect(), TargetController.YOU, false
|
new BeckoningWillOWispEffect(), false
|
||||||
).withFlavorWord("Lure the Unwary"));
|
).withFlavorWord("Lure the Unwary"));
|
||||||
|
|
||||||
// Creatures attacking the last chosen player get +1/+0.
|
// Creatures attacking the last chosen player get +1/+0.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.b;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility;
|
||||||
import mage.abilities.dynamicvalue.DynamicValue;
|
import mage.abilities.dynamicvalue.DynamicValue;
|
||||||
import mage.abilities.effects.Effect;
|
import mage.abilities.effects.Effect;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
|
@ -37,8 +37,8 @@ public final class BelbeCorruptedObserver extends CardImpl {
|
||||||
this.toughness = new MageInt(2);
|
this.toughness = new MageInt(2);
|
||||||
|
|
||||||
// At the beginning of each player's postcombat main phase, that player adds {C}{C} for each of your opponents who lost life this turn.
|
// At the beginning of each player's postcombat main phase, that player adds {C}{C} for each of your opponents who lost life this turn.
|
||||||
this.addAbility(new BeginningOfPostCombatMainTriggeredAbility(
|
this.addAbility(new BeginningOfPostcombatMainTriggeredAbility(
|
||||||
new BelbeCorruptedObserverEffect(), TargetController.ANY, false
|
TargetController.ANY, new BelbeCorruptedObserverEffect(), false
|
||||||
).addHint(hint), new BelbeCorruptedObserverWatcher());
|
).addHint(hint), new BelbeCorruptedObserverWatcher());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.CelebrationCondition;
|
import mage.abilities.condition.common.CelebrationCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
|
|
@ -36,7 +36,6 @@ public final class BelligerentOfTheBall extends CardImpl {
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(1, 0),
|
new BoostTargetEffect(1, 0),
|
||||||
TargetController.YOU,
|
|
||||||
false),
|
false),
|
||||||
CelebrationCondition.instance, "At the beginning of combat on your turn, if two or more nonland "
|
CelebrationCondition.instance, "At the beginning of combat on your turn, if two or more nonland "
|
||||||
+ "permanents entered the battlefield under your control this turn, target creature you control "
|
+ "permanents entered the battlefield under your control this turn, target creature you control "
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.common.CelebrationCondition;
|
import mage.abilities.condition.common.CelebrationCondition;
|
||||||
import mage.abilities.costs.mana.GenericManaCost;
|
import mage.abilities.costs.mana.GenericManaCost;
|
||||||
|
|
@ -37,7 +37,6 @@ public final class BespokeBattlegarb extends CardImpl {
|
||||||
Outcome.BoostCreature,
|
Outcome.BoostCreature,
|
||||||
"attach {this} to up to one target creature you control"
|
"attach {this} to up to one target creature you control"
|
||||||
),
|
),
|
||||||
TargetController.YOU,
|
|
||||||
false
|
false
|
||||||
), CelebrationCondition.instance, "At the beginning of combat on your turn, if two "
|
), CelebrationCondition.instance, "At the beginning of combat on your turn, if two "
|
||||||
+ "or more nonland permanents entered the battlefield under your control this turn, "
|
+ "or more nonland permanents entered the battlefield under your control this turn, "
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ package mage.cards.b;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.common.DiesCreatureTriggeredAbility;
|
import mage.abilities.common.DiesCreatureTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
|
|
@ -30,7 +30,7 @@ public final class BlackMarket extends CardImpl {
|
||||||
// Whenever a creature dies, put a charge counter on Black Market.
|
// Whenever a creature dies, put a charge counter on Black Market.
|
||||||
this.addAbility(new DiesCreatureTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), false));
|
this.addAbility(new DiesCreatureTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), false));
|
||||||
// At the beginning of your precombat main phase, add {B} for each charge counter on Black Market.
|
// At the beginning of your precombat main phase, add {B} for each charge counter on Black Market.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BlackMarketEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BlackMarketEffect(), false));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.Mode;
|
import mage.abilities.Mode;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
|
||||||
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
|
||||||
|
|
@ -26,7 +26,7 @@ public final class BlackMarketConnections extends CardImpl {
|
||||||
// At the beginning of your precombat main phase, choose one or more —
|
// At the beginning of your precombat main phase, choose one or more —
|
||||||
// • Sell Contraband — Create a Treasure token. You lose 1 life.
|
// • Sell Contraband — Create a Treasure token. You lose 1 life.
|
||||||
Ability ability = new BeginningOfFirstMainTriggeredAbility(
|
Ability ability = new BeginningOfFirstMainTriggeredAbility(
|
||||||
new CreateTokenEffect(new TreasureToken()), TargetController.YOU, false
|
new CreateTokenEffect(new TreasureToken()), false
|
||||||
);
|
);
|
||||||
ability.addEffect(new LoseLifeSourceControllerEffect(1));
|
ability.addEffect(new LoseLifeSourceControllerEffect(1));
|
||||||
ability.withFirstModeFlavorWord("Sell Contraband");
|
ability.withFirstModeFlavorWord("Sell Contraband");
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.condition.common.MyTurnCondition;
|
import mage.abilities.condition.common.MyTurnCondition;
|
||||||
|
|
@ -60,7 +60,7 @@ public final class BlacksmithsTalent extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, attach target Equipment you control to up to one target creature you control.
|
// At the beginning of combat on your turn, attach target Equipment you control to up to one target creature you control.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BlacksmithsTalentEffect(), TargetController.YOU, false
|
new BlacksmithsTalentEffect(), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(filter));
|
ability.addTarget(new TargetPermanent(filter));
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent(0, 1));
|
ability.addTarget(new TargetControlledCreaturePermanent(0, 1));
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||||
import mage.abilities.keyword.*;
|
import mage.abilities.keyword.*;
|
||||||
|
|
@ -30,7 +30,7 @@ public final class BleedingEffect extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, creatures you control gain flying until end of turn if a creature card in your graveyard has flying.
|
// At the beginning of combat on your turn, creatures you control gain flying until end of turn if a creature card in your graveyard has flying.
|
||||||
// The same is true for first strike, double strike, deathtouch, hexproof, indestructible, lifelink, menace, reach, trample, and vigilance.
|
// The same is true for first strike, double strike, deathtouch, hexproof, indestructible, lifelink, menace, reach, trample, and vigilance.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new BleedingEffectEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfCombatTriggeredAbility(new BleedingEffectEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BleedingEffect(final BleedingEffect card) {
|
private BleedingEffect(final BleedingEffect card) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.condition.common.SourceTappedCondition;
|
import mage.abilities.condition.common.SourceTappedCondition;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -28,7 +28,7 @@ public final class BlinkmothUrn extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}");
|
||||||
|
|
||||||
// At the beginning of each player's precombat main phase, if Blinkmoth Urn is untapped, that player adds {C} for each artifact they control.
|
// At the beginning of each player's precombat main phase, if Blinkmoth Urn is untapped, that player adds {C} for each artifact they control.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BlinkmothUrnEffect(), TargetController.ANY, false)
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(TargetController.EACH_PLAYER, new BlinkmothUrnEffect(), false)
|
||||||
.withInterveningIf(SourceTappedCondition.UNTAPPED));
|
.withInterveningIf(SourceTappedCondition.UNTAPPED));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.TransformSourceEffect;
|
import mage.abilities.effects.common.TransformSourceEffect;
|
||||||
|
|
@ -38,7 +38,7 @@ public final class BlitzwingAdaptiveAssailant extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, choose flying or indestructible at random. Blitzwing gains that ability until end of turn.
|
// At the beginning of combat on your turn, choose flying or indestructible at random. Blitzwing gains that ability until end of turn.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new BlitzwingAdaptiveAssailantEffect(), TargetController.YOU, false
|
new BlitzwingAdaptiveAssailantEffect(), false
|
||||||
));
|
));
|
||||||
|
|
||||||
// Whenever Blitzwing deals combat damage to a player, convert it.
|
// Whenever Blitzwing deals combat damage to a player, convert it.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -23,7 +23,7 @@ public final class BloodMist extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}");
|
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}");
|
||||||
|
|
||||||
// At the beginning of combat on your turn, target creature you control gains double strike until end of turn.
|
// At the beginning of combat on your turn, target creature you control gains double strike until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), TargetController.YOU, false);
|
Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), false);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
|
import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
|
|
@ -53,7 +53,7 @@ public final class BloodbatSummoner extends CardImpl {
|
||||||
.withColor("B"),
|
.withColor("B"),
|
||||||
false, false, Duration.Custom
|
false, false, Duration.Custom
|
||||||
).setText("up to one target Blood token you control becomes a " +
|
).setText("up to one target Blood token you control becomes a " +
|
||||||
"2/2 black Bat creature with flying and haste in addition to its other types"), TargetController.YOU, false);
|
"2/2 black Bat creature with flying and haste in addition to its other types"), false);
|
||||||
ability.addTarget(new TargetPermanent(0, 1, filter));
|
ability.addTarget(new TargetPermanent(0, 1, filter));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.ContinuousEffectImpl;
|
import mage.abilities.effects.ContinuousEffectImpl;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.combat.AttacksIfAbleTargetEffect;
|
import mage.abilities.effects.common.combat.AttacksIfAbleTargetEffect;
|
||||||
|
|
@ -13,14 +12,14 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
import mage.target.common.TargetCreaturePermanent;
|
import mage.target.common.TargetCreaturePermanent;
|
||||||
import mage.target.targetpointer.FixedTarget;
|
import mage.target.targetpointer.FixedTarget;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class BorosBattleshaper extends CardImpl {
|
public final class BorosBattleshaper extends CardImpl {
|
||||||
|
|
@ -33,9 +32,9 @@ public final class BorosBattleshaper extends CardImpl {
|
||||||
this.toughness = new MageInt(5);
|
this.toughness = new MageInt(5);
|
||||||
|
|
||||||
// At the beginning of each combat, up to one target creature attacks or blocks this combat if able and up to one target creature can't attack or block this combat.
|
// At the beginning of each combat, up to one target creature attacks or blocks this combat if able and up to one target creature can't attack or block this combat.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, new BorosBattleshaperEffect(), TargetController.ANY, false, false);
|
Ability ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, new BorosBattleshaperEffect(), false);
|
||||||
ability.addTarget(new TargetCreaturePermanent(0, 1, new FilterCreaturePermanent("creature that attacks or blocks if able"), false));
|
ability.addTarget(new TargetCreaturePermanent(0, 1).withChooseHint("attacks or blocks this combat if able"));
|
||||||
ability.addTarget(new TargetCreaturePermanent(0, 1, new FilterCreaturePermanent("creature that can't attack or block"), false));
|
ability.addTarget(new TargetCreaturePermanent(0, 1).withChooseHint("can't attack or block this combat"));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.costs.common.DiscardCardCost;
|
import mage.abilities.costs.common.DiscardCardCost;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
|
@ -34,7 +34,7 @@ public final class BoundaryLandsRanger extends CardImpl {
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new DoIfCostPaid(
|
new DoIfCostPaid(
|
||||||
new DrawCardSourceControllerEffect(1), new DiscardCardCost()
|
new DrawCardSourceControllerEffect(1), new DiscardCardCost()
|
||||||
), TargetController.YOU, false
|
), false
|
||||||
), FerociousCondition.instance, "At the beginning of combat on your turn, if you control " +
|
), FerociousCondition.instance, "At the beginning of combat on your turn, if you control " +
|
||||||
"a creature with power 4 or greater, you may discard a card. If you do, draw a card."
|
"a creature with power 4 or greater, you may discard a card. If you do, draw a card."
|
||||||
).addHint(FerociousHint.instance));
|
).addHint(FerociousHint.instance));
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -29,7 +29,7 @@ public final class BountyOfTheLuxa extends CardImpl {
|
||||||
// At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa.
|
// At the beginning of your precombat main phase, remove all flood counters from Bounty of the Luxa.
|
||||||
// If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card.
|
// If no counters were removed this way, put a flood counter on Bounty of the Luxa and draw a card.
|
||||||
// Otherwise, add {C}{G}{U}.
|
// Otherwise, add {C}{G}{U}.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BountyOfTheLuxaEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BountyOfTheLuxaEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BountyOfTheLuxa(final BountyOfTheLuxa card) {
|
private BountyOfTheLuxa(final BountyOfTheLuxa card) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue;
|
import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue;
|
||||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
|
|
@ -32,7 +32,7 @@ public final class BrambleguardCaptain extends CardImpl {
|
||||||
// At the beginning of combat on your turn, target creature you control gets +X/+0 until end of turn, where X is Brambleguard Captain's power.
|
// At the beginning of combat on your turn, target creature you control gets +X/+0 until end of turn, where X is Brambleguard Captain's power.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(
|
Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(
|
||||||
SourcePermanentPowerValue.NOT_NEGATIVE, StaticValue.get(0), Duration.EndOfTurn
|
SourcePermanentPowerValue.NOT_NEGATIVE, StaticValue.get(0), Duration.EndOfTurn
|
||||||
), TargetController.YOU, false);
|
), false);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.b;
|
package mage.cards.b;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility;
|
||||||
import mage.abilities.common.DiesCreatureTriggeredAbility;
|
import mage.abilities.common.DiesCreatureTriggeredAbility;
|
||||||
import mage.abilities.condition.common.RaidCondition;
|
import mage.abilities.condition.common.RaidCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
|
@ -43,10 +43,10 @@ public final class BrazenCannonade extends CardImpl {
|
||||||
|
|
||||||
// Raid -- At the beginning of your postcombat main phase, if you attacked with a creature this turn, exile the top card of your library. Until end of combat on your next turn, you may play that card.
|
// Raid -- At the beginning of your postcombat main phase, if you attacked with a creature this turn, exile the top card of your library. Until end of combat on your next turn, you may play that card.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfPostCombatMainTriggeredAbility(
|
new BeginningOfPostcombatMainTriggeredAbility(
|
||||||
new ExileTopXMayPlayUntilEffect(
|
new ExileTopXMayPlayUntilEffect(
|
||||||
1, Duration.UntilEndCombatOfYourNextTurn
|
1, Duration.UntilEndCombatOfYourNextTurn
|
||||||
), TargetController.YOU, false
|
), false
|
||||||
), RaidCondition.instance, "At the beginning of each of your postcombat main phases, " +
|
), RaidCondition.instance, "At the beginning of each of your postcombat main phases, " +
|
||||||
"if you attacked this turn, exile the top card of your library. " +
|
"if you attacked this turn, exile the top card of your library. " +
|
||||||
"Until end of combat on your next turn, you may play that card."
|
"Until end of combat on your next turn, you may play that card."
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
|
@ -43,7 +43,7 @@ public final class BrotherhoodSpy extends CardImpl {
|
||||||
// At the beginning of combat on your turn, if you control a legendary Assassin, Brotherhood Spy gets +1/+0 until end of turn and can't be blocked this turn.
|
// At the beginning of combat on your turn, if you control a legendary Assassin, Brotherhood Spy gets +1/+0 until end of turn and can't be blocked this turn.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(1, 0), TargetController.YOU, false
|
new BoostTargetEffect(1, 0), false
|
||||||
), condition, "At the beginning of combat on your turn, if you control a legendary Assassin, " +
|
), condition, "At the beginning of combat on your turn, if you control a legendary Assassin, " +
|
||||||
"{this} gets +1/+0 until end of turn and can't be blocked this turn."
|
"{this} gets +1/+0 until end of turn and can't be blocked this turn."
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.b;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
|
|
@ -47,7 +47,7 @@ public final class BrudicladTelchorEngineer extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter, false)));
|
||||||
|
|
||||||
// At the beginning of combat on your turn, create a 2/1 blue Myr artifact creature token. Then you may choose a token you control. If you do, each other token you control becomes a copy of that token.
|
// At the beginning of combat on your turn, create a 2/1 blue Myr artifact creature token. Then you may choose a token you control. If you do, each other token you control becomes a copy of that token.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new BrudicladTelchorEngineerEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfCombatTriggeredAbility(new BrudicladTelchorEngineerEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private BrudicladTelchorEngineer(final BrudicladTelchorEngineer card) {
|
private BrudicladTelchorEngineer(final BrudicladTelchorEngineer card) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.c;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
import mage.abilities.common.delayed.ReflexiveTriggeredAbility;
|
||||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
|
@ -51,7 +51,7 @@ public final class CabalTherapist extends CardImpl {
|
||||||
ability.addTarget(new TargetPlayer());
|
ability.addTarget(new TargetPlayer());
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(
|
||||||
new DoWhenCostPaid(ability, new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE
|
new DoWhenCostPaid(ability, new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE
|
||||||
), "Sacrifice a creature?"), TargetController.YOU, false
|
), "Sacrifice a creature?"), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
|
|
@ -46,7 +46,7 @@ public final class CactusfolkSureshot extends CardImpl {
|
||||||
// At the beginning of combat on your turn, other creatures you control with power 4 or greater gain trample and haste until end of turn.
|
// At the beginning of combat on your turn, other creatures you control with power 4 or greater gain trample and haste until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect(
|
Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect(
|
||||||
TrampleAbility.getInstance(), Duration.EndOfTurn, filter, true
|
TrampleAbility.getInstance(), Duration.EndOfTurn, filter, true
|
||||||
).setText("other creatures you control with power 4 or greater gain trample"), TargetController.YOU, false);
|
).setText("other creatures you control with power 4 or greater gain trample"), false);
|
||||||
ability.addEffect(new GainAbilityControlledEffect(
|
ability.addEffect(new GainAbilityControlledEffect(
|
||||||
HasteAbility.getInstance(), Duration.EndOfTurn, filter, true
|
HasteAbility.getInstance(), Duration.EndOfTurn, filter, true
|
||||||
).setText("and haste until end of turn"));
|
).setText("and haste until end of turn"));
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.CovenCondition;
|
import mage.abilities.condition.common.CovenCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||||
|
|
@ -31,7 +31,7 @@ public final class CandlegroveWitch extends CardImpl {
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new GainAbilitySourceEffect(
|
new GainAbilitySourceEffect(
|
||||||
FlyingAbility.getInstance(), Duration.EndOfTurn
|
FlyingAbility.getInstance(), Duration.EndOfTurn
|
||||||
), TargetController.YOU, false
|
), false
|
||||||
), CovenCondition.instance, "At the beginning of combat on your turn, if you control three " +
|
), CovenCondition.instance, "At the beginning of combat on your turn, if you control three " +
|
||||||
"or more creatures with different powers, {this} gains flying until end of turn."
|
"or more creatures with different powers, {this} gains flying until end of turn."
|
||||||
).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
|
).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.CovenCondition;
|
import mage.abilities.condition.common.CovenCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
||||||
|
|
@ -31,7 +31,7 @@ public final class CandlelitCavalry extends CardImpl {
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new GainAbilitySourceEffect(
|
new GainAbilitySourceEffect(
|
||||||
TrampleAbility.getInstance(), Duration.EndOfTurn
|
TrampleAbility.getInstance(), Duration.EndOfTurn
|
||||||
), TargetController.YOU, false
|
), false
|
||||||
), CovenCondition.instance, "At the beginning of combat on your turn, if you control " +
|
), CovenCondition.instance, "At the beginning of combat on your turn, if you control " +
|
||||||
"three or more creatures with different powers, {this} gains trample until end of turn."
|
"three or more creatures with different powers, {this} gains trample until end of turn."
|
||||||
).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
|
).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN));
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.Cost;
|
import mage.abilities.costs.Cost;
|
||||||
import mage.abilities.costs.EarlyTargetCost;
|
import mage.abilities.costs.EarlyTargetCost;
|
||||||
|
|
@ -62,7 +62,7 @@ public final class CaptainAmericaFirstAvenger extends CardImpl {
|
||||||
|
|
||||||
// ... Catch — At the beginning of combat on your turn, attach up to one target Equipment you control to Captain America.
|
// ... Catch — At the beginning of combat on your turn, attach up to one target Equipment you control to Captain America.
|
||||||
ability = new BeginningOfCombatTriggeredAbility(
|
ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new CaptainAmericaFirstAvengerCatchEffect(), TargetController.YOU, false
|
new CaptainAmericaFirstAvengerCatchEffect(), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(0, 1, filter));
|
ability.addTarget(new TargetPermanent(0, 1, filter));
|
||||||
this.addAbility(ability.withFlavorWord("... Catch"));
|
this.addAbility(ability.withFlavorWord("... Catch"));
|
||||||
|
|
@ -212,4 +212,4 @@ class CaptainAmericaFirstAvengerCatchEffect extends OneShotEffect {
|
||||||
Permanent creature = source.getSourcePermanentIfItStillExists(game);
|
Permanent creature = source.getSourcePermanentIfItStillExists(game);
|
||||||
return equipment != null && creature != null && creature.addAttachment(equipment.getId(), source, game);
|
return equipment != null && creature != null && creature.addAttachment(equipment.getId(), source, game);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.TriggeredAbility;
|
import mage.abilities.TriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.CaseAbility;
|
import mage.abilities.common.CaseAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
|
|
@ -45,7 +45,7 @@ public final class CaseOfTheShatteredPact extends CardImpl {
|
||||||
// Solved -- At the beginning of combat on your turn, target creature you control gains flying, double strike, and vigilance until end of turn.
|
// Solved -- At the beginning of combat on your turn, target creature you control gains flying, double strike, and vigilance until end of turn.
|
||||||
TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance())
|
TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance())
|
||||||
.setText("target creature you control gains flying"),
|
.setText("target creature you control gains flying"),
|
||||||
TargetController.YOU, false);
|
false);
|
||||||
triggeredAbility.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance())
|
triggeredAbility.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance())
|
||||||
.setText(", double strike,"));
|
.setText(", double strike,"));
|
||||||
triggeredAbility.addEffect(new GainAbilityTargetEffect(VigilanceAbility.getInstance())
|
triggeredAbility.addEffect(new GainAbilityTargetEffect(VigilanceAbility.getInstance())
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.c;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.TransformSourceEffect;
|
import mage.abilities.effects.common.TransformSourceEffect;
|
||||||
|
|
@ -33,7 +33,7 @@ public final class CatapultFodder extends CardImpl {
|
||||||
// At the beginning of combat on your turn, if you control three or more creatures that each have toughness greater than their power, transform Catapult Fodder.
|
// At the beginning of combat on your turn, if you control three or more creatures that each have toughness greater than their power, transform Catapult Fodder.
|
||||||
this.addAbility(new TransformAbility());
|
this.addAbility(new TransformAbility());
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(new TransformSourceEffect(), TargetController.YOU, false),
|
new BeginningOfCombatTriggeredAbility(new TransformSourceEffect(), false),
|
||||||
CatapultFodderCondition.instance,
|
CatapultFodderCondition.instance,
|
||||||
"At the beginning of combat on your turn, if you control three or more creatures that each have toughness greater than their power, transform {this}"
|
"At the beginning of combat on your turn, if you control three or more creatures that each have toughness greater than their power, transform {this}"
|
||||||
));
|
));
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.ContinuousEffect;
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
|
|
@ -40,7 +40,7 @@ public final class Celebr8000 extends CardImpl {
|
||||||
// * 5 -- flying
|
// * 5 -- flying
|
||||||
// * 6 -- indestructible
|
// * 6 -- indestructible
|
||||||
this.addAbility(
|
this.addAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(new Celebr8000Effect(), TargetController.YOU, false));
|
new BeginningOfCombatTriggeredAbility(new Celebr8000Effect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Celebr8000(final Celebr8000 card) {
|
private Celebr8000(final Celebr8000 card) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.c;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect;
|
||||||
|
|
@ -37,7 +37,7 @@ public final class CephalidFacetaker extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, you may have Cephalid Facetaker become a copy of another target creature until end of turn, except its a 1/4 and has "This creature can't be blocked."
|
// At the beginning of combat on your turn, you may have Cephalid Facetaker become a copy of another target creature until end of turn, except its a 1/4 and has "This creature can't be blocked."
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new CephalidFacetakerEffect(), TargetController.YOU, true
|
new CephalidFacetakerEffect(), true
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
|
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.condition.common.MonarchIsSourceControllerCondition;
|
import mage.abilities.condition.common.MonarchIsSourceControllerCondition;
|
||||||
import mage.abilities.costs.Cost;
|
import mage.abilities.costs.Cost;
|
||||||
|
|
@ -43,10 +43,8 @@ public final class ChampionsOfMinasTirith extends CardImpl {
|
||||||
this.addAbility(new ConditionalTriggeredAbility(
|
this.addAbility(new ConditionalTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
Zone.BATTLEFIELD,
|
Zone.BATTLEFIELD,
|
||||||
new ChampionsOfMinasTirithEffect(),
|
TargetController.OPPONENT, new ChampionsOfMinasTirithEffect(),
|
||||||
TargetController.OPPONENT,
|
false
|
||||||
false,
|
|
||||||
true
|
|
||||||
),
|
),
|
||||||
MonarchIsSourceControllerCondition.instance,
|
MonarchIsSourceControllerCondition.instance,
|
||||||
"At the beginning of combat on each opponent's turn, if you're the monarch, that opponent may pay {X}, "
|
"At the beginning of combat on each opponent's turn, if you're the monarch, that opponent may pay {X}, "
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.ObjectColor;
|
import mage.ObjectColor;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.Pronoun;
|
import mage.constants.Pronoun;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
import mage.abilities.common.SpellCastControllerTriggeredAbility;
|
||||||
import mage.abilities.condition.common.SourceDealtDamageCondition;
|
import mage.abilities.condition.common.SourceDealtDamageCondition;
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.c;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.AttacksEachCombatStaticAbility;
|
import mage.abilities.common.AttacksEachCombatStaticAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.RestrictionEffect;
|
import mage.abilities.effects.RestrictionEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
|
|
@ -40,7 +40,7 @@ public final class ChaosDragon extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, each player rolls a d20. If one or more opponents had the highest result, Chaos Dragon can't attack those players or planeswalkers they control this combat.
|
// At the beginning of combat on your turn, each player rolls a d20. If one or more opponents had the highest result, Chaos Dragon can't attack those players or planeswalkers they control this combat.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new ChaosDragonEffect(), TargetController.YOU, false
|
new ChaosDragonEffect(), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -31,7 +31,7 @@ public final class ChaosTerminatorLord extends CardImpl {
|
||||||
// Lord of Chaos -- At the beginning of combat on your turn, another target creature you control gains double strike until end of turn.
|
// Lord of Chaos -- At the beginning of combat on your turn, another target creature you control gains double strike until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance()),
|
new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance()),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
||||||
this.addAbility(ability.withFlavorWord("Lord of Chaos"));
|
this.addAbility(ability.withFlavorWord("Lord of Chaos"));
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldAbility;
|
import mage.abilities.common.EntersBattlefieldAbility;
|
||||||
import mage.abilities.condition.common.ModeChoiceSourceCondition;
|
import mage.abilities.condition.common.ModeChoiceSourceCondition;
|
||||||
import mage.abilities.decorator.ConditionalTriggeredAbility;
|
import mage.abilities.decorator.ConditionalTriggeredAbility;
|
||||||
|
|
@ -45,7 +45,7 @@ public final class CitadelSiege extends CardImpl {
|
||||||
|
|
||||||
// * Khans - At the beginning of combat on your turn, put two +1/+1 counters on target creature you control.
|
// * Khans - At the beginning of combat on your turn, put two +1/+1 counters on target creature you control.
|
||||||
Ability ability = new ConditionalTriggeredAbility(
|
Ability ability = new ConditionalTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)), TargetController.YOU, false),
|
new BeginningOfCombatTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(2)), false),
|
||||||
new ModeChoiceSourceCondition("Khans"),
|
new ModeChoiceSourceCondition("Khans"),
|
||||||
ruleTrigger1);
|
ruleTrigger1);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||||
|
|
@ -53,7 +53,7 @@ public final class CitadelSiege extends CardImpl {
|
||||||
|
|
||||||
// * Dragons - At the beginning of combat on each opponent's turn, tap target creature that player controls.
|
// * Dragons - At the beginning of combat on each opponent's turn, tap target creature that player controls.
|
||||||
ability = new ConditionalTriggeredAbility(
|
ability = new ConditionalTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(new TapTargetEffect(), TargetController.OPPONENT, false),
|
new BeginningOfCombatTriggeredAbility(TargetController.OPPONENT, new TapTargetEffect(), false),
|
||||||
new ModeChoiceSourceCondition("Dragons"),
|
new ModeChoiceSourceCondition("Dragons"),
|
||||||
ruleTrigger2);
|
ruleTrigger2);
|
||||||
ability.addTarget(new TargetCreaturePermanent(filter));
|
ability.addTarget(new TargetCreaturePermanent(filter));
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
import mage.abilities.effects.common.CreateTokenTargetEffect;
|
||||||
|
|
@ -50,7 +50,7 @@ public final class ClackbridgeTroll extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, any opponent may sacrifice a creature. If a player does, tap Clackbridge Troll, you gain 3 life, and you draw a card.
|
// At the beginning of combat on your turn, any opponent may sacrifice a creature. If a player does, tap Clackbridge Troll, you gain 3 life, and you draw a card.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new ClackbridgeTrollEffect(), TargetController.YOU, false)
|
new ClackbridgeTrollEffect(), false)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,4 +115,4 @@ class ClackbridgeTrollEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
|
@ -36,7 +36,7 @@ public final class CoalitionRelic extends CardImpl {
|
||||||
// {tap}: Put a charge counter on Coalition Relic.
|
// {tap}: Put a charge counter on Coalition Relic.
|
||||||
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true), new TapSourceCost()));
|
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true), new TapSourceCost()));
|
||||||
// At the beginning of your precombat main phase, remove all charge counters from Coalition Relic. Add one mana of any color for each charge counter removed this way.
|
// At the beginning of your precombat main phase, remove all charge counters from Coalition Relic. Add one mana of any color for each charge counter removed this way.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new CoalitionRelicEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new CoalitionRelicEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private CoalitionRelic(final CoalitionRelic card) {
|
private CoalitionRelic(final CoalitionRelic card) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
|
|
@ -37,7 +37,7 @@ public final class CombatProfessor extends CardImpl {
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(1, 0)
|
new BoostTargetEffect(1, 0)
|
||||||
.setText("target creature you control gets +1/+0"),
|
.setText("target creature you control gets +1/+0"),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addEffect(new GainAbilityTargetEffect(
|
ability.addEffect(new GainAbilityTargetEffect(
|
||||||
VigilanceAbility.getInstance(), Duration.EndOfTurn
|
VigilanceAbility.getInstance(), Duration.EndOfTurn
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.costs.common.PayEnergyCost;
|
import mage.abilities.costs.common.PayEnergyCost;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
|
|
@ -41,7 +41,7 @@ public final class ConduitGoblin extends CardImpl {
|
||||||
new DoIfCostPaid(new BoostTargetEffect(1, 0), new PayEnergyCost(1))
|
new DoIfCostPaid(new BoostTargetEffect(1, 0), new PayEnergyCost(1))
|
||||||
.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance()))
|
.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance()))
|
||||||
.setText("you may pay {E}. If you do, another target creature you control gets +1/+0 and gains haste until end of turn"),
|
.setText("you may pay {E}. If you do, another target creature you control gets +1/+0 and gains haste until end of turn"),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Pronoun;
|
import mage.constants.Pronoun;
|
||||||
import mage.abilities.common.AttacksTriggeredAbility;
|
import mage.abilities.common.AttacksTriggeredAbility;
|
||||||
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
|
import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility;
|
||||||
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.ForageTriggeredAbility;
|
import mage.abilities.common.ForageTriggeredAbility;
|
||||||
import mage.abilities.costs.common.ForageCost;
|
import mage.abilities.costs.common.ForageCost;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
|
|
@ -31,7 +31,7 @@ public final class CorpseberryCultivator extends CardImpl {
|
||||||
// At the beginning of combat on your turn, you may forage.
|
// At the beginning of combat on your turn, you may forage.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new DoIfCostPaid(null, new ForageCost()),
|
new DoIfCostPaid(null, new ForageCost()),
|
||||||
TargetController.YOU, false
|
false
|
||||||
));
|
));
|
||||||
|
|
||||||
// Whenever you forage, put a +1/+1 counter on Corpseberry Cultivator.
|
// Whenever you forage, put a +1/+1 counter on Corpseberry Cultivator.
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.effects.common.ExileUntilSourceLeavesEffect;
|
import mage.abilities.effects.common.ExileUntilSourceLeavesEffect;
|
||||||
import mage.abilities.keyword.VanishingAbility;
|
import mage.abilities.keyword.VanishingAbility;
|
||||||
|
|
@ -31,7 +31,7 @@ public final class CrackInTime extends CardImpl {
|
||||||
Ability ability = new OrTriggeredAbility(Zone.BATTLEFIELD, new ExileUntilSourceLeavesEffect(), false,
|
Ability ability = new OrTriggeredAbility(Zone.BATTLEFIELD, new ExileUntilSourceLeavesEffect(), false,
|
||||||
"When {this} enters and at the beginning of your first main phase, ",
|
"When {this} enters and at the beginning of your first main phase, ",
|
||||||
new EntersBattlefieldTriggeredAbility(null),
|
new EntersBattlefieldTriggeredAbility(null),
|
||||||
new BeginningOfFirstMainTriggeredAbility(null, TargetController.YOU, false)
|
new BeginningOfFirstMainTriggeredAbility(null, false)
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE));
|
ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.c;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
|
@ -35,7 +35,7 @@ public final class CrystallineGiant extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, choose a kind of counter at random that Crystalline Giant doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, or +1/+1. Put a counter of that kind on Crystalline Giant.
|
// At the beginning of combat on your turn, choose a kind of counter at random that Crystalline Giant doesn't have on it from among flying, first strike, deathtouch, hexproof, lifelink, menace, reach, trample, vigilance, or +1/+1. Put a counter of that kind on Crystalline Giant.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new CrystallineGiantEffect(), TargetController.YOU, false
|
new CrystallineGiantEffect(), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -99,4 +99,4 @@ class CrystallineGiantEffect extends OneShotEffect {
|
||||||
RandomUtil.nextInt(counterTypes.size())
|
RandomUtil.nextInt(counterTypes.size())
|
||||||
).createInstance(), source.getControllerId(), source, game);
|
).createInstance(), source.getControllerId(), source, game);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.c;
|
package mage.cards.c;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfDrawTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfDrawTriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
import mage.abilities.common.BeginningOfEndStepTriggeredAbility;
|
||||||
import mage.abilities.effects.common.AttachEffect;
|
import mage.abilities.effects.common.AttachEffect;
|
||||||
import mage.abilities.effects.common.DrawCardTargetEffect;
|
import mage.abilities.effects.common.DrawCardTargetEffect;
|
||||||
|
|
@ -37,9 +37,9 @@ public final class CurseOfObsession extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of enchanted player's draw step, that player draws two additional cards.
|
// At the beginning of enchanted player's draw step, that player draws two additional cards.
|
||||||
this.addAbility(new BeginningOfDrawTriggeredAbility(
|
this.addAbility(new BeginningOfDrawTriggeredAbility(
|
||||||
new DrawCardTargetEffect(2)
|
TargetController.ENCHANTED, new DrawCardTargetEffect(2)
|
||||||
.setText("that player draws two additional cards"),
|
.setText("that player draws two additional cards"),
|
||||||
TargetController.ENCHANTED, false
|
false
|
||||||
));
|
));
|
||||||
|
|
||||||
// At the beginning of enchanted player's end step, that player discards their hand.
|
// At the beginning of enchanted player's end step, that player discards their hand.
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CreateTokenEffect;
|
import mage.abilities.effects.common.CreateTokenEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -24,7 +24,7 @@ public final class DaringPiracy extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of your combat on your turn, create a 1/1 red Pirate creature token with menace and haste. Exile it at the beginning of the next end step.
|
// At the beginning of your combat on your turn, create a 1/1 red Pirate creature token with menace and haste. Exile it at the beginning of the next end step.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new DaringPiracyEffect(), TargetController.YOU, false
|
new DaringPiracyEffect(), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.CovenCondition;
|
import mage.abilities.condition.common.CovenCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
import mage.abilities.effects.common.continuous.BoostControlledEffect;
|
||||||
|
|
@ -33,7 +33,7 @@ public final class DawnhartWardens extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostControlledEffect(1, 0, Duration.EndOfTurn),
|
new BoostControlledEffect(1, 0, Duration.EndOfTurn),
|
||||||
TargetController.YOU, false
|
false
|
||||||
), CovenCondition.instance, "At the beginning of combat on your turn, " +
|
), CovenCondition.instance, "At the beginning of combat on your turn, " +
|
||||||
"if you control three or more creatures with different powers, " +
|
"if you control three or more creatures with different powers, " +
|
||||||
"creatures you control get +1/+0 until end of turn."
|
"creatures you control get +1/+0 until end of turn."
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.MageObject;
|
import mage.MageObject;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.CopyEffect;
|
import mage.abilities.effects.common.CopyEffect;
|
||||||
import mage.cards.*;
|
import mage.cards.*;
|
||||||
|
|
@ -30,7 +30,7 @@ public final class DeceiverOfForm extends CardImpl {
|
||||||
// At the beginning of combat on your turn, reveal the top card of your library.
|
// At the beginning of combat on your turn, reveal the top card of your library.
|
||||||
// If a creature card is revealed this way, you may have creatures you control other than Deceiver of Form becomes copies of that card until end of turn.
|
// If a creature card is revealed this way, you may have creatures you control other than Deceiver of Form becomes copies of that card until end of turn.
|
||||||
// You may put that card on the bottom of your library.
|
// You may put that card on the bottom of your library.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new DeceiverOfFormEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfCombatTriggeredAbility(new DeceiverOfFormEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private DeceiverOfForm(final DeceiverOfForm card) {
|
private DeceiverOfForm(final DeceiverOfForm card) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.keyword.ExploreSourceEffect;
|
import mage.abilities.effects.keyword.ExploreSourceEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -32,7 +32,7 @@ public final class DeepfathomEcho extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, Deepfathom Echo explores. Then you may have it become a copy of another creature you control until end of turn.
|
// At the beginning of combat on your turn, Deepfathom Echo explores. Then you may have it become a copy of another creature you control until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new ExploreSourceEffect(false, "{this}"), TargetController.YOU, false
|
new ExploreSourceEffect(false, "{this}"), false
|
||||||
);
|
);
|
||||||
ability.addEffect(new DeepfathomEchoEffect());
|
ability.addEffect(new DeepfathomEchoEffect());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ public final class Delirium extends CardImpl {
|
||||||
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
filter.add(new ControllerIsActivePlayerPredicate());
|
filter.add(ControllerIsActivePlayerPredicate.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Delirium(UUID ownerId, CardSetInfo setInfo) {
|
public Delirium(UUID ownerId, CardSetInfo setInfo) {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ package mage.cards.d;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -38,7 +38,7 @@ public final class DesecrationDemon extends CardImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// At the beginning of each combat, any opponent may sacrifice a creature. If a player does, tap Desecration Demon and put a +1/+1 counter on it.
|
// At the beginning of each combat, any opponent may sacrifice a creature. If a player does, tap Desecration Demon and put a +1/+1 counter on it.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new DesecrationDemonEffect(), TargetController.ANY, false));
|
this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.ANY, new DesecrationDemonEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private DesecrationDemon(final DesecrationDemon card) {
|
private DesecrationDemon(final DesecrationDemon card) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.PopulateEffect;
|
import mage.abilities.effects.common.PopulateEffect;
|
||||||
|
|
@ -29,7 +29,7 @@ public final class DeterminedIteration extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, populate. The token created this way gains haste. Sacrifice it at the beginning of the next end step.
|
// At the beginning of combat on your turn, populate. The token created this way gains haste. Sacrifice it at the beginning of the next end step.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new DeterminedIterationEffect(), TargetController.YOU, false
|
new DeterminedIterationEffect(), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.d;
|
package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.costs.common.SacrificeTargetCost;
|
import mage.abilities.costs.common.SacrificeTargetCost;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
|
|
@ -14,7 +14,6 @@ import mage.constants.Duration;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
import mage.target.common.TargetControlledPermanent;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
|
@ -37,7 +36,7 @@ public final class DireFleetWarmonger extends CardImpl {
|
||||||
new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)
|
new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)
|
||||||
).addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
|
).addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)
|
||||||
.concatBy("and").setText("gains trample until end of turn")),
|
.concatBy("and").setText("gains trample until end of turn")),
|
||||||
TargetController.YOU, false));
|
false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private DireFleetWarmonger(final DireFleetWarmonger card) {
|
private DireFleetWarmonger(final DireFleetWarmonger card) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.d;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
import mage.abilities.effects.common.TransformSourceEffect;
|
import mage.abilities.effects.common.TransformSourceEffect;
|
||||||
|
|
@ -35,7 +35,7 @@ public final class DormantGrove extends CardImpl {
|
||||||
|
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
|
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addEffect(new ConditionalOneShotEffect(
|
ability.addEffect(new ConditionalOneShotEffect(
|
||||||
new TransformSourceEffect(),
|
new TransformSourceEffect(),
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.d;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.Mode;
|
import mage.abilities.Mode;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
|
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
|
||||||
import mage.abilities.effects.common.TapTargetEffect;
|
import mage.abilities.effects.common.TapTargetEffect;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
|
|
@ -34,7 +34,7 @@ public final class DreamshackleGeist extends CardImpl {
|
||||||
// At the beginning of combat on your turn, choose up to one —
|
// At the beginning of combat on your turn, choose up to one —
|
||||||
// • Tap target creature.
|
// • Tap target creature.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new TapTargetEffect(), TargetController.YOU, false
|
new TapTargetEffect(), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
ability.getModes().setMinModes(0);
|
ability.getModes().setMinModes(0);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.CovenCondition;
|
import mage.abilities.condition.common.CovenCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
|
|
@ -36,7 +36,7 @@ public final class DuelcraftTrainer extends CardImpl {
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(
|
new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(
|
||||||
DoubleStrikeAbility.getInstance(), Duration.EndOfTurn
|
DoubleStrikeAbility.getInstance(), Duration.EndOfTurn
|
||||||
), TargetController.YOU, false), CovenCondition.instance, "At the beginning " +
|
), false), CovenCondition.instance, "At the beginning " +
|
||||||
"of combat on your turn, if you control three or more creatures with different powers, " +
|
"of combat on your turn, if you control three or more creatures with different powers, " +
|
||||||
"target creature you control gains double strike until end of turn."
|
"target creature you control gains double strike until end of turn."
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.d;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
import mage.abilities.keyword.MyriadAbility;
|
import mage.abilities.keyword.MyriadAbility;
|
||||||
|
|
@ -36,7 +36,7 @@ public final class DukeUlderRavengard extends CardImpl {
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new GainAbilityTargetEffect(HasteAbility.getInstance())
|
new GainAbilityTargetEffect(HasteAbility.getInstance())
|
||||||
.setText("another target creature you control gains haste"),
|
.setText("another target creature you control gains haste"),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addEffect(new GainAbilityTargetEffect(new MyriadAbility()).setText("and myriad until end of turn"));
|
ability.addEffect(new GainAbilityTargetEffect(new MyriadAbility()).setText("and myriad until end of turn"));
|
||||||
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE));
|
ability.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE));
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.condition.common.CompletedDungeonCondition;
|
import mage.abilities.condition.common.CompletedDungeonCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
|
@ -43,7 +43,7 @@ public final class EccentricApprentice extends CardImpl {
|
||||||
// At the beginning of combat on your turn, if you've completed a dungeon, up to one target creature becomes a Bird with base power and toughness 1/1 and flying until end of turn.
|
// At the beginning of combat on your turn, if you've completed a dungeon, up to one target creature becomes a Bird with base power and toughness 1/1 and flying until end of turn.
|
||||||
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
Ability ability = new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
new EccentricApprenticeEffect(), TargetController.YOU, false
|
new EccentricApprenticeEffect(), false
|
||||||
), CompletedDungeonCondition.instance, "At the beginning of combat on your turn, " +
|
), CompletedDungeonCondition.instance, "At the beginning of combat on your turn, " +
|
||||||
"if you've completed a dungeon, up to one target creature becomes a Bird " +
|
"if you've completed a dungeon, up to one target creature becomes a Bird " +
|
||||||
"with base power and toughness 1/1 and flying until end of turn."
|
"with base power and toughness 1/1 and flying until end of turn."
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
|
@ -27,7 +27,7 @@ public final class EidolonOfInspiration extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, target creature you control gets +2/+0 until end of turn.
|
// At the beginning of combat on your turn, target creature you control gets +2/+0 until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 0), TargetController.YOU, false
|
new BoostTargetEffect(2, 0), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,27 @@
|
||||||
|
|
||||||
package mage.cards.e;
|
package mage.cards.e;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.effects.mana.AddManaToManaPoolTargetControllerEffect;
|
import mage.abilities.effects.mana.AddManaToManaPoolTargetControllerEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
import mage.constants.TargetController;
|
import mage.constants.TargetController;
|
||||||
import mage.constants.Zone;
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @author LevelX2
|
* @author LevelX2
|
||||||
*/
|
*/
|
||||||
public final class EladamrisVineyard extends CardImpl {
|
public final class EladamrisVineyard extends CardImpl {
|
||||||
|
|
||||||
public EladamrisVineyard(UUID ownerId, CardSetInfo setInfo) {
|
public EladamrisVineyard(UUID ownerId, CardSetInfo setInfo) {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}");
|
||||||
|
|
||||||
|
|
||||||
// At the beginning of each player's precombat main phase, add {G}{G} to that player's mana pool.
|
// At the beginning of each player's precombat main phase, add {G}{G} to that player's mana pool.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(
|
||||||
Zone.BATTLEFIELD, new AddManaToManaPoolTargetControllerEffect(Mana.GreenMana(2), "that player's"), TargetController.ANY, false, true));
|
TargetController.EACH_PLAYER, new AddManaToManaPoolTargetControllerEffect(Mana.GreenMana(2), "that player's"),
|
||||||
|
false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private EladamrisVineyard(final EladamrisVineyard card) {
|
private EladamrisVineyard(final EladamrisVineyard card) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.dynamicvalue.DynamicValue;
|
import mage.abilities.dynamicvalue.DynamicValue;
|
||||||
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
|
||||||
import mage.abilities.dynamicvalue.common.StaticValue;
|
import mage.abilities.dynamicvalue.common.StaticValue;
|
||||||
|
|
@ -48,7 +48,7 @@ public final class EldraziLinebreaker extends CardImpl {
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new GainAbilityTargetEffect(HasteAbility.getInstance())
|
new GainAbilityTargetEffect(HasteAbility.getInstance())
|
||||||
.setText("target creature you control gains haste"),
|
.setText("target creature you control gains haste"),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addEffect(new BoostTargetEffect(xValue, StaticValue.get(0))
|
ability.addEffect(new BoostTargetEffect(xValue, StaticValue.get(0))
|
||||||
.setText("and gets +X/+0 until end of turn, where X is the number of Eldrazi you control"));
|
.setText("and gets +X/+0 until end of turn, where X is the number of Eldrazi you control"));
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.e;
|
package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
|
||||||
import mage.abilities.costs.common.PayEnergyCost;
|
import mage.abilities.costs.common.PayEnergyCost;
|
||||||
import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
|
import mage.abilities.effects.common.TapSourceUnlessPaysEffect;
|
||||||
|
|
@ -39,7 +39,7 @@ public final class Electrozoa extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of your precombat main phase, tap Electrozoa unless you pay {E}.
|
// At the beginning of your precombat main phase, tap Electrozoa unless you pay {E}.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(
|
||||||
new TapSourceUnlessPaysEffect(new PayEnergyCost(1)), TargetController.YOU, false
|
new TapSourceUnlessPaysEffect(new PayEnergyCost(1)), false
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.Mana;
|
import mage.Mana;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.AttachEffect;
|
import mage.abilities.effects.common.AttachEffect;
|
||||||
import mage.abilities.keyword.EnchantAbility;
|
import mage.abilities.keyword.EnchantAbility;
|
||||||
|
|
@ -43,7 +43,7 @@ public final class ElementalResonance extends CardImpl {
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
||||||
// At the beginning of your precombat main phase, add mana equal to enchanted permanent's mana cost.
|
// At the beginning of your precombat main phase, add mana equal to enchanted permanent's mana cost.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new ElementalResonanceEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new ElementalResonanceEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ElementalResonance(final ElementalResonance card) {
|
private ElementalResonance(final ElementalResonance card) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.OneOrMoreCountersAddedTriggeredAbility;
|
import mage.abilities.common.OneOrMoreCountersAddedTriggeredAbility;
|
||||||
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
|
|
@ -45,7 +45,7 @@ public final class EmperorOfBones extends CardImpl {
|
||||||
// At the beginning of combat on your turn, exile up to one target card from a graveyard.
|
// At the beginning of combat on your turn, exile up to one target card from a graveyard.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new ExileTargetEffect().setToSourceExileZone(true),
|
new ExileTargetEffect().setToSourceExileZone(true),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCardInGraveyard(0, 1));
|
ability.addTarget(new TargetCardInGraveyard(0, 1));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
@ -115,4 +115,4 @@ class EmperorOfBonesEffect extends OneShotEffect {
|
||||||
), source);
|
), source);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
|
|
@ -38,7 +38,7 @@ public final class EowynLadyOfRohan extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of combat on your turn, target creature gains your choice of first strike or vigilance until end of turn. If that creature is equipped, it gains first strike and vigilance until end of turn instead.
|
// At the beginning of combat on your turn, target creature gains your choice of first strike or vigilance until end of turn. If that creature is equipped, it gains first strike and vigilance until end of turn instead.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new EowynLadyOfRohanEffect(), TargetController.YOU, false
|
new EowynLadyOfRohanEffect(), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetCreaturePermanent());
|
ability.addTarget(new TargetCreaturePermanent());
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import mage.MageInt;
|
||||||
import mage.MageObjectReference;
|
import mage.MageObjectReference;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.TriggeredAbility;
|
import mage.abilities.TriggeredAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
|
@ -51,8 +51,8 @@ public final class EowynShieldmaiden extends CardImpl {
|
||||||
|
|
||||||
TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(
|
TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(
|
||||||
Zone.BATTLEFIELD,
|
Zone.BATTLEFIELD,
|
||||||
new CreateTokenEffect(new HumanKnightToken(), 2),
|
TargetController.YOU, new CreateTokenEffect(new HumanKnightToken(), 2),
|
||||||
TargetController.YOU, false, false
|
false
|
||||||
);
|
);
|
||||||
triggeredAbility.addEffect(new ConditionalOneShotEffect(
|
triggeredAbility.addEffect(new ConditionalOneShotEffect(
|
||||||
new DrawCardSourceControllerEffect(1),
|
new DrawCardSourceControllerEffect(1),
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.e;
|
package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.CollectEvidenceTriggeredAbility;
|
import mage.abilities.common.CollectEvidenceTriggeredAbility;
|
||||||
import mage.abilities.costs.common.CollectEvidenceCost;
|
import mage.abilities.costs.common.CollectEvidenceCost;
|
||||||
import mage.abilities.effects.common.DoIfCostPaid;
|
import mage.abilities.effects.common.DoIfCostPaid;
|
||||||
|
|
@ -30,7 +30,7 @@ public final class EvidenceExaminer extends CardImpl {
|
||||||
// At the beginning of combat on your turn, you may collect evidence 4.
|
// At the beginning of combat on your turn, you may collect evidence 4.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
this.addAbility(new BeginningOfCombatTriggeredAbility(
|
||||||
new DoIfCostPaid(null, new CollectEvidenceCost(4)),
|
new DoIfCostPaid(null, new CollectEvidenceCost(4)),
|
||||||
TargetController.YOU, false
|
false
|
||||||
));
|
));
|
||||||
|
|
||||||
// Whenever you collect evidence, investigate.
|
// Whenever you collect evidence, investigate.
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.e;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
|
import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.counter.AddCountersPlayersEffect;
|
import mage.abilities.effects.common.counter.AddCountersPlayersEffect;
|
||||||
|
|
@ -49,7 +49,7 @@ public final class EzuriClawOfProgress extends CardImpl {
|
||||||
), filter));
|
), filter));
|
||||||
|
|
||||||
// At the beginning of combat on your turn, put X +1/+1 counters on another target creature you control, where X is the number of experience counters you have.
|
// At the beginning of combat on your turn, put X +1/+1 counters on another target creature you control, where X is the number of experience counters you have.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(new EzuriClawOfProgressEffect(), TargetController.YOU, false);
|
Ability ability = new BeginningOfCombatTriggeredAbility(new EzuriClawOfProgressEffect(), false);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent(filter2));
|
ability.addTarget(new TargetControlledCreaturePermanent(filter2));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.f;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.MeleeAbility;
|
import mage.abilities.keyword.MeleeAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -32,7 +32,7 @@ public final class FangOfThePack extends CardImpl {
|
||||||
this.addAbility(new MeleeAbility());
|
this.addAbility(new MeleeAbility());
|
||||||
|
|
||||||
// At the beginning of combat on your turn, another target creature you control gains melee until end of turn.
|
// At the beginning of combat on your turn, another target creature you control gains melee until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(new MeleeAbility(), Duration.EndOfTurn), TargetController.YOU, false);
|
Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(new MeleeAbility(), Duration.EndOfTurn), false);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
ability.addTarget(new TargetControlledCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL));
|
||||||
this.addAbility(ability);
|
this.addAbility(ability);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.f;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.Mode;
|
import mage.abilities.Mode;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
import mage.abilities.effects.common.continuous.BoostTargetEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
|
||||||
import mage.abilities.keyword.HasteAbility;
|
import mage.abilities.keyword.HasteAbility;
|
||||||
|
|
@ -26,7 +26,7 @@ public final class Ferocification extends CardImpl {
|
||||||
// At the beginning of combat on your turn, choose one--
|
// At the beginning of combat on your turn, choose one--
|
||||||
// * Target creature you control gets +2/+0 until end of turn.
|
// * Target creature you control gets +2/+0 until end of turn.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new BoostTargetEffect(2, 0), TargetController.YOU, false
|
new BoostTargetEffect(2, 0), false
|
||||||
);
|
);
|
||||||
ability.addTarget(new TargetControlledCreaturePermanent());
|
ability.addTarget(new TargetControlledCreaturePermanent());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.combat.CantAttackAllEffect;
|
import mage.abilities.effects.common.combat.CantAttackAllEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
|
|
@ -35,7 +35,7 @@ public final class FightOrFlight extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}");
|
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}");
|
||||||
|
|
||||||
// At the beginning of combat on each opponent’s turn, separate all creatures that player controls into two piles. Only creatures in the pile of their choice can attack this turn.
|
// At the beginning of combat on each opponent’s turn, separate all creatures that player controls into two piles. Only creatures in the pile of their choice can attack this turn.
|
||||||
this.addAbility(new BeginningOfCombatTriggeredAbility(new FightOrFlightEffect(), TargetController.OPPONENT, false));
|
this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.OPPONENT, new FightOrFlightEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private FightOrFlight(final FightOrFlight card) {
|
private FightOrFlight(final FightOrFlight card) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.Condition;
|
import mage.abilities.condition.Condition;
|
||||||
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
import mage.abilities.decorator.ConditionalOneShotEffect;
|
||||||
|
|
@ -43,7 +43,7 @@ public final class FightRigging extends CardImpl {
|
||||||
// At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. Then if you control a creature with power 7 or greater, you may play the exiled card without paying its mana cost.
|
// At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. Then if you control a creature with power 7 or greater, you may play the exiled card without paying its mana cost.
|
||||||
Ability ability = new BeginningOfCombatTriggeredAbility(
|
Ability ability = new BeginningOfCombatTriggeredAbility(
|
||||||
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
|
new AddCountersTargetEffect(CounterType.P1P1.createInstance()),
|
||||||
TargetController.YOU, false
|
false
|
||||||
);
|
);
|
||||||
ability.addEffect(new ConditionalOneShotEffect(
|
ability.addEffect(new ConditionalOneShotEffect(
|
||||||
new HideawayPlayEffect(), condition, "Then if you control a creature " +
|
new HideawayPlayEffect(), condition, "Then if you control a creature " +
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,8 @@ package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfSecondMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfSecondMainTriggeredAbility;
|
||||||
import mage.abilities.condition.common.OpponentsLostLifeCondition;
|
import mage.abilities.condition.common.OpponentsLostLifeCondition;
|
||||||
import mage.abilities.decorator.ConditionalOneShotEffect;
|
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.cards.*;
|
import mage.cards.*;
|
||||||
import mage.constants.*;
|
import mage.constants.*;
|
||||||
|
|
@ -31,10 +30,8 @@ public final class FireglassMentor extends CardImpl {
|
||||||
this.toughness = new MageInt(1);
|
this.toughness = new MageInt(1);
|
||||||
|
|
||||||
// At the beginning of your second main phase, if an opponent lost life this turn, exile the top two cards of your library. Choose one of them. Until end of turn, you may play that card.
|
// At the beginning of your second main phase, if an opponent lost life this turn, exile the top two cards of your library. Choose one of them. Until end of turn, you may play that card.
|
||||||
//TODO: Currently using postcombat main phase, change it (and most others) to second main phase
|
this.addAbility(new BeginningOfSecondMainTriggeredAbility(new FireglassMentorEffect(), false)
|
||||||
this.addAbility(new BeginningOfSecondMainTriggeredAbility(
|
.withInterveningIf(OpponentsLostLifeCondition.instance));
|
||||||
new ConditionalOneShotEffect(new FireglassMentorEffect(), OpponentsLostLifeCondition.instance),
|
|
||||||
TargetController.YOU, false));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private FireglassMentor(final FireglassMentor card) {
|
private FireglassMentor(final FireglassMentor card) {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.AttacksEachCombatStaticAbility;
|
import mage.abilities.common.AttacksEachCombatStaticAbility;
|
||||||
import mage.abilities.common.BeginningOfCombatTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfCombatTriggeredAbility;
|
||||||
import mage.abilities.condition.common.FerociousCondition;
|
import mage.abilities.condition.common.FerociousCondition;
|
||||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||||
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
|
||||||
|
|
@ -42,8 +42,8 @@ public final class FlamewakePhoenix extends CardImpl {
|
||||||
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
this.addAbility(new ConditionalInterveningIfTriggeredAbility(
|
||||||
new BeginningOfCombatTriggeredAbility(
|
new BeginningOfCombatTriggeredAbility(
|
||||||
Zone.GRAVEYARD,
|
Zone.GRAVEYARD,
|
||||||
new DoIfCostPaid(new ReturnToBattlefieldUnderOwnerControlSourceEffect(), new ManaCostsImpl<>("{R}")),
|
TargetController.YOU, new DoIfCostPaid(new ReturnToBattlefieldUnderOwnerControlSourceEffect(), new ManaCostsImpl<>("{R}")),
|
||||||
TargetController.YOU, false, false),
|
false),
|
||||||
FerociousCondition.instance,
|
FerociousCondition.instance,
|
||||||
"<i>Ferocious</i> — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return {this} from your graveyard to the battlefield."
|
"<i>Ferocious</i> — At the beginning of combat on your turn, if you control a creature with power 4 or greater, you may pay {R}. If you do, return {this} from your graveyard to the battlefield."
|
||||||
).addHint(FerociousHint.instance));
|
).addHint(FerociousHint.instance));
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package mage.cards.f;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.asthought.PlayFromNotOwnHandZoneTargetEffect;
|
import mage.abilities.effects.common.asthought.PlayFromNotOwnHandZoneTargetEffect;
|
||||||
import mage.cards.*;
|
import mage.cards.*;
|
||||||
|
|
@ -35,7 +35,7 @@ public final class FlorianVoldarenScion extends CardImpl {
|
||||||
|
|
||||||
// At the beginning of your postcombat main phase, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn.
|
// At the beginning of your postcombat main phase, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn.
|
||||||
// Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn.
|
// Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn.
|
||||||
this.addAbility(new BeginningOfPostCombatMainTriggeredAbility(new FlorianVoldarenScionEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfPostcombatMainTriggeredAbility(new FlorianVoldarenScionEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private FlorianVoldarenScion(final FlorianVoldarenScion card) {
|
private FlorianVoldarenScion(final FlorianVoldarenScion card) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package mage.cards.f;
|
package mage.cards.f;
|
||||||
|
|
||||||
import mage.MageInt;
|
import mage.MageInt;
|
||||||
import mage.abilities.common.BeginningOfFirstMainTriggeredAbility;
|
import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility;
|
||||||
import mage.abilities.effects.mana.AddManaOfAnyColorEffect;
|
import mage.abilities.effects.mana.AddManaOfAnyColorEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
|
@ -24,7 +24,7 @@ public class ForsakenThresher extends CardImpl {
|
||||||
this.nightCard = true;
|
this.nightCard = true;
|
||||||
|
|
||||||
// At the beginning of your precombat main phase, add one mana of any color.
|
// At the beginning of your precombat main phase, add one mana of any color.
|
||||||
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new AddManaOfAnyColorEffect(), TargetController.YOU, false));
|
this.addAbility(new BeginningOfFirstMainTriggeredAbility(new AddManaOfAnyColorEffect(), false));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ForsakenThresher(final ForsakenThresher card) {
|
private ForsakenThresher(final ForsakenThresher card) {
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue