diff --git a/Mage.Sets/src/mage/cards/a/AcademyLoremaster.java b/Mage.Sets/src/mage/cards/a/AcademyLoremaster.java index 61fa895d7b5..9813e22ffcc 100644 --- a/Mage.Sets/src/mage/cards/a/AcademyLoremaster.java +++ b/Mage.Sets/src/mage/cards/a/AcademyLoremaster.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.cost.SpellsCostIncreasingAllEffect; 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. this.addAbility(new BeginningOfDrawTriggeredAbility( - new AcademyLoremasterEffect(), TargetController.ANY, false + TargetController.EACH_PLAYER, new AcademyLoremasterEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/a/AdherentOfHope.java b/Mage.Sets/src/mage/cards/a/AdherentOfHope.java index be05c2aaaf5..e05ffa80a1b 100644 --- a/Mage.Sets/src/mage/cards/a/AdherentOfHope.java +++ b/Mage.Sets/src/mage/cards/a/AdherentOfHope.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; 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. 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), "At the beginning of combat on your turn, if you control a Basri planeswalker, put a +1/+1 counter on {this}.")); } diff --git a/Mage.Sets/src/mage/cards/a/AdmiralBrassUnsinkable.java b/Mage.Sets/src/mage/cards/a/AdmiralBrassUnsinkable.java index 9ca9fcbd39b..d314e7eede2 100644 --- a/Mage.Sets/src/mage/cards/a/AdmiralBrassUnsinkable.java +++ b/Mage.Sets/src/mage/cards/a/AdmiralBrassUnsinkable.java @@ -2,7 +2,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.MillCardsControllerEffect; @@ -53,7 +53,6 @@ public final class AdmiralBrassUnsinkable extends CardImpl { Effect returnFromGraveyardEffect = new ReturnFromGraveyardToBattlefieldWithCounterTargetEffect(CounterType.FINALITY.createInstance()); BeginningOfCombatTriggeredAbility ability = new BeginningOfCombatTriggeredAbility( returnFromGraveyardEffect, - TargetController.YOU, true ); ability.addEffect(new SetBasePowerToughnessTargetEffect(4, 4, Duration.WhileOnBattlefield).setText("It has base power and toughness 4/4.")); diff --git a/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java b/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java index 509a0f1c041..c46a9e4fd5a 100644 --- a/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java +++ b/Mage.Sets/src/mage/cards/a/AethershieldArtificer.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; 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.GainAbilityTargetEffect; import mage.abilities.keyword.IndestructibleAbility; @@ -41,7 +41,7 @@ public final class AethershieldArtificer extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(2, 2, Duration.EndOfTurn) .setText("target artifact creature you control gets +2/+2"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect( IndestructibleAbility.getInstance(), diff --git a/Mage.Sets/src/mage/cards/a/AjaniNacatlPariah.java b/Mage.Sets/src/mage/cards/a/AjaniNacatlPariah.java index d1fd5d5d4c3..6631af0ccc3 100644 --- a/Mage.Sets/src/mage/cards/a/AjaniNacatlPariah.java +++ b/Mage.Sets/src/mage/cards/a/AjaniNacatlPariah.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.MageInt; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.DiesOneOrMoreCreatureTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; diff --git a/Mage.Sets/src/mage/cards/a/AjanisComrade.java b/Mage.Sets/src/mage/cards/a/AjanisComrade.java index fd8209e48d0..223105559eb 100644 --- a/Mage.Sets/src/mage/cards/a/AjanisComrade.java +++ b/Mage.Sets/src/mage/cards/a/AjanisComrade.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; 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. 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), "At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on {this}.")); } diff --git a/Mage.Sets/src/mage/cards/a/AkromaVisionOfIxidor.java b/Mage.Sets/src/mage/cards/a/AkromaVisionOfIxidor.java index 3933fd57a86..f1454aaca72 100644 --- a/Mage.Sets/src/mage/cards/a/AkromaVisionOfIxidor.java +++ b/Mage.Sets/src/mage/cards/a/AkromaVisionOfIxidor.java @@ -3,7 +3,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Abilities; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new AkromaVisionOfIxidorEffect(), TargetController.ANY, false + TargetController.ANY, new AkromaVisionOfIxidorEffect(), false )); // Partner diff --git a/Mage.Sets/src/mage/cards/a/AltarOfShadows.java b/Mage.Sets/src/mage/cards/a/AltarOfShadows.java index 8b559045ee2..1932326a46b 100644 --- a/Mage.Sets/src/mage/cards/a/AltarOfShadows.java +++ b/Mage.Sets/src/mage/cards/a/AltarOfShadows.java @@ -4,7 +4,7 @@ package mage.cards.a; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; @@ -33,7 +33,7 @@ public final class AltarOfShadows extends CardImpl { 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. - 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. Ability destroyAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new GenericManaCost(7)); diff --git a/Mage.Sets/src/mage/cards/a/AngelicSkirmisher.java b/Mage.Sets/src/mage/cards/a/AngelicSkirmisher.java index 37f7a06203e..82b9e8c1c03 100644 --- a/Mage.Sets/src/mage/cards/a/AngelicSkirmisher.java +++ b/Mage.Sets/src/mage/cards/a/AngelicSkirmisher.java @@ -5,7 +5,7 @@ import java.util.*; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.keyword.FirstStrikeAbility; @@ -39,7 +39,7 @@ public final class AngelicSkirmisher extends CardImpl { 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. - Ability ability = new BeginningOfCombatTriggeredAbility(new AngelicSkirmisherEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, new AngelicSkirmisherEffect(), false); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/a/AnointedDeacon.java b/Mage.Sets/src/mage/cards/a/AnointedDeacon.java index 6e850f1e69a..f16dc117cd4 100644 --- a/Mage.Sets/src/mage/cards/a/AnointedDeacon.java +++ b/Mage.Sets/src/mage/cards/a/AnointedDeacon.java @@ -1,19 +1,21 @@ - package mage.cards.a; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; 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.target.common.TargetCreaturePermanent; +import java.util.UUID; + /** - * * @author caldover */ public final class AnointedDeacon extends CardImpl { @@ -33,9 +35,8 @@ public final class AnointedDeacon extends CardImpl { 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. - Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, - new BoostTargetEffect(2, 0, Duration.EndOfTurn).setText("you may have target Vampire get +2/+0 until end of turn"), - TargetController.YOU, true, false); + Ability ability = new BeginningOfCombatTriggeredAbility( + new BoostTargetEffect(2, 0, Duration.EndOfTurn), true); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/a/AnvilOfBogardan.java b/Mage.Sets/src/mage/cards/a/AnvilOfBogardan.java index 116b67a7324..9bcdbb74394 100644 --- a/Mage.Sets/src/mage/cards/a/AnvilOfBogardan.java +++ b/Mage.Sets/src/mage/cards/a/AnvilOfBogardan.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -29,7 +29,7 @@ public final class AnvilOfBogardan extends CardImpl { 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. - 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) { diff --git a/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java b/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java index 60af357295b..34f18a49990 100644 --- a/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java +++ b/Mage.Sets/src/mage/cards/a/ArahboRoarOfTheWorld.java @@ -3,7 +3,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksCreatureYouControlTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.SourceOnBattlefieldOrCommandZoneCondition; import mage.abilities.costs.mana.ManaCostsImpl; 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. Ability ability = new BeginningOfCombatTriggeredAbility(Zone.ALL, - new BoostTargetEffect(3, 3, Duration.EndOfTurn), - TargetController.YOU, false, false).withInterveningIf( + TargetController.YOU, new BoostTargetEffect(3, 3, Duration.EndOfTurn), + false).withInterveningIf( SourceOnBattlefieldOrCommandZoneCondition.instance); ability.addTarget(new TargetCreaturePermanent(filter)); ability.setAbilityWord(AbilityWord.EMINENCE); diff --git a/Mage.Sets/src/mage/cards/a/ArchpriestOfIona.java b/Mage.Sets/src/mage/cards/a/ArchpriestOfIona.java index 59817b58d2a..91071912dda 100644 --- a/Mage.Sets/src/mage/cards/a/ArchpriestOfIona.java +++ b/Mage.Sets/src/mage/cards/a/ArchpriestOfIona.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.FullPartyCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -44,7 +44,7 @@ public final class ArchpriestOfIona extends CardImpl { Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 1, Duration.EndOfTurn), - TargetController.YOU, false + false ), 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." ); diff --git a/Mage.Sets/src/mage/cards/a/ArclightPhoenix.java b/Mage.Sets/src/mage/cards/a/ArclightPhoenix.java index 8c37909d324..e4000613e0f 100644 --- a/Mage.Sets/src/mage/cards/a/ArclightPhoenix.java +++ b/Mage.Sets/src/mage/cards/a/ArclightPhoenix.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; @@ -42,8 +42,8 @@ public final class ArclightPhoenix extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( Zone.GRAVEYARD, - new ReturnSourceFromGraveyardToBattlefieldEffect(), - TargetController.YOU, false, false + TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect(), + false ), ArclightPhoenixCondition.instance, "At the beginning of combat on your turn, " + "if you've cast three or more instant " diff --git a/Mage.Sets/src/mage/cards/a/ArdennIntrepidArchaeologist.java b/Mage.Sets/src/mage/cards/a/ArdennIntrepidArchaeologist.java index 0d5de8083f9..0e3adcdbbf1 100644 --- a/Mage.Sets/src/mage/cards/a/ArdennIntrepidArchaeologist.java +++ b/Mage.Sets/src/mage/cards/a/ArdennIntrepidArchaeologist.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.PartnerAbility; 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. Ability ability = new BeginningOfCombatTriggeredAbility( - new ArdennIntrepidArchaeologistEffect(), TargetController.YOU, true + new ArdennIntrepidArchaeologistEffect(), true ); ability.addTarget(new TargetPermanentOrPlayer()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java index 4d617d726c2..4b6a8142da7 100644 --- a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java +++ b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java @@ -1,9 +1,7 @@ - package mage.cards.a; -import java.util.UUID; import mage.abilities.ActivatedAbilityImpl; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -18,8 +16,9 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; +import java.util.UUID; + /** - * * @author MarcoMarin */ 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. 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. 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. ActivatedAbilityImpl ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterSourceEffect(CounterType.DOOM.createInstance()), new ManaCostsImpl<>("{4}"), new IsStepCondition(PhaseStep.UPKEEP, false), diff --git a/Mage.Sets/src/mage/cards/a/AtraxasSkitterfang.java b/Mage.Sets/src/mage/cards/a/AtraxasSkitterfang.java index 28b042a64cf..8f386609a89 100644 --- a/Mage.Sets/src/mage/cards/a/AtraxasSkitterfang.java +++ b/Mage.Sets/src/mage/cards/a/AtraxasSkitterfang.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; @@ -50,7 +50,7 @@ public final class AtraxasSkitterfang extends CardImpl { ability, new RemoveCountersSourceCost(CounterType.OIL.createInstance()), "Remove an oil counter?" - ), TargetController.YOU, false)); + ), false)); } private AtraxasSkitterfang(final AtraxasSkitterfang card) { diff --git a/Mage.Sets/src/mage/cards/a/AureliaExemplarOfJustice.java b/Mage.Sets/src/mage/cards/a/AureliaExemplarOfJustice.java index ca4009afc7d..38ab59087b6 100644 --- a/Mage.Sets/src/mage/cards/a/AureliaExemplarOfJustice.java +++ b/Mage.Sets/src/mage/cards/a/AureliaExemplarOfJustice.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; 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. Ability ability = new BeginningOfCombatTriggeredAbility( new AureliaExemplarOfJusticeEffect(), - TargetController.YOU, false + false ); ability.addTarget(new TargetControlledCreaturePermanent(0, 1)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AuroraShifter.java b/Mage.Sets/src/mage/cards/a/AuroraShifter.java index b666012b05c..30e153d6a9b 100644 --- a/Mage.Sets/src/mage/cards/a/AuroraShifter.java +++ b/Mage.Sets/src/mage/cards/a/AuroraShifter.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.PayEnergyCost; @@ -51,7 +51,7 @@ public final class AuroraShifter extends CardImpl { this.addAbility(new BeginningOfCombatTriggeredAbility( 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}.\""), - TargetController.YOU, false)); + false)); } private AuroraShifter(final AuroraShifter card) { @@ -108,7 +108,7 @@ class AuroraShifterCopyApplier extends CopyApplier { blueprint.getAbilities().add(new BeginningOfCombatTriggeredAbility( 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}.\""), - TargetController.YOU, false)); + false)); blueprint.getAbilities().add(new DealsCombatDamageToAPlayerTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/a/AvabruckCaretaker.java b/Mage.Sets/src/mage/cards/a/AvabruckCaretaker.java index d966fab9d01..05893a0288f 100644 --- a/Mage.Sets/src/mage/cards/a/AvabruckCaretaker.java +++ b/Mage.Sets/src/mage/cards/a/AvabruckCaretaker.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.keyword.DayboundAbility; import mage.abilities.keyword.HexproofAbility; @@ -38,7 +38,7 @@ public final class AvabruckCaretaker extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new AddCountersTargetEffect( CounterType.P1P1.createInstance(2) - ), TargetController.YOU, false + ), false ); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AvariciousDragon.java b/Mage.Sets/src/mage/cards/a/AvariciousDragon.java index 782dc2f9107..e9d2b071b17 100644 --- a/Mage.Sets/src/mage/cards/a/AvariciousDragon.java +++ b/Mage.Sets/src/mage/cards/a/AvariciousDragon.java @@ -1,9 +1,7 @@ - package mage.cards.a; -import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.discard.DiscardHandControllerEffect; @@ -14,23 +12,26 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class AvariciousDragon extends CardImpl { 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.power = new MageInt(4); this.toughness = new MageInt(4); // Flying this.addAbility(FlyingAbility.getInstance()); + // At the beginning of your draw step, draw an additional card. 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. this.addAbility(new BeginningOfEndStepTriggeredAbility(new DiscardHandControllerEffect(), TargetController.YOU, false)); } diff --git a/Mage.Sets/src/mage/cards/a/AyaraFurnaceQueen.java b/Mage.Sets/src/mage/cards/a/AyaraFurnaceQueen.java index c494a0ac2ac..665f5e6f815 100644 --- a/Mage.Sets/src/mage/cards/a/AyaraFurnaceQueen.java +++ b/Mage.Sets/src/mage/cards/a/AyaraFurnaceQueen.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.OneShotEffect; 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. Ability ability = new BeginningOfCombatTriggeredAbility( - new AyaraFurnaceQueenEffect(), TargetController.YOU, false + new AyaraFurnaceQueenEffect(), false ); ability.addTarget(new TargetCardInYourGraveyard(0, 1, filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AzraOddsmaker.java b/Mage.Sets/src/mage/cards/a/AzraOddsmaker.java index 6ca7863aa02..8fd033c3800 100644 --- a/Mage.Sets/src/mage/cards/a/AzraOddsmaker.java +++ b/Mage.Sets/src/mage/cards/a/AzraOddsmaker.java @@ -5,7 +5,7 @@ import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DoIfCostPaid; @@ -44,7 +44,7 @@ public final class AzraOddsmaker extends CardImpl { new DoIfCostPaid( new AzraOddsmakerEffect(), new DiscardCardCost() - ), TargetController.YOU, false + ), false )); } diff --git a/Mage.Sets/src/mage/cards/b/BanditsTalent.java b/Mage.Sets/src/mage/cards/b/BanditsTalent.java index 88d4a801916..1b9cce58eba 100644 --- a/Mage.Sets/src/mage/cards/b/BanditsTalent.java +++ b/Mage.Sets/src/mage/cards/b/BanditsTalent.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; @@ -61,7 +61,7 @@ public final class BanditsTalent extends CardImpl { 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. 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())); } diff --git a/Mage.Sets/src/mage/cards/b/BatteringRam.java b/Mage.Sets/src/mage/cards/b/BatteringRam.java index 5364564757d..601f067f402 100644 --- a/Mage.Sets/src/mage/cards/b/BatteringRam.java +++ b/Mage.Sets/src/mage/cards/b/BatteringRam.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; @@ -39,7 +39,7 @@ public final class BatteringRam extends CardImpl { this.toughness = new MageInt(1); // 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. Effect effect = new CreateDelayedTriggeredAbilityEffect(new AtTheEndOfCombatDelayedTriggeredAbility(new DestroyTargetEffect()), true); diff --git a/Mage.Sets/src/mage/cards/b/BattlePlan.java b/Mage.Sets/src/mage/cards/b/BattlePlan.java index e5e61a8bf01..fa3a08aba1b 100644 --- a/Mage.Sets/src/mage/cards/b/BattlePlan.java +++ b/Mage.Sets/src/mage/cards/b/BattlePlan.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.BoostTargetEffect; 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. Ability ability = new BeginningOfCombatTriggeredAbility( - new BoostTargetEffect(2, 0), TargetController.YOU, false + new BoostTargetEffect(2, 0), false ); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BattleRattleShaman.java b/Mage.Sets/src/mage/cards/b/BattleRattleShaman.java index f0248ba132c..5f30ad273cd 100644 --- a/Mage.Sets/src/mage/cards/b/BattleRattleShaman.java +++ b/Mage.Sets/src/mage/cards/b/BattleRattleShaman.java @@ -1,34 +1,34 @@ - package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; 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 java.util.UUID; /** - * * @author jeffwadsworth */ public final class BattleRattleShaman extends CardImpl { 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.power = 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. - Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, - new BoostTargetEffect(2, 0, Duration.EndOfTurn).setText("you may have target creature get +2/+0 until end of turn"), - TargetController.YOU, true, false); + Ability ability = new BeginningOfCombatTriggeredAbility( + new BoostTargetEffect(2, 0, Duration.EndOfTurn), true); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BeckoningWillOWisp.java b/Mage.Sets/src/mage/cards/b/BeckoningWillOWisp.java index 71006a1e431..e191848facb 100644 --- a/Mage.Sets/src/mage/cards/b/BeckoningWillOWisp.java +++ b/Mage.Sets/src/mage/cards/b/BeckoningWillOWisp.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new BeckoningWillOWispEffect(), TargetController.YOU, false + new BeckoningWillOWispEffect(), false ).withFlavorWord("Lure the Unwary")); // Creatures attacking the last chosen player get +1/+0. diff --git a/Mage.Sets/src/mage/cards/b/BelbeCorruptedObserver.java b/Mage.Sets/src/mage/cards/b/BelbeCorruptedObserver.java index e0e27b54fca..9f18ea28bb3 100644 --- a/Mage.Sets/src/mage/cards/b/BelbeCorruptedObserver.java +++ b/Mage.Sets/src/mage/cards/b/BelbeCorruptedObserver.java @@ -3,7 +3,7 @@ package mage.cards.b; import mage.MageInt; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -37,8 +37,8 @@ public final class BelbeCorruptedObserver extends CardImpl { 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. - this.addAbility(new BeginningOfPostCombatMainTriggeredAbility( - new BelbeCorruptedObserverEffect(), TargetController.ANY, false + this.addAbility(new BeginningOfPostcombatMainTriggeredAbility( + TargetController.ANY, new BelbeCorruptedObserverEffect(), false ).addHint(hint), new BelbeCorruptedObserverWatcher()); } diff --git a/Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java b/Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java index 8441b5bc775..5e40184eabe 100644 --- a/Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java +++ b/Mage.Sets/src/mage/cards/b/BelligerentOfTheBall.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CelebrationCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -36,7 +36,6 @@ public final class BelligerentOfTheBall extends CardImpl { Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 0), - TargetController.YOU, false), 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 " diff --git a/Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java b/Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java index b41cb610dc2..aa6500ae756 100644 --- a/Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java +++ b/Mage.Sets/src/mage/cards/b/BespokeBattlegarb.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CelebrationCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -37,7 +37,6 @@ public final class BespokeBattlegarb extends CardImpl { Outcome.BoostCreature, "attach {this} to up to one target creature you control" ), - TargetController.YOU, false ), CelebrationCondition.instance, "At the beginning of combat on your turn, if two " + "or more nonland permanents entered the battlefield under your control this turn, " diff --git a/Mage.Sets/src/mage/cards/b/BlackMarket.java b/Mage.Sets/src/mage/cards/b/BlackMarket.java index aec95a87891..9d690e27b47 100644 --- a/Mage.Sets/src/mage/cards/b/BlackMarket.java +++ b/Mage.Sets/src/mage/cards/b/BlackMarket.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.effects.OneShotEffect; 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. 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. - this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BlackMarketEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BlackMarketEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/b/BlackMarketConnections.java b/Mage.Sets/src/mage/cards/b/BlackMarketConnections.java index 1e9e1d0f405..6454ef0ac81 100644 --- a/Mage.Sets/src/mage/cards/b/BlackMarketConnections.java +++ b/Mage.Sets/src/mage/cards/b/BlackMarketConnections.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.abilities.Ability; 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.DrawCardSourceControllerEffect; 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 — // • Sell Contraband — Create a Treasure token. You lose 1 life. Ability ability = new BeginningOfFirstMainTriggeredAbility( - new CreateTokenEffect(new TreasureToken()), TargetController.YOU, false + new CreateTokenEffect(new TreasureToken()), false ); ability.addEffect(new LoseLifeSourceControllerEffect(1)); ability.withFirstModeFlavorWord("Sell Contraband"); diff --git a/Mage.Sets/src/mage/cards/b/BlacksmithsTalent.java b/Mage.Sets/src/mage/cards/b/BlacksmithsTalent.java index 36d0db9bd40..c30be85a588 100644 --- a/Mage.Sets/src/mage/cards/b/BlacksmithsTalent.java +++ b/Mage.Sets/src/mage/cards/b/BlacksmithsTalent.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; 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. Ability ability = new BeginningOfCombatTriggeredAbility( - new BlacksmithsTalentEffect(), TargetController.YOU, false + new BlacksmithsTalentEffect(), false ); ability.addTarget(new TargetPermanent(filter)); ability.addTarget(new TargetControlledCreaturePermanent(0, 1)); diff --git a/Mage.Sets/src/mage/cards/b/BleedingEffect.java b/Mage.Sets/src/mage/cards/b/BleedingEffect.java index 3a3c0f5f214..54e9d23c952 100644 --- a/Mage.Sets/src/mage/cards/b/BleedingEffect.java +++ b/Mage.Sets/src/mage/cards/b/BleedingEffect.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; 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. // 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) { diff --git a/Mage.Sets/src/mage/cards/b/BlinkmothUrn.java b/Mage.Sets/src/mage/cards/b/BlinkmothUrn.java index 54452f21be2..a0c54e864f9 100644 --- a/Mage.Sets/src/mage/cards/b/BlinkmothUrn.java +++ b/Mage.Sets/src/mage/cards/b/BlinkmothUrn.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -28,7 +28,7 @@ public final class BlinkmothUrn extends CardImpl { 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. - this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BlinkmothUrnEffect(), TargetController.ANY, false) + this.addAbility(new BeginningOfFirstMainTriggeredAbility(TargetController.EACH_PLAYER, new BlinkmothUrnEffect(), false) .withInterveningIf(SourceTappedCondition.UNTAPPED)); } diff --git a/Mage.Sets/src/mage/cards/b/BlitzwingAdaptiveAssailant.java b/Mage.Sets/src/mage/cards/b/BlitzwingAdaptiveAssailant.java index 9e03ad141ea..6d94d317454 100644 --- a/Mage.Sets/src/mage/cards/b/BlitzwingAdaptiveAssailant.java +++ b/Mage.Sets/src/mage/cards/b/BlitzwingAdaptiveAssailant.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.OneShotEffect; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new BlitzwingAdaptiveAssailantEffect(), TargetController.YOU, false + new BlitzwingAdaptiveAssailantEffect(), false )); // Whenever Blitzwing deals combat damage to a player, convert it. diff --git a/Mage.Sets/src/mage/cards/b/BloodMist.java b/Mage.Sets/src/mage/cards/b/BloodMist.java index b26af0c7a08..eab56cc5fb6 100644 --- a/Mage.Sets/src/mage/cards/b/BloodMist.java +++ b/Mage.Sets/src/mage/cards/b/BloodMist.java @@ -3,7 +3,7 @@ package mage.cards.b; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; @@ -23,7 +23,7 @@ public final class BloodMist extends CardImpl { 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. - 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()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BloodbatSummoner.java b/Mage.Sets/src/mage/cards/b/BloodbatSummoner.java index 10e18bf835f..50cc84793be 100644 --- a/Mage.Sets/src/mage/cards/b/BloodbatSummoner.java +++ b/Mage.Sets/src/mage/cards/b/BloodbatSummoner.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.HasteAbility; @@ -53,7 +53,7 @@ public final class BloodbatSummoner extends CardImpl { .withColor("B"), false, false, Duration.Custom ).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)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BorosBattleshaper.java b/Mage.Sets/src/mage/cards/b/BorosBattleshaper.java index b66decc9b8e..4c1b89d485d 100644 --- a/Mage.Sets/src/mage/cards/b/BorosBattleshaper.java +++ b/Mage.Sets/src/mage/cards/b/BorosBattleshaper.java @@ -1,9 +1,8 @@ package mage.cards.b; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.OneShotEffect; 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.CardSetInfo; import mage.constants.*; -import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreaturePermanent; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class BorosBattleshaper extends CardImpl { @@ -33,9 +32,9 @@ public final class BorosBattleshaper extends CardImpl { 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. - Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, new BorosBattleshaperEffect(), TargetController.ANY, false, false); - ability.addTarget(new TargetCreaturePermanent(0, 1, new FilterCreaturePermanent("creature that attacks or blocks if able"), false)); - ability.addTarget(new TargetCreaturePermanent(0, 1, new FilterCreaturePermanent("creature that can't attack or block"), false)); + Ability ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, new BorosBattleshaperEffect(), false); + ability.addTarget(new TargetCreaturePermanent(0, 1).withChooseHint("attacks or blocks this combat if able")); + ability.addTarget(new TargetCreaturePermanent(0, 1).withChooseHint("can't attack or block this combat")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BoundaryLandsRanger.java b/Mage.Sets/src/mage/cards/b/BoundaryLandsRanger.java index 11be630f314..56760cf201b 100644 --- a/Mage.Sets/src/mage/cards/b/BoundaryLandsRanger.java +++ b/Mage.Sets/src/mage/cards/b/BoundaryLandsRanger.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -34,7 +34,7 @@ public final class BoundaryLandsRanger extends CardImpl { new BeginningOfCombatTriggeredAbility( new DoIfCostPaid( new DrawCardSourceControllerEffect(1), new DiscardCardCost() - ), TargetController.YOU, false + ), false ), 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." ).addHint(FerociousHint.instance)); diff --git a/Mage.Sets/src/mage/cards/b/BountyOfTheLuxa.java b/Mage.Sets/src/mage/cards/b/BountyOfTheLuxa.java index 9725d2ff69b..7e509442870 100644 --- a/Mage.Sets/src/mage/cards/b/BountyOfTheLuxa.java +++ b/Mage.Sets/src/mage/cards/b/BountyOfTheLuxa.java @@ -3,7 +3,7 @@ package mage.cards.b; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; 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. // 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}. - this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BountyOfTheLuxaEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfFirstMainTriggeredAbility(new BountyOfTheLuxaEffect(), false)); } private BountyOfTheLuxa(final BountyOfTheLuxa card) { diff --git a/Mage.Sets/src/mage/cards/b/BrambleguardCaptain.java b/Mage.Sets/src/mage/cards/b/BrambleguardCaptain.java index 3671dcef4e0..904ddd7ca68 100644 --- a/Mage.Sets/src/mage/cards/b/BrambleguardCaptain.java +++ b/Mage.Sets/src/mage/cards/b/BrambleguardCaptain.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; 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.StaticValue; 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. Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect( SourcePermanentPowerValue.NOT_NEGATIVE, StaticValue.get(0), Duration.EndOfTurn - ), TargetController.YOU, false); + ), false); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BrazenCannonade.java b/Mage.Sets/src/mage/cards/b/BrazenCannonade.java index eafe0f3a69e..1c37415cb3d 100644 --- a/Mage.Sets/src/mage/cards/b/BrazenCannonade.java +++ b/Mage.Sets/src/mage/cards/b/BrazenCannonade.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.condition.common.RaidCondition; 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. Ability ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfPostCombatMainTriggeredAbility( + new BeginningOfPostcombatMainTriggeredAbility( new ExileTopXMayPlayUntilEffect( 1, Duration.UntilEndCombatOfYourNextTurn - ), TargetController.YOU, false + ), false ), RaidCondition.instance, "At the beginning of each of your postcombat main phases, " + "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." diff --git a/Mage.Sets/src/mage/cards/b/BrotherhoodSpy.java b/Mage.Sets/src/mage/cards/b/BrotherhoodSpy.java index 6a4c994fa6e..36d6fb7528d 100644 --- a/Mage.Sets/src/mage/cards/b/BrotherhoodSpy.java +++ b/Mage.Sets/src/mage/cards/b/BrotherhoodSpy.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; 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. Ability ability = new ConditionalInterveningIfTriggeredAbility( 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, " + "{this} gets +1/+0 until end of turn and can't be blocked this turn." ); diff --git a/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java b/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java index 75a4ffc1c85..eca2601ebd7 100644 --- a/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java +++ b/Mage.Sets/src/mage/cards/b/BrudicladTelchorEngineer.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; 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))); // 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) { diff --git a/Mage.Sets/src/mage/cards/c/CabalTherapist.java b/Mage.Sets/src/mage/cards/c/CabalTherapist.java index 2e607033f64..4bfd7b0dd5d 100644 --- a/Mage.Sets/src/mage/cards/c/CabalTherapist.java +++ b/Mage.Sets/src/mage/cards/c/CabalTherapist.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.OneShotEffect; @@ -51,7 +51,7 @@ public final class CabalTherapist extends CardImpl { ability.addTarget(new TargetPlayer()); this.addAbility(new BeginningOfFirstMainTriggeredAbility( new DoWhenCostPaid(ability, new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE - ), "Sacrifice a creature?"), TargetController.YOU, false + ), "Sacrifice a creature?"), false )); } diff --git a/Mage.Sets/src/mage/cards/c/CactusfolkSureshot.java b/Mage.Sets/src/mage/cards/c/CactusfolkSureshot.java index 943729d7513..83faee57518 100644 --- a/Mage.Sets/src/mage/cards/c/CactusfolkSureshot.java +++ b/Mage.Sets/src/mage/cards/c/CactusfolkSureshot.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; 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. Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect( 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( HasteAbility.getInstance(), Duration.EndOfTurn, filter, true ).setText("and haste until end of turn")); diff --git a/Mage.Sets/src/mage/cards/c/CandlegroveWitch.java b/Mage.Sets/src/mage/cards/c/CandlegroveWitch.java index 21d490374c3..932908a334b 100644 --- a/Mage.Sets/src/mage/cards/c/CandlegroveWitch.java +++ b/Mage.Sets/src/mage/cards/c/CandlegroveWitch.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; @@ -31,7 +31,7 @@ public final class CandlegroveWitch extends CardImpl { new BeginningOfCombatTriggeredAbility( new GainAbilitySourceEffect( FlyingAbility.getInstance(), Duration.EndOfTurn - ), TargetController.YOU, false + ), false ), 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." ).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN)); diff --git a/Mage.Sets/src/mage/cards/c/CandlelitCavalry.java b/Mage.Sets/src/mage/cards/c/CandlelitCavalry.java index 4ac67894243..1b9331b5bb6 100644 --- a/Mage.Sets/src/mage/cards/c/CandlelitCavalry.java +++ b/Mage.Sets/src/mage/cards/c/CandlelitCavalry.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; @@ -31,7 +31,7 @@ public final class CandlelitCavalry extends CardImpl { new BeginningOfCombatTriggeredAbility( new GainAbilitySourceEffect( TrampleAbility.getInstance(), Duration.EndOfTurn - ), TargetController.YOU, false + ), false ), 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." ).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN)); diff --git a/Mage.Sets/src/mage/cards/c/CaptainAmericaFirstAvenger.java b/Mage.Sets/src/mage/cards/c/CaptainAmericaFirstAvenger.java index 86ada3c4358..cdb2b4f22ea 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainAmericaFirstAvenger.java +++ b/Mage.Sets/src/mage/cards/c/CaptainAmericaFirstAvenger.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.Cost; 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. ability = new BeginningOfCombatTriggeredAbility( - new CaptainAmericaFirstAvengerCatchEffect(), TargetController.YOU, false + new CaptainAmericaFirstAvengerCatchEffect(), false ); ability.addTarget(new TargetPermanent(0, 1, filter)); this.addAbility(ability.withFlavorWord("... Catch")); @@ -212,4 +212,4 @@ class CaptainAmericaFirstAvengerCatchEffect extends OneShotEffect { Permanent creature = source.getSourcePermanentIfItStillExists(game); return equipment != null && creature != null && creature.addAttachment(equipment.getId(), source, game); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/c/CaseOfTheShatteredPact.java b/Mage.Sets/src/mage/cards/c/CaseOfTheShatteredPact.java index 13ee5c400ba..596e8074bd3 100644 --- a/Mage.Sets/src/mage/cards/c/CaseOfTheShatteredPact.java +++ b/Mage.Sets/src/mage/cards/c/CaseOfTheShatteredPact.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.CaseAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; 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. TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance()) .setText("target creature you control gains flying"), - TargetController.YOU, false); + false); triggeredAbility.addEffect(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance()) .setText(", double strike,")); triggeredAbility.addEffect(new GainAbilityTargetEffect(VigilanceAbility.getInstance()) diff --git a/Mage.Sets/src/mage/cards/c/CatapultFodder.java b/Mage.Sets/src/mage/cards/c/CatapultFodder.java index 3e5a9c90a68..1d6d1fc1b85 100644 --- a/Mage.Sets/src/mage/cards/c/CatapultFodder.java +++ b/Mage.Sets/src/mage/cards/c/CatapultFodder.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; 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. this.addAbility(new TransformAbility()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfCombatTriggeredAbility(new TransformSourceEffect(), TargetController.YOU, false), + new BeginningOfCombatTriggeredAbility(new TransformSourceEffect(), false), 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}" )); diff --git a/Mage.Sets/src/mage/cards/c/Celebr8000.java b/Mage.Sets/src/mage/cards/c/Celebr8000.java index 0e38d482da1..d44d5baf3fb 100644 --- a/Mage.Sets/src/mage/cards/c/Celebr8000.java +++ b/Mage.Sets/src/mage/cards/c/Celebr8000.java @@ -4,7 +4,7 @@ import java.util.List; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect; @@ -40,7 +40,7 @@ public final class Celebr8000 extends CardImpl { // * 5 -- flying // * 6 -- indestructible this.addAbility( - new BeginningOfCombatTriggeredAbility(new Celebr8000Effect(), TargetController.YOU, false)); + new BeginningOfCombatTriggeredAbility(new Celebr8000Effect(), false)); } private Celebr8000(final Celebr8000 card) { diff --git a/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java b/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java index c31eb1c4d3d..71463fcc62a 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java +++ b/Mage.Sets/src/mage/cards/c/CephalidFacetaker.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; 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." Ability ability = new BeginningOfCombatTriggeredAbility( - new CephalidFacetakerEffect(), TargetController.YOU, true + new CephalidFacetakerEffect(), true ); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/ChampionsOfMinasTirith.java b/Mage.Sets/src/mage/cards/c/ChampionsOfMinasTirith.java index 2b3b91eb68c..ef1d9bd4855 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionsOfMinasTirith.java +++ b/Mage.Sets/src/mage/cards/c/ChampionsOfMinasTirith.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.costs.Cost; @@ -43,10 +43,8 @@ public final class ChampionsOfMinasTirith extends CardImpl { this.addAbility(new ConditionalTriggeredAbility( new BeginningOfCombatTriggeredAbility( Zone.BATTLEFIELD, - new ChampionsOfMinasTirithEffect(), - TargetController.OPPONENT, - false, - true + TargetController.OPPONENT, new ChampionsOfMinasTirithEffect(), + false ), MonarchIsSourceControllerCondition.instance, "At the beginning of combat on each opponent's turn, if you're the monarch, that opponent may pay {X}, " diff --git a/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java b/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java index 237c6fd8df3..07e7a9122ee 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java +++ b/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.common.SourceDealtDamageCondition; diff --git a/Mage.Sets/src/mage/cards/c/ChaosDragon.java b/Mage.Sets/src/mage/cards/c/ChaosDragon.java index 0bc6a63545c..a085656a1d1 100644 --- a/Mage.Sets/src/mage/cards/c/ChaosDragon.java +++ b/Mage.Sets/src/mage/cards/c/ChaosDragon.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksEachCombatStaticAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.RestrictionEffect; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new ChaosDragonEffect(), TargetController.YOU, false + new ChaosDragonEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/c/ChaosTerminatorLord.java b/Mage.Sets/src/mage/cards/c/ChaosTerminatorLord.java index 427c6401d93..9c6abdd5921 100644 --- a/Mage.Sets/src/mage/cards/c/ChaosTerminatorLord.java +++ b/Mage.Sets/src/mage/cards/c/ChaosTerminatorLord.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.DoubleStrikeAbility; 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. Ability ability = new BeginningOfCombatTriggeredAbility( new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance()), - TargetController.YOU, false + false ); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL)); this.addAbility(ability.withFlavorWord("Lord of Chaos")); diff --git a/Mage.Sets/src/mage/cards/c/CitadelSiege.java b/Mage.Sets/src/mage/cards/c/CitadelSiege.java index 8baf99a1ad1..0edbe173cd0 100644 --- a/Mage.Sets/src/mage/cards/c/CitadelSiege.java +++ b/Mage.Sets/src/mage/cards/c/CitadelSiege.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.ModeChoiceSourceCondition; 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. 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"), ruleTrigger1); 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. ability = new ConditionalTriggeredAbility( - new BeginningOfCombatTriggeredAbility(new TapTargetEffect(), TargetController.OPPONENT, false), + new BeginningOfCombatTriggeredAbility(TargetController.OPPONENT, new TapTargetEffect(), false), new ModeChoiceSourceCondition("Dragons"), ruleTrigger2); ability.addTarget(new TargetCreaturePermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java b/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java index 4bf4bf2e09a..92d42d3d404 100644 --- a/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java +++ b/Mage.Sets/src/mage/cards/c/ClackbridgeTroll.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new ClackbridgeTrollEffect(), TargetController.YOU, false) + new ClackbridgeTrollEffect(), false) ); } @@ -115,4 +115,4 @@ class ClackbridgeTrollEffect extends OneShotEffect { } return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/c/CoalitionRelic.java b/Mage.Sets/src/mage/cards/c/CoalitionRelic.java index e0eb3d3b8c7..81852050b5e 100644 --- a/Mage.Sets/src/mage/cards/c/CoalitionRelic.java +++ b/Mage.Sets/src/mage/cards/c/CoalitionRelic.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.OneShotEffect; @@ -36,7 +36,7 @@ public final class CoalitionRelic extends CardImpl { // {tap}: Put a charge counter on Coalition Relic. 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. - this.addAbility(new BeginningOfFirstMainTriggeredAbility(new CoalitionRelicEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfFirstMainTriggeredAbility(new CoalitionRelicEffect(), false)); } private CoalitionRelic(final CoalitionRelic card) { diff --git a/Mage.Sets/src/mage/cards/c/CombatProfessor.java b/Mage.Sets/src/mage/cards/c/CombatProfessor.java index 16e67fdb78a..801cab3b334 100644 --- a/Mage.Sets/src/mage/cards/c/CombatProfessor.java +++ b/Mage.Sets/src/mage/cards/c/CombatProfessor.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; 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.GainAbilityTargetEffect; import mage.abilities.keyword.FlyingAbility; @@ -37,7 +37,7 @@ public final class CombatProfessor extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 0) .setText("target creature you control gets +1/+0"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect( VigilanceAbility.getInstance(), Duration.EndOfTurn diff --git a/Mage.Sets/src/mage/cards/c/ConduitGoblin.java b/Mage.Sets/src/mage/cards/c/ConduitGoblin.java index 529b8bc4e89..fe48a3b7fc0 100644 --- a/Mage.Sets/src/mage/cards/c/ConduitGoblin.java +++ b/Mage.Sets/src/mage/cards/c/ConduitGoblin.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.PayEnergyCost; 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)) .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"), - TargetController.YOU, false + false ); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java b/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java index 49c161d5b9b..7c8bcf607a3 100644 --- a/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java +++ b/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; diff --git a/Mage.Sets/src/mage/cards/c/CorpseberryCultivator.java b/Mage.Sets/src/mage/cards/c/CorpseberryCultivator.java index 9c0eca8e65e..8c823145f0d 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseberryCultivator.java +++ b/Mage.Sets/src/mage/cards/c/CorpseberryCultivator.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.ForageTriggeredAbility; import mage.abilities.costs.common.ForageCost; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( new DoIfCostPaid(null, new ForageCost()), - TargetController.YOU, false + false )); // Whenever you forage, put a +1/+1 counter on Corpseberry Cultivator. diff --git a/Mage.Sets/src/mage/cards/c/CrackInTime.java b/Mage.Sets/src/mage/cards/c/CrackInTime.java index 9e6536a1835..4c9c3d5aa8e 100644 --- a/Mage.Sets/src/mage/cards/c/CrackInTime.java +++ b/Mage.Sets/src/mage/cards/c/CrackInTime.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.ExileUntilSourceLeavesEffect; import mage.abilities.keyword.VanishingAbility; @@ -31,7 +31,7 @@ public final class CrackInTime extends CardImpl { Ability ability = new OrTriggeredAbility(Zone.BATTLEFIELD, new ExileUntilSourceLeavesEffect(), false, "When {this} enters and at the beginning of your first main phase, ", new EntersBattlefieldTriggeredAbility(null), - new BeginningOfFirstMainTriggeredAbility(null, TargetController.YOU, false) + new BeginningOfFirstMainTriggeredAbility(null, false) ); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CrystallineGiant.java b/Mage.Sets/src/mage/cards/c/CrystallineGiant.java index dfcc38cd254..668f2869197 100644 --- a/Mage.Sets/src/mage/cards/c/CrystallineGiant.java +++ b/Mage.Sets/src/mage/cards/c/CrystallineGiant.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new CrystallineGiantEffect(), TargetController.YOU, false + new CrystallineGiantEffect(), false )); } @@ -99,4 +99,4 @@ class CrystallineGiantEffect extends OneShotEffect { RandomUtil.nextInt(counterTypes.size()) ).createInstance(), source.getControllerId(), source, game); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/c/CurseOfObsession.java b/Mage.Sets/src/mage/cards/c/CurseOfObsession.java index 426e3405e6e..0a79e9aff80 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfObsession.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfObsession.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; 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. this.addAbility(new BeginningOfDrawTriggeredAbility( - new DrawCardTargetEffect(2) + TargetController.ENCHANTED, new DrawCardTargetEffect(2) .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. diff --git a/Mage.Sets/src/mage/cards/d/DaringPiracy.java b/Mage.Sets/src/mage/cards/d/DaringPiracy.java index 579aa1c9d17..c75a25e4c43 100644 --- a/Mage.Sets/src/mage/cards/d/DaringPiracy.java +++ b/Mage.Sets/src/mage/cards/d/DaringPiracy.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new DaringPiracyEffect(), TargetController.YOU, false + new DaringPiracyEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/d/DawnhartWardens.java b/Mage.Sets/src/mage/cards/d/DawnhartWardens.java index 6f926a31fd9..487138052d0 100644 --- a/Mage.Sets/src/mage/cards/d/DawnhartWardens.java +++ b/Mage.Sets/src/mage/cards/d/DawnhartWardens.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.BoostControlledEffect; @@ -33,7 +33,7 @@ public final class DawnhartWardens extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new BoostControlledEffect(1, 0, Duration.EndOfTurn), - TargetController.YOU, false + false ), CovenCondition.instance, "At the beginning of combat on your turn, " + "if you control three or more creatures with different powers, " + "creatures you control get +1/+0 until end of turn." diff --git a/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java b/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java index 056de1ede14..657b6347e01 100644 --- a/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java +++ b/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CopyEffect; 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. // 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. - this.addAbility(new BeginningOfCombatTriggeredAbility(new DeceiverOfFormEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new DeceiverOfFormEffect(), false)); } private DeceiverOfForm(final DeceiverOfForm card) { diff --git a/Mage.Sets/src/mage/cards/d/DeepfathomEcho.java b/Mage.Sets/src/mage/cards/d/DeepfathomEcho.java index 9943a8c4b1b..e77ed193212 100644 --- a/Mage.Sets/src/mage/cards/d/DeepfathomEcho.java +++ b/Mage.Sets/src/mage/cards/d/DeepfathomEcho.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.keyword.ExploreSourceEffect; 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. Ability ability = new BeginningOfCombatTriggeredAbility( - new ExploreSourceEffect(false, "{this}"), TargetController.YOU, false + new ExploreSourceEffect(false, "{this}"), false ); ability.addEffect(new DeepfathomEchoEffect()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/Delirium.java b/Mage.Sets/src/mage/cards/d/Delirium.java index a066e6b7825..62cc5e30fe6 100644 --- a/Mage.Sets/src/mage/cards/d/Delirium.java +++ b/Mage.Sets/src/mage/cards/d/Delirium.java @@ -29,7 +29,7 @@ public final class Delirium extends CardImpl { private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); static { - filter.add(new ControllerIsActivePlayerPredicate()); + filter.add(ControllerIsActivePlayerPredicate.instance); } public Delirium(UUID ownerId, CardSetInfo setInfo) { diff --git a/Mage.Sets/src/mage/cards/d/DesecrationDemon.java b/Mage.Sets/src/mage/cards/d/DesecrationDemon.java index 8b0574c217e..a2f0c0fec99 100644 --- a/Mage.Sets/src/mage/cards/d/DesecrationDemon.java +++ b/Mage.Sets/src/mage/cards/d/DesecrationDemon.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -38,7 +38,7 @@ public final class DesecrationDemon extends CardImpl { 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. - this.addAbility(new BeginningOfCombatTriggeredAbility(new DesecrationDemonEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.ANY, new DesecrationDemonEffect(), false)); } private DesecrationDemon(final DesecrationDemon card) { diff --git a/Mage.Sets/src/mage/cards/d/DeterminedIteration.java b/Mage.Sets/src/mage/cards/d/DeterminedIteration.java index f6ecda1604c..1bfd100ee47 100644 --- a/Mage.Sets/src/mage/cards/d/DeterminedIteration.java +++ b/Mage.Sets/src/mage/cards/d/DeterminedIteration.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.OneShotEffect; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( - new DeterminedIterationEffect(), TargetController.YOU, false + new DeterminedIterationEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/d/DireFleetWarmonger.java b/Mage.Sets/src/mage/cards/d/DireFleetWarmonger.java index c670f29a4e2..d3a70ce3699 100644 --- a/Mage.Sets/src/mage/cards/d/DireFleetWarmonger.java +++ b/Mage.Sets/src/mage/cards/d/DireFleetWarmonger.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.continuous.BoostSourceEffect; @@ -14,7 +14,6 @@ import mage.constants.Duration; import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.StaticFilters; -import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -37,7 +36,7 @@ public final class DireFleetWarmonger extends CardImpl { new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE) ).addEffect(new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) .concatBy("and").setText("gains trample until end of turn")), - TargetController.YOU, false)); + false)); } private DireFleetWarmonger(final DireFleetWarmonger card) { diff --git a/Mage.Sets/src/mage/cards/d/DormantGrove.java b/Mage.Sets/src/mage/cards/d/DormantGrove.java index e2cf7d115e2..a8d955548f2 100644 --- a/Mage.Sets/src/mage/cards/d/DormantGrove.java +++ b/Mage.Sets/src/mage/cards/d/DormantGrove.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.TransformSourceEffect; @@ -35,7 +35,7 @@ public final class DormantGrove extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ); ability.addEffect(new ConditionalOneShotEffect( new TransformSourceEffect(), diff --git a/Mage.Sets/src/mage/cards/d/DreamshackleGeist.java b/Mage.Sets/src/mage/cards/d/DreamshackleGeist.java index d09ba16cba1..124482f548f 100644 --- a/Mage.Sets/src/mage/cards/d/DreamshackleGeist.java +++ b/Mage.Sets/src/mage/cards/d/DreamshackleGeist.java @@ -3,7 +3,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; 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.TapTargetEffect; 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 — // • Tap target creature. Ability ability = new BeginningOfCombatTriggeredAbility( - new TapTargetEffect(), TargetController.YOU, false + new TapTargetEffect(), false ); ability.addTarget(new TargetCreaturePermanent()); ability.getModes().setMinModes(0); diff --git a/Mage.Sets/src/mage/cards/d/DuelcraftTrainer.java b/Mage.Sets/src/mage/cards/d/DuelcraftTrainer.java index 4e145682161..77d745ad8c0 100644 --- a/Mage.Sets/src/mage/cards/d/DuelcraftTrainer.java +++ b/Mage.Sets/src/mage/cards/d/DuelcraftTrainer.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -36,7 +36,7 @@ public final class DuelcraftTrainer extends CardImpl { Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect( 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, " + "target creature you control gains double strike until end of turn." ); diff --git a/Mage.Sets/src/mage/cards/d/DukeUlderRavengard.java b/Mage.Sets/src/mage/cards/d/DukeUlderRavengard.java index c490b09d270..3c5453d224c 100644 --- a/Mage.Sets/src/mage/cards/d/DukeUlderRavengard.java +++ b/Mage.Sets/src/mage/cards/d/DukeUlderRavengard.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.MyriadAbility; @@ -36,7 +36,7 @@ public final class DukeUlderRavengard extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new GainAbilityTargetEffect(HasteAbility.getInstance()) .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.addTarget(new TargetPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)); diff --git a/Mage.Sets/src/mage/cards/e/EccentricApprentice.java b/Mage.Sets/src/mage/cards/e/EccentricApprentice.java index 457d86a2d46..54a694d1643 100644 --- a/Mage.Sets/src/mage/cards/e/EccentricApprentice.java +++ b/Mage.Sets/src/mage/cards/e/EccentricApprentice.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.CompletedDungeonCondition; 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. Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( - new EccentricApprenticeEffect(), TargetController.YOU, false + new EccentricApprenticeEffect(), false ), CompletedDungeonCondition.instance, "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." diff --git a/Mage.Sets/src/mage/cards/e/EidolonOfInspiration.java b/Mage.Sets/src/mage/cards/e/EidolonOfInspiration.java index 1d84d968f02..c8a8bf81c0b 100644 --- a/Mage.Sets/src/mage/cards/e/EidolonOfInspiration.java +++ b/Mage.Sets/src/mage/cards/e/EidolonOfInspiration.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; 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. Ability ability = new BeginningOfCombatTriggeredAbility( - new BoostTargetEffect(2, 0), TargetController.YOU, false + new BoostTargetEffect(2, 0), false ); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/e/EladamrisVineyard.java b/Mage.Sets/src/mage/cards/e/EladamrisVineyard.java index 6e874f01631..9be6b9e489e 100644 --- a/Mage.Sets/src/mage/cards/e/EladamrisVineyard.java +++ b/Mage.Sets/src/mage/cards/e/EladamrisVineyard.java @@ -1,29 +1,27 @@ - package mage.cards.e; -import java.util.UUID; import mage.Mana; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.effects.mana.AddManaToManaPoolTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; -import mage.constants.Zone; + +import java.util.UUID; /** - * * @author LevelX2 */ public final class EladamrisVineyard extends CardImpl { 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. 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) { diff --git a/Mage.Sets/src/mage/cards/e/EldraziLinebreaker.java b/Mage.Sets/src/mage/cards/e/EldraziLinebreaker.java index 59914ecee1c..8be9203d00c 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziLinebreaker.java +++ b/Mage.Sets/src/mage/cards/e/EldraziLinebreaker.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.StaticValue; @@ -48,7 +48,7 @@ public final class EldraziLinebreaker extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new GainAbilityTargetEffect(HasteAbility.getInstance()) .setText("target creature you control gains haste"), - TargetController.YOU, false + false ); 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")); diff --git a/Mage.Sets/src/mage/cards/e/Electrozoa.java b/Mage.Sets/src/mage/cards/e/Electrozoa.java index e0ada9418eb..56254db6ff3 100644 --- a/Mage.Sets/src/mage/cards/e/Electrozoa.java +++ b/Mage.Sets/src/mage/cards/e/Electrozoa.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.MageInt; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.PayEnergyCost; 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}. this.addAbility(new BeginningOfFirstMainTriggeredAbility( - new TapSourceUnlessPaysEffect(new PayEnergyCost(1)), TargetController.YOU, false + new TapSourceUnlessPaysEffect(new PayEnergyCost(1)), false )); } diff --git a/Mage.Sets/src/mage/cards/e/ElementalResonance.java b/Mage.Sets/src/mage/cards/e/ElementalResonance.java index ac76c39f4ff..a4ff1a3a676 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalResonance.java +++ b/Mage.Sets/src/mage/cards/e/ElementalResonance.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -43,7 +43,7 @@ public final class ElementalResonance extends CardImpl { this.addAbility(ability); // 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) { diff --git a/Mage.Sets/src/mage/cards/e/EmperorOfBones.java b/Mage.Sets/src/mage/cards/e/EmperorOfBones.java index 4f4db61c3af..080153fd15c 100644 --- a/Mage.Sets/src/mage/cards/e/EmperorOfBones.java +++ b/Mage.Sets/src/mage/cards/e/EmperorOfBones.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.OneOrMoreCountersAddedTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; 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. Ability ability = new BeginningOfCombatTriggeredAbility( new ExileTargetEffect().setToSourceExileZone(true), - TargetController.YOU, false + false ); ability.addTarget(new TargetCardInGraveyard(0, 1)); this.addAbility(ability); @@ -115,4 +115,4 @@ class EmperorOfBonesEffect extends OneShotEffect { ), source); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/e/EowynLadyOfRohan.java b/Mage.Sets/src/mage/cards/e/EowynLadyOfRohan.java index 73948cbfab9..b7acdd43458 100644 --- a/Mage.Sets/src/mage/cards/e/EowynLadyOfRohan.java +++ b/Mage.Sets/src/mage/cards/e/EowynLadyOfRohan.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; 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. Ability ability = new BeginningOfCombatTriggeredAbility( - new EowynLadyOfRohanEffect(), TargetController.YOU, false + new EowynLadyOfRohanEffect(), false ); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/e/EowynShieldmaiden.java b/Mage.Sets/src/mage/cards/e/EowynShieldmaiden.java index 0f449eca1c4..1fc5e8bfb1b 100644 --- a/Mage.Sets/src/mage/cards/e/EowynShieldmaiden.java +++ b/Mage.Sets/src/mage/cards/e/EowynShieldmaiden.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -51,8 +51,8 @@ public final class EowynShieldmaiden extends CardImpl { TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility( Zone.BATTLEFIELD, - new CreateTokenEffect(new HumanKnightToken(), 2), - TargetController.YOU, false, false + TargetController.YOU, new CreateTokenEffect(new HumanKnightToken(), 2), + false ); triggeredAbility.addEffect(new ConditionalOneShotEffect( new DrawCardSourceControllerEffect(1), diff --git a/Mage.Sets/src/mage/cards/e/EvidenceExaminer.java b/Mage.Sets/src/mage/cards/e/EvidenceExaminer.java index 218b53802fb..89ef5256030 100644 --- a/Mage.Sets/src/mage/cards/e/EvidenceExaminer.java +++ b/Mage.Sets/src/mage/cards/e/EvidenceExaminer.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.CollectEvidenceTriggeredAbility; import mage.abilities.costs.common.CollectEvidenceCost; 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. this.addAbility(new BeginningOfCombatTriggeredAbility( new DoIfCostPaid(null, new CollectEvidenceCost(4)), - TargetController.YOU, false + false )); // Whenever you collect evidence, investigate. diff --git a/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java b/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java index 676f999ab12..b7a8ad576a4 100644 --- a/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java +++ b/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersPlayersEffect; @@ -49,7 +49,7 @@ public final class EzuriClawOfProgress extends CardImpl { ), 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. - Ability ability = new BeginningOfCombatTriggeredAbility(new EzuriClawOfProgressEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new EzuriClawOfProgressEffect(), false); ability.addTarget(new TargetControlledCreaturePermanent(filter2)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/FangOfThePack.java b/Mage.Sets/src/mage/cards/f/FangOfThePack.java index cbdb79d0e58..7df98269d16 100644 --- a/Mage.Sets/src/mage/cards/f/FangOfThePack.java +++ b/Mage.Sets/src/mage/cards/f/FangOfThePack.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.MeleeAbility; import mage.cards.CardImpl; @@ -32,7 +32,7 @@ public final class FangOfThePack extends CardImpl { this.addAbility(new MeleeAbility()); // 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)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/Ferocification.java b/Mage.Sets/src/mage/cards/f/Ferocification.java index 72cbdb1c80c..bcf4771b4f8 100644 --- a/Mage.Sets/src/mage/cards/f/Ferocification.java +++ b/Mage.Sets/src/mage/cards/f/Ferocification.java @@ -2,7 +2,7 @@ package mage.cards.f; import mage.abilities.Ability; 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.GainAbilityTargetEffect; 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-- // * Target creature you control gets +2/+0 until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility( - new BoostTargetEffect(2, 0), TargetController.YOU, false + new BoostTargetEffect(2, 0), false ); ability.addTarget(new TargetControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/f/FightOrFlight.java b/Mage.Sets/src/mage/cards/f/FightOrFlight.java index ff01aa3b5b3..55a1bcd9a6a 100644 --- a/Mage.Sets/src/mage/cards/f/FightOrFlight.java +++ b/Mage.Sets/src/mage/cards/f/FightOrFlight.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.CantAttackAllEffect; import mage.cards.CardImpl; @@ -35,7 +35,7 @@ public final class FightOrFlight extends CardImpl { 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. - this.addAbility(new BeginningOfCombatTriggeredAbility(new FightOrFlightEffect(), TargetController.OPPONENT, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.OPPONENT, new FightOrFlightEffect(), false)); } private FightOrFlight(final FightOrFlight card) { diff --git a/Mage.Sets/src/mage/cards/f/FightRigging.java b/Mage.Sets/src/mage/cards/f/FightRigging.java index f34e1e40917..cde7a4025ed 100644 --- a/Mage.Sets/src/mage/cards/f/FightRigging.java +++ b/Mage.Sets/src/mage/cards/f/FightRigging.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; 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. Ability ability = new BeginningOfCombatTriggeredAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ); ability.addEffect(new ConditionalOneShotEffect( new HideawayPlayEffect(), condition, "Then if you control a creature " + diff --git a/Mage.Sets/src/mage/cards/f/FireglassMentor.java b/Mage.Sets/src/mage/cards/f/FireglassMentor.java index b7f78dba8f9..50451c81b45 100644 --- a/Mage.Sets/src/mage/cards/f/FireglassMentor.java +++ b/Mage.Sets/src/mage/cards/f/FireglassMentor.java @@ -2,9 +2,8 @@ package mage.cards.f; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfSecondMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfSecondMainTriggeredAbility; import mage.abilities.condition.common.OpponentsLostLifeCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.*; @@ -31,10 +30,8 @@ public final class FireglassMentor extends CardImpl { 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. - //TODO: Currently using postcombat main phase, change it (and most others) to second main phase - this.addAbility(new BeginningOfSecondMainTriggeredAbility( - new ConditionalOneShotEffect(new FireglassMentorEffect(), OpponentsLostLifeCondition.instance), - TargetController.YOU, false)); + this.addAbility(new BeginningOfSecondMainTriggeredAbility(new FireglassMentorEffect(), false) + .withInterveningIf(OpponentsLostLifeCondition.instance)); } private FireglassMentor(final FireglassMentor card) { diff --git a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java index a635555fe0f..9eb548f88ac 100644 --- a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java +++ b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java @@ -2,7 +2,7 @@ package mage.cards.f; import mage.MageInt; import mage.abilities.common.AttacksEachCombatStaticAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -42,8 +42,8 @@ public final class FlamewakePhoenix extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( Zone.GRAVEYARD, - new DoIfCostPaid(new ReturnToBattlefieldUnderOwnerControlSourceEffect(), new ManaCostsImpl<>("{R}")), - TargetController.YOU, false, false), + TargetController.YOU, new DoIfCostPaid(new ReturnToBattlefieldUnderOwnerControlSourceEffect(), new ManaCostsImpl<>("{R}")), + false), FerociousCondition.instance, "Ferocious — 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)); diff --git a/Mage.Sets/src/mage/cards/f/FlorianVoldarenScion.java b/Mage.Sets/src/mage/cards/f/FlorianVoldarenScion.java index 4b9665abe98..18f0f661296 100644 --- a/Mage.Sets/src/mage/cards/f/FlorianVoldarenScion.java +++ b/Mage.Sets/src/mage/cards/f/FlorianVoldarenScion.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.asthought.PlayFromNotOwnHandZoneTargetEffect; 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. // 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) { diff --git a/Mage.Sets/src/mage/cards/f/ForsakenThresher.java b/Mage.Sets/src/mage/cards/f/ForsakenThresher.java index 61090d46ef3..8474fa4df55 100644 --- a/Mage.Sets/src/mage/cards/f/ForsakenThresher.java +++ b/Mage.Sets/src/mage/cards/f/ForsakenThresher.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.MageInt; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.effects.mana.AddManaOfAnyColorEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -24,7 +24,7 @@ public class ForsakenThresher extends CardImpl { this.nightCard = true; // 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) { diff --git a/Mage.Sets/src/mage/cards/f/FourKnocks.java b/Mage.Sets/src/mage/cards/f/FourKnocks.java index 5c2d887c1ee..041b0063144 100644 --- a/Mage.Sets/src/mage/cards/f/FourKnocks.java +++ b/Mage.Sets/src/mage/cards/f/FourKnocks.java @@ -1,6 +1,6 @@ package mage.cards.f; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.VanishingAbility; import mage.cards.CardImpl; @@ -23,7 +23,7 @@ public final class FourKnocks extends CardImpl { // At the beginning of your precombat main phase, draw a card. this.addAbility(new BeginningOfFirstMainTriggeredAbility( - new DrawCardSourceControllerEffect(1), TargetController.YOU, false + new DrawCardSourceControllerEffect(1), false )); } diff --git a/Mage.Sets/src/mage/cards/f/FurybladeVampire.java b/Mage.Sets/src/mage/cards/f/FurybladeVampire.java index 5c57e5c6d78..9f8347103b1 100644 --- a/Mage.Sets/src/mage/cards/f/FurybladeVampire.java +++ b/Mage.Sets/src/mage/cards/f/FurybladeVampire.java @@ -1,10 +1,8 @@ - package mage.cards.f; -import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.continuous.BoostSourceEffect; @@ -12,19 +10,19 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.SubType; import mage.constants.Duration; +import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; + +import java.util.UUID; /** - * * @author LevelX2 */ public final class FurybladeVampire extends CardImpl { public FurybladeVampire(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); this.subtype.add(SubType.VAMPIRE); this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); @@ -33,8 +31,8 @@ public final class FurybladeVampire extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of combat on your turn, you may discard a card. If you do, Furyblade Vampire gets +3/+0 until end of turn. - Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, - new DoIfCostPaid(new BoostSourceEffect(3, 0, Duration.EndOfTurn), new DiscardCardCost(), "Discard a card for {this} to get +3/+0 until end of turn?", true), TargetController.YOU, false, false); + Ability ability = new BeginningOfCombatTriggeredAbility( + new DoIfCostPaid(new BoostSourceEffect(3, 0, Duration.EndOfTurn), new DiscardCardCost(), "Discard a card for {this} to get +3/+0 until end of turn?", true), false); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GaladrielElvenQueen.java b/Mage.Sets/src/mage/cards/g/GaladrielElvenQueen.java index 146dd4a9e36..27298b87bae 100644 --- a/Mage.Sets/src/mage/cards/g/GaladrielElvenQueen.java +++ b/Mage.Sets/src/mage/cards/g/GaladrielElvenQueen.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -38,8 +38,8 @@ public final class GaladrielElvenQueen extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( Zone.BATTLEFIELD, - new GaladrielElvenQueenEffect(), - TargetController.YOU, false, false + TargetController.YOU, new GaladrielElvenQueenEffect(), + false ), GaladrielElvenQueenCondition.instance, "At the beginning of combat on your turn, if another Elf entered the battlefield under " diff --git a/Mage.Sets/src/mage/cards/g/GavelOfTheRighteous.java b/Mage.Sets/src/mage/cards/g/GavelOfTheRighteous.java index e5645cf94fa..06f190e555a 100644 --- a/Mage.Sets/src/mage/cards/g/GavelOfTheRighteous.java +++ b/Mage.Sets/src/mage/cards/g/GavelOfTheRighteous.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.OrCost; @@ -39,7 +39,7 @@ public final class GavelOfTheRighteous extends CardImpl { // At the beginning of combat on your turn, put a charge counter on Gavel of the Righteous. this.addAbility(new BeginningOfCombatTriggeredAbility( - new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, false + new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), false )); // Equipped creature gets +1/+1 for each counter on Gavel of the Righteous. diff --git a/Mage.Sets/src/mage/cards/g/GlissaHeraldOfPredation.java b/Mage.Sets/src/mage/cards/g/GlissaHeraldOfPredation.java index 7e80d3acb52..eb06e24ef74 100644 --- a/Mage.Sets/src/mage/cards/g/GlissaHeraldOfPredation.java +++ b/Mage.Sets/src/mage/cards/g/GlissaHeraldOfPredation.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.keyword.IncubateEffect; @@ -40,7 +40,7 @@ public final class GlissaHeraldOfPredation extends CardImpl { // At the beginning of combat on your turn, choose one -- // * Incubate 2 twice. Ability ability = new BeginningOfCombatTriggeredAbility( - new GlissaHeraldOfPredationIncubateEffect(), TargetController.YOU, false + new GlissaHeraldOfPredationIncubateEffect(), false ); // * Transform all Incubator tokens you control. diff --git a/Mage.Sets/src/mage/cards/g/GloriousEnforcer.java b/Mage.Sets/src/mage/cards/g/GloriousEnforcer.java index 8d1dfcf48fc..9073f354890 100644 --- a/Mage.Sets/src/mage/cards/g/GloriousEnforcer.java +++ b/Mage.Sets/src/mage/cards/g/GloriousEnforcer.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; @@ -41,8 +41,8 @@ public final class GloriousEnforcer extends CardImpl { // At the beginning of each combat, if you have more life than an opponent, Glorious Enforcer gains double strike until end of turn. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( - new GainAbilitySourceEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), - TargetController.ANY, false + TargetController.ANY, new GainAbilitySourceEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), + false ), GloriousEnforcerCondition.instance, "At the beginning of each combat, if you have more life than an opponent, {this} gains double strike until end of turn." diff --git a/Mage.Sets/src/mage/cards/g/GloriousSunrise.java b/Mage.Sets/src/mage/cards/g/GloriousSunrise.java index cdbf55c9926..18801cdbf5a 100644 --- a/Mage.Sets/src/mage/cards/g/GloriousSunrise.java +++ b/Mage.Sets/src/mage/cards/g/GloriousSunrise.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.Mana; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.TapSourceCost; @@ -51,7 +51,7 @@ public final class GloriousSunrise extends CardImpl { // • Creatures you control get +1/+1 and gain trample until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility(new BoostControlledEffect( 1, 1, Duration.EndOfTurn - ).setText("creatures you control get +1/+1"), TargetController.YOU, false); + ).setText("creatures you control get +1/+1"), false); ability.addEffect(new GainAbilityControlledEffect( TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE diff --git a/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java b/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java index fb45202374d..6b6a860ffc6 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java @@ -2,7 +2,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.BlocksOrBlockedByCreatureSourceTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; @@ -48,8 +48,7 @@ public final class GoblinFlotilla extends CardImpl { ); effect.setText("unless you pay {R}, whenever {this} blocks or becomes blocked by a creature this combat, that creature gains first strike until end of turn."); this.addAbility(new BeginningOfCombatTriggeredAbility( - effect, - TargetController.ANY, + TargetController.ANY, effect, false )); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java index feeebb5a38f..08fe4fb4bb5 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java @@ -2,7 +2,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.dynamicvalue.common.StaticValue; @@ -50,7 +50,7 @@ public final class GoblinRabblemaster extends CardImpl { this.addAbility(new SimpleStaticAbility(new AttacksIfAbleAllEffect(otherGoblinFilter))); // At the beginning of combat on your turn, create a 1/1 red Goblin creature token with haste. - this.addAbility(new BeginningOfCombatTriggeredAbility(new CreateTokenEffect(new GoblinToken(true)), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new CreateTokenEffect(new GoblinToken(true)), false)); // When Goblin Rabblemaster attacks, it gets +1/+0 until end of turn for each other attacking Goblin. this.addAbility(new AttacksTriggeredAbility(new BoostSourceEffect(new PermanentsOnBattlefieldCount(attackingFilter), StaticValue.get(0), Duration.EndOfTurn, "it"), false)); diff --git a/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java b/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java index 97331b80c88..a8a1582965a 100644 --- a/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java +++ b/Mage.Sets/src/mage/cards/g/GodPharaohsGift.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.MageObject; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.HasteAbility; @@ -35,7 +35,7 @@ public final class GodPharaohsGift extends CardImpl { // At the beginning of combat on your turn, you may exile a creature card from your graveyard. If you do, create a token that's a copy of that card, except it's a 4/4 black Zombie. It gains haste until end of turn. this.addAbility(new BeginningOfCombatTriggeredAbility( - new GodPharaohsGiftEffect(), TargetController.YOU, false + new GodPharaohsGiftEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/g/GrafRats.java b/Mage.Sets/src/mage/cards/g/GrafRats.java index 93de703ed8c..e0c3383d384 100644 --- a/Mage.Sets/src/mage/cards/g/GrafRats.java +++ b/Mage.Sets/src/mage/cards/g/GrafRats.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.MeldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -34,7 +34,7 @@ public final class GrafRats extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility(new MeldEffect( "Midnight Scavengers", "Chittering Host" - ), TargetController.YOU, false), condition, "At the beginning " + + ), false), condition, "At the beginning " + "of combat on your turn, if you both own and control {this} and a creature " + "named Midnight Scavengers, exile them, then meld them into Chittering Host." )); @@ -48,4 +48,4 @@ public final class GrafRats extends CardImpl { public GrafRats copy() { return new GrafRats(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/g/GraftedSkullcap.java b/Mage.Sets/src/mage/cards/g/GraftedSkullcap.java index 7c2ac26cfd4..0aa6c3fde4b 100644 --- a/Mage.Sets/src/mage/cards/g/GraftedSkullcap.java +++ b/Mage.Sets/src/mage/cards/g/GraftedSkullcap.java @@ -2,7 +2,7 @@ package mage.cards.g; import java.util.UUID; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.discard.DiscardHandControllerEffect; @@ -23,7 +23,7 @@ public final class GraftedSkullcap extends CardImpl { // At the beginning of your draw step, draw an additional card. this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1).setText("draw an additional card"), - TargetController.YOU, false)); + false)); // At the beginning of your end step, discard your hand. this.addAbility(new BeginningOfEndStepTriggeredAbility(new DiscardHandControllerEffect(), TargetController.YOU, false)); diff --git a/Mage.Sets/src/mage/cards/g/GreasefangOkibaBoss.java b/Mage.Sets/src/mage/cards/g/GreasefangOkibaBoss.java index b9f5b03cb46..16943afe5f5 100644 --- a/Mage.Sets/src/mage/cards/g/GreasefangOkibaBoss.java +++ b/Mage.Sets/src/mage/cards/g/GreasefangOkibaBoss.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.Effect; @@ -44,7 +44,7 @@ public final class GreasefangOkibaBoss extends CardImpl { this.toughness = new MageInt(3); // At the beginning of combat on your turn, return target Vehicle card from your graveyard to the battlefield. It gains haste. Return it your hand at beginning of the next end step. - Ability ability = new BeginningOfCombatTriggeredAbility(new GreasefangOkibaBossEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new GreasefangOkibaBossEffect(), false); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GristVoraciousLarva.java b/Mage.Sets/src/mage/cards/g/GristVoraciousLarva.java index 95841e4592a..e685b4684d1 100644 --- a/Mage.Sets/src/mage/cards/g/GristVoraciousLarva.java +++ b/Mage.Sets/src/mage/cards/g/GristVoraciousLarva.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.MageInt; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.EntersBattlefieldThisOrAnotherTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; diff --git a/Mage.Sets/src/mage/cards/h/HadanasClimb.java b/Mage.Sets/src/mage/cards/h/HadanasClimb.java index 7c0ac2a82be..05382f556c7 100644 --- a/Mage.Sets/src/mage/cards/h/HadanasClimb.java +++ b/Mage.Sets/src/mage/cards/h/HadanasClimb.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.TargetHasCounterCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.TransformSourceEffect; @@ -32,7 +32,7 @@ public final class HadanasClimb extends CardImpl { // At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. Then if that creature has three or more +1/+1 counters on it, transform Hadana's Climb. this.addAbility(new TransformAbility()); - Ability ability = new BeginningOfCombatTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false); ability.addEffect(new ConditionalOneShotEffect(new TransformSourceEffect(), new TargetHasCounterCondition(CounterType.P1P1, 3, Integer.MAX_VALUE), "Then if that creature has three or more +1/+1 counters on it, transform {this}")); ability.addTarget(new TargetControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/h/HakbalOfTheSurgingSoul.java b/Mage.Sets/src/mage/cards/h/HakbalOfTheSurgingSoul.java index 8acf09a95e9..a82b396c5f8 100644 --- a/Mage.Sets/src/mage/cards/h/HakbalOfTheSurgingSoul.java +++ b/Mage.Sets/src/mage/cards/h/HakbalOfTheSurgingSoul.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.keyword.ExploreSourceEffect; import mage.cards.Card; @@ -37,7 +37,7 @@ public final class HakbalOfTheSurgingSoul extends CardImpl { this.toughness = new MageInt(3); // At the beginning of combat on your turn, each Merfolk creature you control explores. - this.addAbility(new BeginningOfCombatTriggeredAbility(new HakbalOfTheSurgingSoulExploreEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new HakbalOfTheSurgingSoulExploreEffect(), false)); // Whenever Hakbal of the Surging Soul attacks, you may put a land card from your hand onto the battlefield. If you don't, draw a card. this.addAbility(new AttacksTriggeredAbility(new HakbalOfTheSurgingSoulEffect(), false)); diff --git a/Mage.Sets/src/mage/cards/h/HalanaAndAlenaPartners.java b/Mage.Sets/src/mage/cards/h/HalanaAndAlenaPartners.java index 8a2c2c70b9f..690bf56d85b 100644 --- a/Mage.Sets/src/mage/cards/h/HalanaAndAlenaPartners.java +++ b/Mage.Sets/src/mage/cards/h/HalanaAndAlenaPartners.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; @@ -42,7 +42,7 @@ public final class HalanaAndAlenaPartners extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance(0), SourcePermanentPowerValue.NOT_NEGATIVE) .setText("put X +1/+1 counters on another target creature you control, where X is {this}'s power"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect( HasteAbility.getInstance(), Duration.EndOfTurn diff --git a/Mage.Sets/src/mage/cards/h/HalvarGodOfBattle.java b/Mage.Sets/src/mage/cards/h/HalvarGodOfBattle.java index 16d294a0a0e..d8a6968651a 100644 --- a/Mage.Sets/src/mage/cards/h/HalvarGodOfBattle.java +++ b/Mage.Sets/src/mage/cards/h/HalvarGodOfBattle.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -68,7 +68,7 @@ public final class HalvarGodOfBattle extends ModalDoubleFacedCard { )); // At the beginning of each combat, you may attach target Aura or Equipment attached to a creature you control to target creature you control. - Ability ability = new BeginningOfCombatTriggeredAbility(new HalvarGodOfBattleEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, new HalvarGodOfBattleEffect(), false); ability.addTarget(new TargetPermanent(filter2)); ability.addTarget(new TargetControlledCreaturePermanent()); this.getLeftHalfCard().addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HanSolo.java b/Mage.Sets/src/mage/cards/h/HanSolo.java index 97355dc2e4b..fe7d6413af0 100644 --- a/Mage.Sets/src/mage/cards/h/HanSolo.java +++ b/Mage.Sets/src/mage/cards/h/HanSolo.java @@ -3,7 +3,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -42,7 +42,7 @@ public final class HanSolo extends CardImpl { // At the beginning of each combat, target starship you control gets +2/+2 and gains haste until end of turn. Effect effect = new BoostTargetEffect(2, 2, Duration.EndOfTurn); effect.setText("target Starship you control gets +2/+2"); - BeginningOfCombatTriggeredAbility ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.ANY, false, false); + BeginningOfCombatTriggeredAbility ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, effect, false); effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gains haste until end of turn"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/h/HandOfVecna.java b/Mage.Sets/src/mage/cards/h/HandOfVecna.java index 4010deea503..885e1476604 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfVecna.java +++ b/Mage.Sets/src/mage/cards/h/HandOfVecna.java @@ -1,7 +1,7 @@ package mage.cards.h; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.dynamicvalue.common.CardsInControllerHandCount; import mage.abilities.effects.OneShotEffect; @@ -40,7 +40,7 @@ public final class HandOfVecna extends CardImpl { // At the beginning of combat on your turn, equipped creature or a creature you control named Vecna gets +X/+X until end of turn, where X is the number of cards in your hand. this.addAbility(new BeginningOfCombatTriggeredAbility( - new HandOfVecnaEffect(), TargetController.YOU, false + new HandOfVecnaEffect(), false )); // Equip—Pay 1 life for each card in your hand. diff --git a/Mage.Sets/src/mage/cards/h/HaradrimSpearmaster.java b/Mage.Sets/src/mage/cards/h/HaradrimSpearmaster.java index 3ac5db3e98c..de620ef06fe 100644 --- a/Mage.Sets/src/mage/cards/h/HaradrimSpearmaster.java +++ b/Mage.Sets/src/mage/cards/h/HaradrimSpearmaster.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; @@ -33,7 +33,7 @@ public final class HaradrimSpearmaster extends CardImpl { // At the beginning of combat on your turn, another target creature you control gets +1/+0 until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility( - new BoostTargetEffect(1, 0), TargetController.YOU, false + new BoostTargetEffect(1, 0), false ); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HarriedDronesmith.java b/Mage.Sets/src/mage/cards/h/HarriedDronesmith.java index e5b9b08675b..866cd51b5e7 100644 --- a/Mage.Sets/src/mage/cards/h/HarriedDronesmith.java +++ b/Mage.Sets/src/mage/cards/h/HarriedDronesmith.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeTargetEffect; @@ -33,7 +33,7 @@ public final class HarriedDronesmith extends CardImpl { // At the beginning of combat on your turn, create a 1/1 colorless Thopter artifact creature token with flying. It gains haste until end of turn. Sacrifice it at the beginning of your next end step. this.addAbility(new BeginningOfCombatTriggeredAbility( - new HarriedDronesmithEffect(), TargetController.YOU, false + new HarriedDronesmithEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/h/HarvesttideSentry.java b/Mage.Sets/src/mage/cards/h/HarvesttideSentry.java index 38c8683bfdb..6f78a67d4fc 100644 --- a/Mage.Sets/src/mage/cards/h/HarvesttideSentry.java +++ b/Mage.Sets/src/mage/cards/h/HarvesttideSentry.java @@ -1,7 +1,7 @@ package mage.cards.h; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; @@ -37,7 +37,7 @@ public final class HarvesttideSentry extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new CantBeBlockedByCreaturesSourceEffect(filter, Duration.EndOfTurn), - TargetController.YOU, false + false ), CovenCondition.instance, "At the beginning of combat on your turn, " + "if you control three or more creatures with different powers, " + "{this} can't be blocked by creatures with power 2 or less this turn." diff --git a/Mage.Sets/src/mage/cards/h/HazoretsFavor.java b/Mage.Sets/src/mage/cards/h/HazoretsFavor.java index 6031ef9f770..a5047eb488a 100644 --- a/Mage.Sets/src/mage/cards/h/HazoretsFavor.java +++ b/Mage.Sets/src/mage/cards/h/HazoretsFavor.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -36,7 +36,7 @@ public final class HazoretsFavor extends CardImpl { // If you do, sacrifice it at the beginning of the next end step. Effect effect = new BoostTargetEffect(2, 0, Duration.EndOfTurn); effect.setText("you may have target creature you control get +2/+0"); - Ability ability = new BeginningOfCombatTriggeredAbility(effect, TargetController.YOU, true); + Ability ability = new BeginningOfCombatTriggeredAbility(effect, true); effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn); effect.setText(" and gain haste until end of turn"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/h/HeightenedAwareness.java b/Mage.Sets/src/mage/cards/h/HeightenedAwareness.java index 3f1b8208457..884dde62cc9 100644 --- a/Mage.Sets/src/mage/cards/h/HeightenedAwareness.java +++ b/Mage.Sets/src/mage/cards/h/HeightenedAwareness.java @@ -1,9 +1,7 @@ package mage.cards.h; -import java.util.UUID; - import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.discard.DiscardHandControllerEffect; import mage.cards.CardImpl; @@ -11,21 +9,23 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; +import java.util.UUID; + /** - * * @author LoneFox */ public final class HeightenedAwareness extends CardImpl { public HeightenedAwareness(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}"); // As Heightened Awareness enters the battlefield, discard your hand. this.addAbility(new AsEntersBattlefieldAbility(new DiscardHandControllerEffect())); + // At the beginning of your draw step, draw an additional card. this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1) .setText("draw an additional card"), - TargetController.YOU, false)); + false)); } private HeightenedAwareness(final HeightenedAwareness card) { diff --git a/Mage.Sets/src/mage/cards/h/HelmOfTheHost.java b/Mage.Sets/src/mage/cards/h/HelmOfTheHost.java index c7f8d817b61..8ae877cd0f5 100644 --- a/Mage.Sets/src/mage/cards/h/HelmOfTheHost.java +++ b/Mage.Sets/src/mage/cards/h/HelmOfTheHost.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; @@ -34,7 +34,6 @@ public final class HelmOfTheHost extends CardImpl { // At the beginning of combat on your turn, create a token that's a copy of equipped creature, except the token isn't legendary if equipped creature is legendary. That token gains haste. TriggeredAbility ability = new BeginningOfCombatTriggeredAbility( new HelmOfTheHostEffect(), - TargetController.YOU, false ); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HenrikaDomnathi.java b/Mage.Sets/src/mage/cards/h/HenrikaDomnathi.java index 820fbaea1d0..8700b70a93a 100644 --- a/Mage.Sets/src/mage/cards/h/HenrikaDomnathi.java +++ b/Mage.Sets/src/mage/cards/h/HenrikaDomnathi.java @@ -3,7 +3,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.effects.common.SacrificeAllEffect; @@ -40,7 +40,7 @@ public final class HenrikaDomnathi extends CardImpl { // At the beginning of combat on your turn, choose one that hasn't been chosen — // • Each player sacrifices a creature. - Ability ability = new BeginningOfCombatTriggeredAbility(new SacrificeAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new SacrificeAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE), false); ability.setModeTag("each player sacrifice"); ability.getModes().setLimitUsageByOnce(false); diff --git a/Mage.Sets/src/mage/cards/h/HollowhengeHuntmaster.java b/Mage.Sets/src/mage/cards/h/HollowhengeHuntmaster.java index 251ab14f86e..cba9736b988 100644 --- a/Mage.Sets/src/mage/cards/h/HollowhengeHuntmaster.java +++ b/Mage.Sets/src/mage/cards/h/HollowhengeHuntmaster.java @@ -1,7 +1,7 @@ package mage.cards.h; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.counter.AddCountersAllEffect; @@ -46,7 +46,7 @@ public final class HollowhengeHuntmaster extends CardImpl { new AddCountersAllEffect( CounterType.P1P1.createInstance(2), StaticFilters.FILTER_CONTROLLED_CREATURE - ), TargetController.YOU, false + ), false )); // Nightbound diff --git a/Mage.Sets/src/mage/cards/h/HotPursuit.java b/Mage.Sets/src/mage/cards/h/HotPursuit.java index 6967b266a4e..6f9ea2cc78b 100644 --- a/Mage.Sets/src/mage/cards/h/HotPursuit.java +++ b/Mage.Sets/src/mage/cards/h/HotPursuit.java @@ -1,7 +1,7 @@ package mage.cards.h; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -56,7 +56,7 @@ public final class HotPursuit extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new GainControlAllUntapGainHasteEffect(filter), - TargetController.YOU, false + false ), HotPursuitCondition.instance, "At the beginning of combat on your turn, " + "if two or more players have lost the game, gain control of all goaded and/or " + "suspected creatures until end of turn. Untap them. They gain haste until end of turn." diff --git a/Mage.Sets/src/mage/cards/h/HowlingMoon.java b/Mage.Sets/src/mage/cards/h/HowlingMoon.java index 1a489ce69b3..f5c13aec028 100644 --- a/Mage.Sets/src/mage/cards/h/HowlingMoon.java +++ b/Mage.Sets/src/mage/cards/h/HowlingMoon.java @@ -1,7 +1,7 @@ package mage.cards.h; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.CastSecondSpellTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -35,7 +35,7 @@ public final class HowlingMoon extends CardImpl { // At the beginning of combat on your turn, target Wolf or Werewolf you control gets +2/+2 until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(2, 2, Duration.EndOfTurn), - TargetController.YOU, false + false ); ability.addTarget(new TargetControlledPermanent(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HulkingRaptor.java b/Mage.Sets/src/mage/cards/h/HulkingRaptor.java index a8a8535984d..0d224eb91e3 100644 --- a/Mage.Sets/src/mage/cards/h/HulkingRaptor.java +++ b/Mage.Sets/src/mage/cards/h/HulkingRaptor.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.Mana; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.mana.BasicManaEffect; import mage.abilities.keyword.WardAbility; @@ -31,7 +31,7 @@ public final class HulkingRaptor extends CardImpl { // At the beginning of your precombat main phase, add {G}{G}. this.addAbility(new BeginningOfFirstMainTriggeredAbility( - new BasicManaEffect(Mana.GreenMana(2)), TargetController.YOU, false + new BasicManaEffect(Mana.GreenMana(2)), false )); } diff --git a/Mage.Sets/src/mage/cards/i/ImotekhTheStormlord.java b/Mage.Sets/src/mage/cards/i/ImotekhTheStormlord.java index 843b6f9a50e..282ad1a6179 100644 --- a/Mage.Sets/src/mage/cards/i/ImotekhTheStormlord.java +++ b/Mage.Sets/src/mage/cards/i/ImotekhTheStormlord.java @@ -2,7 +2,7 @@ package mage.cards.i; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.CardsLeaveGraveyardTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -54,7 +54,7 @@ public final class ImotekhTheStormlord extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(2, 2) .setText("another target artifact creature you control gets +2/+2"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect(new MenaceAbility(false)) .setText("and gains menace until end of turn")); diff --git a/Mage.Sets/src/mage/cards/i/InnkeepersTalent.java b/Mage.Sets/src/mage/cards/i/InnkeepersTalent.java index ee14259eb9e..8036a6c71ab 100644 --- a/Mage.Sets/src/mage/cards/i/InnkeepersTalent.java +++ b/Mage.Sets/src/mage/cards/i/InnkeepersTalent.java @@ -1,7 +1,7 @@ package mage.cards.i; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.ReplacementEffectImpl; @@ -46,7 +46,7 @@ public final class InnkeepersTalent extends CardImpl { this.addAbility(new ClassReminderAbility()); // At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. - Ability ability = new BeginningOfCombatTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/i/InversionBehemoth.java b/Mage.Sets/src/mage/cards/i/InversionBehemoth.java index bb8a7b4a24b..e8c88c695d0 100644 --- a/Mage.Sets/src/mage/cards/i/InversionBehemoth.java +++ b/Mage.Sets/src/mage/cards/i/InversionBehemoth.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.SwitchPowerToughnessTargetEffect; import mage.constants.Duration; import mage.constants.SubType; @@ -27,7 +27,7 @@ public final class InversionBehemoth extends CardImpl { this.toughness = new MageInt(9); // At the beginning of combat on your turn, switch the power and toughness of each of any number of target creatures until end of turn. - Ability ability = new BeginningOfCombatTriggeredAbility(new SwitchPowerToughnessTargetEffect(Duration.EndOfTurn).setText("switch the power and toughness of each of any number of target creatures until end of turn."), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new SwitchPowerToughnessTargetEffect(Duration.EndOfTurn).setText("switch the power and toughness of each of any number of target creatures until end of turn."), false); ability.addTarget(new TargetCreaturePermanent(0, Integer.MAX_VALUE)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java b/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java index 7472b551896..e506f967fbe 100644 --- a/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java +++ b/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java @@ -4,7 +4,7 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; import mage.abilities.costs.common.TapSourceCost; diff --git a/Mage.Sets/src/mage/cards/j/JarJarBinks.java b/Mage.Sets/src/mage/cards/j/JarJarBinks.java index f3e78ab13ce..b8f4d666785 100644 --- a/Mage.Sets/src/mage/cards/j/JarJarBinks.java +++ b/Mage.Sets/src/mage/cards/j/JarJarBinks.java @@ -4,7 +4,7 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.CantBlockAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.ContinuousEffect; @@ -44,7 +44,7 @@ public final class JarJarBinks extends CardImpl { this.addAbility(ability); // At the beggining of combat on your turn, tap the creature you control with the highest power. If two or more creatures are tied for the greatest power, you choose one of them. - this.addAbility(new BeginningOfCombatTriggeredAbility(new JarJarBinksTapEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new JarJarBinksTapEffect(), false)); } private JarJarBinks(final JarJarBinks card) { diff --git a/Mage.Sets/src/mage/cards/j/Johan.java b/Mage.Sets/src/mage/cards/j/Johan.java index 6987ca96528..48d70fce468 100644 --- a/Mage.Sets/src/mage/cards/j/Johan.java +++ b/Mage.Sets/src/mage/cards/j/Johan.java @@ -4,10 +4,9 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.CompoundCondition; import mage.abilities.condition.Condition; -import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.SourceOnBattlefieldCondition; import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -41,7 +40,7 @@ public final class Johan extends CardImpl { Condition condition = new CompoundCondition("if {this} is untapped", SourceTappedCondition.UNTAPPED, SourceOnBattlefieldCondition.instance); - Ability ability = new BeginningOfCombatTriggeredAbility(new CantAttackSourceEffect(Duration.EndOfCombat).setText("you may have {this} gain \"{this} can't attack\" until end of combat"), TargetController.YOU, true); + Ability ability = new BeginningOfCombatTriggeredAbility(new CantAttackSourceEffect(Duration.EndOfCombat).setText("you may have {this} gain \"{this} can't attack\" until end of combat"), true); ability.addEffect(new ConditionalContinuousEffect( new GainAbilityControlledEffect(JohanVigilanceAbility.getInstance(), Duration.EndOfCombat, new FilterControlledCreaturePermanent("creatures")), condition, diff --git a/Mage.Sets/src/mage/cards/j/JolraelVoiceOfZhalfir.java b/Mage.Sets/src/mage/cards/j/JolraelVoiceOfZhalfir.java index b5bfa6f09cd..276017c650f 100644 --- a/Mage.Sets/src/mage/cards/j/JolraelVoiceOfZhalfir.java +++ b/Mage.Sets/src/mage/cards/j/JolraelVoiceOfZhalfir.java @@ -2,7 +2,7 @@ package mage.cards.j; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DealsDamageToAPlayerAllTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -50,7 +50,7 @@ public final class JolraelVoiceOfZhalfir extends CardImpl { // At the beginning of combat on your turn, up to one target land you control becomes an X/X green and blue Bird creature with flying and haste until end of turn, where X is the number of cards in your hand. It's still a land. Ability ability = new BeginningOfCombatTriggeredAbility( - new JolraelVoiceOfZhalfirEffect(), TargetController.YOU, false + new JolraelVoiceOfZhalfirEffect(), false ); ability.addTarget(new TargetPermanent( 0, 1, StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND diff --git a/Mage.Sets/src/mage/cards/j/JubilantMascot.java b/Mage.Sets/src/mage/cards/j/JubilantMascot.java index 2a21d290693..5b2a939b1c5 100644 --- a/Mage.Sets/src/mage/cards/j/JubilantMascot.java +++ b/Mage.Sets/src/mage/cards/j/JubilantMascot.java @@ -4,7 +4,7 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.counter.AddCountersTargetEffect; @@ -43,7 +43,7 @@ public final class JubilantMascot extends CardImpl { new AddCountersTargetEffect(CounterType.P1P1.createInstance()) .setText("support 2"), new ManaCostsImpl<>("{3}{W}") - ), TargetController.YOU, false); + ), false); ability.addTarget(new TargetCreaturePermanent(0, 2, filter, false)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/j/JynErsoAndCassianAndor.java b/Mage.Sets/src/mage/cards/j/JynErsoAndCassianAndor.java index c0889803ebe..c421820afca 100644 --- a/Mage.Sets/src/mage/cards/j/JynErsoAndCassianAndor.java +++ b/Mage.Sets/src/mage/cards/j/JynErsoAndCassianAndor.java @@ -3,7 +3,7 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; 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.GainAbilityTargetEffect; import mage.abilities.keyword.HasteAbility; @@ -31,7 +31,7 @@ public final class JynErsoAndCassianAndor extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 0, Duration.EndOfTurn) .setText("target creature gets +1/+0"), - TargetController.YOU, false); + false); ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn) .setText("and gains haste until end of turn")); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/j/JyotiMoagAncient.java b/Mage.Sets/src/mage/cards/j/JyotiMoagAncient.java index 532e5ca548f..3c7f874c4d2 100644 --- a/Mage.Sets/src/mage/cards/j/JyotiMoagAncient.java +++ b/Mage.Sets/src/mage/cards/j/JyotiMoagAncient.java @@ -1,7 +1,7 @@ package mage.cards.j; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.dynamicvalue.common.CommanderCastFromCommandZoneValue; import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue; @@ -45,8 +45,8 @@ public final class JyotiMoagAncient extends CardImpl { // At the beginning of each combat, land creatures you control get +X/+X until end of turn, where X is Jyoti's power. this.addAbility(new BeginningOfCombatTriggeredAbility( - new BoostControlledEffect(SourcePermanentPowerValue.NOT_NEGATIVE, SourcePermanentPowerValue.NOT_NEGATIVE, Duration.EndOfTurn, filter, false), - TargetController.ANY, false)); + TargetController.ANY, new BoostControlledEffect(SourcePermanentPowerValue.NOT_NEGATIVE, SourcePermanentPowerValue.NOT_NEGATIVE, Duration.EndOfTurn, filter, false), + false)); } private JyotiMoagAncient(final JyotiMoagAncient card) { diff --git a/Mage.Sets/src/mage/cards/k/KamahlHeartOfKrosa.java b/Mage.Sets/src/mage/cards/k/KamahlHeartOfKrosa.java index 49d6c3f0300..78db391b6d1 100644 --- a/Mage.Sets/src/mage/cards/k/KamahlHeartOfKrosa.java +++ b/Mage.Sets/src/mage/cards/k/KamahlHeartOfKrosa.java @@ -2,7 +2,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; @@ -35,7 +35,7 @@ public final class KamahlHeartOfKrosa extends CardImpl { // At the beginning of combat on your turn, creatures you control get +3/+3 and gain trample until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility(new BoostControlledEffect( 3, 3, Duration.EndOfTurn - ).setText("creatures you control get +3/+3"), TargetController.YOU, false); + ).setText("creatures you control get +3/+3"), false); ability.addEffect(new GainAbilityControlledEffect( TrampleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java b/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java index 7807a3d948c..e4c87b2da38 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java @@ -1,7 +1,7 @@ package mage.cards.k; import mage.MageInt; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.effects.common.DrawCardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,8 @@ public final class KamiOfTheCrescentMoon extends CardImpl { this.toughness = new MageInt(3); // At the beginning of each player's draw step, that player draws an additional card. - this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1).setText("that player draws an additional card"), TargetController.ANY, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new DrawCardTargetEffect(1).setText("that player draws an additional card"), + false)); } private KamiOfTheCrescentMoon(final KamiOfTheCrescentMoon card) { diff --git a/Mage.Sets/src/mage/cards/k/KirriTalentedSprout.java b/Mage.Sets/src/mage/cards/k/KirriTalentedSprout.java index 679d1076f49..d31b42be6c9 100644 --- a/Mage.Sets/src/mage/cards/k/KirriTalentedSprout.java +++ b/Mage.Sets/src/mage/cards/k/KirriTalentedSprout.java @@ -2,7 +2,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; @@ -51,8 +51,8 @@ public final class KirriTalentedSprout extends CardImpl { ))); // At the beginning of your postcombat main phase, return target Plant, Treefolk, or land card from your graveyard to your hand. - Ability ability = new BeginningOfPostCombatMainTriggeredAbility( - new ReturnFromGraveyardToHandTargetEffect(), TargetController.YOU, false + Ability ability = new BeginningOfPostcombatMainTriggeredAbility( + TargetController.YOU, new ReturnFromGraveyardToHandTargetEffect(), false ); ability.addTarget(new TargetCardInYourGraveyard(filter2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KittKantoMayhemDiva.java b/Mage.Sets/src/mage/cards/k/KittKantoMayhemDiva.java index b0527cadfdf..78c3b26b173 100644 --- a/Mage.Sets/src/mage/cards/k/KittKantoMayhemDiva.java +++ b/Mage.Sets/src/mage/cards/k/KittKantoMayhemDiva.java @@ -1,7 +1,7 @@ package mage.cards.k; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.TapTargetCost; @@ -60,12 +60,12 @@ public final class KittKantoMayhemDiva extends CardImpl { )); ability.addEffect(new GoadTargetEffect().setText("Goad that creature")); ability.addTarget(new TargetPermanent(filter)); - this.addAbility(new BeginningOfCombatTriggeredAbility(new DoWhenCostPaid( + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.EACH_PLAYER, new DoWhenCostPaid( ability, new TapTargetCost(new TargetControlledPermanent( 2, StaticFilters.FILTER_CONTROLLED_UNTAPPED_CREATURES )), "Tap two untapped creatures you control?" - ), TargetController.EACH_PLAYER, false)); + ), false)); } private KittKantoMayhemDiva(final KittKantoMayhemDiva card) { diff --git a/Mage.Sets/src/mage/cards/k/KlothysGodOfDestiny.java b/Mage.Sets/src/mage/cards/k/KlothysGodOfDestiny.java index a2c145866dd..c3b79fd7103 100644 --- a/Mage.Sets/src/mage/cards/k/KlothysGodOfDestiny.java +++ b/Mage.Sets/src/mage/cards/k/KlothysGodOfDestiny.java @@ -3,7 +3,7 @@ package mage.cards.k; import mage.MageInt; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.OneShotEffect; @@ -42,7 +42,7 @@ public final class KlothysGodOfDestiny extends CardImpl { // At the beginning of your precombat main phase, exile target card from a graveyard. If it was a land card, add {R} or {G}. Otherwise, you gain 2 life and Klothys deals 2 damage to each opponent. Ability ability = new BeginningOfFirstMainTriggeredAbility( - new KlothysGodOfDestinyEffect(), TargetController.YOU, false + new KlothysGodOfDestinyEffect(), false ); ability.addTarget(new TargetCardInGraveyard()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KnightRampager.java b/Mage.Sets/src/mage/cards/k/KnightRampager.java index 7c23744be11..a9e854688e1 100644 --- a/Mage.Sets/src/mage/cards/k/KnightRampager.java +++ b/Mage.Sets/src/mage/cards/k/KnightRampager.java @@ -2,7 +2,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.combat.AttackIfAbleTargetRandomOpponentSourceEffect; @@ -33,7 +33,7 @@ public final class KnightRampager extends CardImpl { // Frenzied Rampage — At the beginning of combat on your turn, choose an opponent at random. Knight Rampager attacks that player this combat if able. this.addAbility(new BeginningOfCombatTriggeredAbility( - new AttackIfAbleTargetRandomOpponentSourceEffect(), TargetController.YOU, false + new AttackIfAbleTargetRandomOpponentSourceEffect(), false ).withFlavorWord("Frenzied Rampage")); // When Knight Rampager dies, it deals 4 damage to target opponent chosen at random. diff --git a/Mage.Sets/src/mage/cards/k/KotoriPilotProdigy.java b/Mage.Sets/src/mage/cards/k/KotoriPilotProdigy.java index 645a79c86de..010a77e9cb0 100644 --- a/Mage.Sets/src/mage/cards/k/KotoriPilotProdigy.java +++ b/Mage.Sets/src/mage/cards/k/KotoriPilotProdigy.java @@ -2,7 +2,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -48,7 +48,7 @@ public final class KotoriPilotProdigy extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new GainAbilityTargetEffect(LifelinkAbility.getInstance()) .setText("target artifact creature you control gains lifelink"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect( VigilanceAbility.getInstance() diff --git a/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java b/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java index 6bbdf631574..6bba24fd31c 100644 --- a/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java +++ b/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java @@ -6,7 +6,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.EndOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.Condition; diff --git a/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java b/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java index 6419022ef8f..fb20c3328f4 100644 --- a/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java +++ b/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; @@ -38,7 +38,7 @@ public final class LagomosHandOfHatred extends CardImpl { this.toughness = new MageInt(3); // At the beginning of combat on your turn, create a 2/1 red Elemental creature token with trample and haste. Sacrifice it at the beginning of the next end step. - this.addAbility(new BeginningOfCombatTriggeredAbility(new LagomosHandOfHatredEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new LagomosHandOfHatredEffect(), false)); // {T}: Search your library for a card, put it into your hand, then shuffle. Activate only if five or more creatures died this turn. this.addAbility(new ConditionalActivatedAbility( diff --git a/Mage.Sets/src/mage/cards/l/LandoCalrissian.java b/Mage.Sets/src/mage/cards/l/LandoCalrissian.java index 71e08930936..4be46578402 100644 --- a/Mage.Sets/src/mage/cards/l/LandoCalrissian.java +++ b/Mage.Sets/src/mage/cards/l/LandoCalrissian.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -42,7 +42,7 @@ public final class LandoCalrissian extends CardImpl { // At the beggining of each combat, target Starship you control gets +2/+2 and gains vigilance until end of turn. Effect effect = new BoostTargetEffect(2, 2, Duration.EndOfTurn); effect.setText("target Starship you control gets +2/+2"); - BeginningOfCombatTriggeredAbility ability = new BeginningOfCombatTriggeredAbility(effect, TargetController.ANY, false); + BeginningOfCombatTriggeredAbility ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, effect, false); effect = new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn); effect.setText("and gains vigilance until end of turn"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/l/LegionWarboss.java b/Mage.Sets/src/mage/cards/l/LegionWarboss.java index 94274c14e5b..e379ebfb55d 100644 --- a/Mage.Sets/src/mage/cards/l/LegionWarboss.java +++ b/Mage.Sets/src/mage/cards/l/LegionWarboss.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.StaticAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; @@ -44,7 +44,7 @@ public final class LegionWarboss extends CardImpl { // At the beginning of combat on your turn, create a 1/1 red Goblin creature token. That token gains haste until end of turn and attacks this combat if able. this.addAbility(new BeginningOfCombatTriggeredAbility( new LegionWarbossEffect(), - TargetController.YOU, false + false )); } diff --git a/Mage.Sets/src/mage/cards/l/LeinoreAutumnSovereign.java b/Mage.Sets/src/mage/cards/l/LeinoreAutumnSovereign.java index c17f14ebbf2..3956b2a1747 100644 --- a/Mage.Sets/src/mage/cards/l/LeinoreAutumnSovereign.java +++ b/Mage.Sets/src/mage/cards/l/LeinoreAutumnSovereign.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -33,7 +33,7 @@ public final class LeinoreAutumnSovereign extends CardImpl { // Coven — At the beginning of combat on your turn, put a +1/+1 counter on up to one target creature you control. Then if you control three or more creatures with different powers, draw a card. Ability ability = new BeginningOfCombatTriggeredAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ); ability.addEffect(new ConditionalOneShotEffect( new DrawCardSourceControllerEffect(1), CovenCondition.instance, diff --git a/Mage.Sets/src/mage/cards/l/LeoninVanguard.java b/Mage.Sets/src/mage/cards/l/LeoninVanguard.java index d20f7fc55fa..3af88dd8667 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninVanguard.java +++ b/Mage.Sets/src/mage/cards/l/LeoninVanguard.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; @@ -35,7 +35,7 @@ public final class LeoninVanguard extends CardImpl { Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new BoostSourceEffect(1, 1, Duration.EndOfTurn), - TargetController.YOU, false + false ), new PermanentsOnTheBattlefieldCondition( StaticFilters.FILTER_CONTROLLED_CREATURES, diff --git a/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java b/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java index 4038f993eb5..e0c42b03e97 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java +++ b/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java @@ -1,7 +1,7 @@ package mage.cards.l; import mage.MageInt; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.ExileAndReturnSourceEffect; diff --git a/Mage.Sets/src/mage/cards/l/LinvalaShieldOfSeaGate.java b/Mage.Sets/src/mage/cards/l/LinvalaShieldOfSeaGate.java index e21f5638289..35d3098d10a 100644 --- a/Mage.Sets/src/mage/cards/l/LinvalaShieldOfSeaGate.java +++ b/Mage.Sets/src/mage/cards/l/LinvalaShieldOfSeaGate.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.FullPartyCondition; import mage.abilities.costs.common.SacrificeSourceCost; @@ -55,7 +55,7 @@ public final class LinvalaShieldOfSeaGate extends CardImpl { Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new LinvalaShieldOfSeaGateRestrictionEffect(), - TargetController.YOU, false + false ), FullPartyCondition.instance, "At the beginning of combat on your turn, " + "if you have a full party, choose target nonland permanent an opponent controls. " + "Until your next turn, it can't attack or block, and its activated abilities can't be activated." diff --git a/Mage.Sets/src/mage/cards/l/LordSkitterSewerKing.java b/Mage.Sets/src/mage/cards/l/LordSkitterSewerKing.java index 1c9dc5e151a..083a9074d46 100644 --- a/Mage.Sets/src/mage/cards/l/LordSkitterSewerKing.java +++ b/Mage.Sets/src/mage/cards/l/LordSkitterSewerKing.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.ExileTargetEffect; @@ -52,7 +52,7 @@ public final class LordSkitterSewerKing extends CardImpl { // At the beginning of combat on your turn, create a 1/1 black Rat creature token with "This creature can't block." this.addAbility(new BeginningOfCombatTriggeredAbility( new CreateTokenEffect(new RatCantBlockToken()), - TargetController.YOU, false + false )); } diff --git a/Mage.Sets/src/mage/cards/l/LordSkittersBlessing.java b/Mage.Sets/src/mage/cards/l/LordSkittersBlessing.java index 7f11e583714..dc87fa4fd3a 100644 --- a/Mage.Sets/src/mage/cards/l/LordSkittersBlessing.java +++ b/Mage.Sets/src/mage/cards/l/LordSkittersBlessing.java @@ -1,7 +1,7 @@ package mage.cards.l; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -48,7 +48,7 @@ public final class LordSkittersBlessing extends CardImpl { // At the beginning of your draw step, if you control an enchanted creature, you lose 1 life and you draw an additional card. ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfDrawTriggeredAbility( - new LoseLifeSourceControllerEffect(1), TargetController.YOU, false + TargetController.YOU, new LoseLifeSourceControllerEffect(1), false ), condition, "At the beginning of your draw step, if you control " + "an enchanted creature, you lose 1 life and you draw an additional card." ); diff --git a/Mage.Sets/src/mage/cards/l/LoyalApprentice.java b/Mage.Sets/src/mage/cards/l/LoyalApprentice.java index cb640d821b6..9ca5b618731 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalApprentice.java +++ b/Mage.Sets/src/mage/cards/l/LoyalApprentice.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CommanderInPlayCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -39,7 +39,7 @@ public final class LoyalApprentice extends CardImpl { // Lieutenant — At the beginning of combat on your turn, if you control your commander, create a 1/1 colorless Thopter artifact creature token with flying. That token gains haste until end of turn. this.addAbility(new ConditionalTriggeredAbility( new BeginningOfCombatTriggeredAbility( - new LoyalApprenticeEffect(), TargetController.YOU, false + new LoyalApprenticeEffect(), false ), CommanderInPlayCondition.instance, "Lieutenant — " + "At the beginning of combat on your turn, if you control your commander, " + "create a 1/1 colorless Thopter artifact creature token with flying. " + diff --git a/Mage.Sets/src/mage/cards/l/LoyalDrake.java b/Mage.Sets/src/mage/cards/l/LoyalDrake.java index 379e602396e..71ef4ed520a 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalDrake.java +++ b/Mage.Sets/src/mage/cards/l/LoyalDrake.java @@ -2,7 +2,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CommanderInPlayCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -33,7 +33,7 @@ public final class LoyalDrake extends CardImpl { this.addAbility(new ConditionalTriggeredAbility( new BeginningOfCombatTriggeredAbility( new DrawCardSourceControllerEffect(1), - TargetController.YOU, false + false ), CommanderInPlayCondition.instance, "Lieutenant — At the beginning of combat " + "on your turn, if you control your commander, draw a card." diff --git a/Mage.Sets/src/mage/cards/l/LoyalGuardian.java b/Mage.Sets/src/mage/cards/l/LoyalGuardian.java index 6ea79308811..82eaa1e91e3 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalGuardian.java +++ b/Mage.Sets/src/mage/cards/l/LoyalGuardian.java @@ -2,7 +2,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CommanderInPlayCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersAllEffect; @@ -37,7 +37,7 @@ public final class LoyalGuardian extends CardImpl { new AddCountersAllEffect( CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURE - ), TargetController.YOU, false + ), false ), CommanderInPlayCondition.instance, "Lieutenant — At the beginning of combat " + "on your turn, if you control your commander, " diff --git a/Mage.Sets/src/mage/cards/l/LoyalSubordinate.java b/Mage.Sets/src/mage/cards/l/LoyalSubordinate.java index 3dd69fcbe09..79655e32a81 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalSubordinate.java +++ b/Mage.Sets/src/mage/cards/l/LoyalSubordinate.java @@ -2,7 +2,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CommanderInPlayCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.LoseLifeOpponentsEffect; @@ -33,7 +33,7 @@ public final class LoyalSubordinate extends CardImpl { this.addAbility(new ConditionalTriggeredAbility( new BeginningOfCombatTriggeredAbility( new LoseLifeOpponentsEffect(3), - TargetController.YOU, false + false ), CommanderInPlayCondition.instance, "Lieutenant — At the beginning of combat " + "on your turn, if you control your commander, " diff --git a/Mage.Sets/src/mage/cards/l/LoyalUnicorn.java b/Mage.Sets/src/mage/cards/l/LoyalUnicorn.java index 0449de47c55..c4fc9e21cc1 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalUnicorn.java +++ b/Mage.Sets/src/mage/cards/l/LoyalUnicorn.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CommanderInPlayCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.PreventAllDamageToAllEffect; @@ -39,7 +39,7 @@ public final class LoyalUnicorn extends CardImpl { Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES, true - ), TargetController.YOU, false + ), false ); ability.addEffect(new GainAbilityAllEffect( VigilanceAbility.getInstance(), Duration.EndOfTurn, diff --git a/Mage.Sets/src/mage/cards/l/LuminarchAspirant.java b/Mage.Sets/src/mage/cards/l/LuminarchAspirant.java index 15b4ee71849..6fb8f81784f 100644 --- a/Mage.Sets/src/mage/cards/l/LuminarchAspirant.java +++ b/Mage.Sets/src/mage/cards/l/LuminarchAspirant.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +29,7 @@ public final class LuminarchAspirant extends CardImpl { // At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. Ability ability = new BeginningOfCombatTriggeredAbility( - new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false + new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false ); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MagusLuceaKane.java b/Mage.Sets/src/mage/cards/m/MagusLuceaKane.java index b7491e3eaaa..2e49763f7ec 100644 --- a/Mage.Sets/src/mage/cards/m/MagusLuceaKane.java +++ b/Mage.Sets/src/mage/cards/m/MagusLuceaKane.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.Mana; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.CopyStackObjectEffect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; @@ -41,7 +41,7 @@ public final class MagusLuceaKane extends CardImpl { // Spiritual Leader -- At the beginning of combat on your turn, put a +1/+1 counter on target creature. Ability ability = new BeginningOfCombatTriggeredAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability.withFlavorWord("Spiritual Leader")); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java b/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java index 59cf834c141..1902494cff7 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java @@ -1,26 +1,24 @@ - package mage.cards.m; -import java.util.UUID; import mage.MageInt; import mage.Mana; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.effects.mana.AddManaToManaPoolTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; + +import java.util.UUID; /** - * * @author LevelX2 */ public final class MagusOfTheVineyard extends CardImpl { public MagusOfTheVineyard(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WIZARD); @@ -29,7 +27,8 @@ public final class MagusOfTheVineyard extends CardImpl { // At the beginning of each player's precombat main phase, add {G}{G} to that player's mana pool. 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 MagusOfTheVineyard(final MagusOfTheVineyard card) { diff --git a/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java b/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java index d37cd5621a9..872bc34dd09 100644 --- a/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java +++ b/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.MultipliedValue; @@ -42,7 +42,7 @@ public final class MajesticMyriarch extends CardImpl { // At the beginning of each combat, if you control a creature with flying, Majestic Myriarch gains flying until end of turn. // The same is true for first strike, double strike, deathtouch, haste, hexproof, indestructible, lifelink, menace, reach, trample, and vigilance. - this.addAbility(new BeginningOfCombatTriggeredAbility(new MajesticMyriarchEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.ANY, new MajesticMyriarchEffect(), false)); } private MajesticMyriarch(final MajesticMyriarch card) { diff --git a/Mage.Sets/src/mage/cards/m/MalignantGrowth.java b/Mage.Sets/src/mage/cards/m/MalignantGrowth.java index 2a1f6513404..6cc36a32a06 100644 --- a/Mage.Sets/src/mage/cards/m/MalignantGrowth.java +++ b/Mage.Sets/src/mage/cards/m/MalignantGrowth.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -38,7 +38,7 @@ public final class MalignantGrowth extends CardImpl { // At the beginning of each opponent's draw step, that player draws an additional card for each growth counter on Malignant Growth, then Malignant Growth deals damage to the player equal to the number of cards they drew this way. this.addAbility(new BeginningOfDrawTriggeredAbility( - new MalignantGrowthEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new MalignantGrowthEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/m/ManaVault.java b/Mage.Sets/src/mage/cards/m/ManaVault.java index 517822b3f9e..f6c01369ba1 100644 --- a/Mage.Sets/src/mage/cards/m/ManaVault.java +++ b/Mage.Sets/src/mage/cards/m/ManaVault.java @@ -1,15 +1,12 @@ - package mage.cards.m; -import java.util.UUID; import mage.Mana; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; @@ -21,28 +18,30 @@ import mage.constants.CardType; import mage.constants.TargetController; import mage.constants.Zone; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class ManaVault extends CardImpl { public ManaVault(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); // Mana Vault doesn't untap during your untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); + // At the beginning of your upkeep, you may pay {4}. If you do, untap Mana Vault. this.addAbility(new BeginningOfUpkeepTriggeredAbility( Zone.BATTLEFIELD, new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(4), "Pay {4} to untap {this}?"), TargetController.YOU, false)); + // At the beginning of your draw step, if Mana Vault is tapped, it deals 1 damage to you. - this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfDrawTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(1), TargetController.YOU, false), - SourceTappedCondition.TAPPED, - "At the beginning of your draw step, if {this} is tapped, it deals 1 damage to you.")); + this.addAbility(new BeginningOfDrawTriggeredAbility(new DamageControllerEffect(1, "it"), + false).withInterveningIf(SourceTappedCondition.TAPPED)); + // {tap}: Add {C}{C}{C}. this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(3), new TapSourceCost())); } diff --git a/Mage.Sets/src/mage/cards/m/ManifoldMouse.java b/Mage.Sets/src/mage/cards/m/ManifoldMouse.java index 3ce2bf839c9..6cb29ab38ff 100644 --- a/Mage.Sets/src/mage/cards/m/ManifoldMouse.java +++ b/Mage.Sets/src/mage/cards/m/ManifoldMouse.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.GainsChoiceOfAbilitiesEffect; import mage.abilities.keyword.DoubleStrikeAbility; import mage.abilities.keyword.OffspringAbility; @@ -38,7 +38,7 @@ public final class ManifoldMouse extends CardImpl { // At the beginning of combat on your turn, target Mouse you control gains your choice of double strike or trample until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility(new GainsChoiceOfAbilitiesEffect( - DoubleStrikeAbility.getInstance(), TrampleAbility.getInstance()), TargetController.YOU, false); + DoubleStrikeAbility.getInstance(), TrampleAbility.getInstance()), false); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java b/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java index 91018831b4b..88590c5ece5 100644 --- a/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java +++ b/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -35,7 +35,7 @@ public final class MaralenOfTheMornsong extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MaralenOfTheMornsongEffect())); // At the beginning of each player's draw step, that player loses 3 life, searches their library for a card, puts it into their hand, then shuffles their library. - this.addAbility(new BeginningOfDrawTriggeredAbility(new MaralenOfTheMornsongEffect2(), TargetController.ANY, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new MaralenOfTheMornsongEffect2(), false)); } diff --git a/Mage.Sets/src/mage/cards/m/MarkovWaltzer.java b/Mage.Sets/src/mage/cards/m/MarkovWaltzer.java index 7ac421b32c3..c124594b44e 100644 --- a/Mage.Sets/src/mage/cards/m/MarkovWaltzer.java +++ b/Mage.Sets/src/mage/cards/m/MarkovWaltzer.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.HasteAbility; @@ -37,7 +37,7 @@ public final class MarkovWaltzer extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 0) .setText("up to two target creatures you control each get +1/+0 until end of turn"), - TargetController.YOU, false + false ); ability.addTarget(new TargetControlledCreaturePermanent(0, 2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MeTheImmortal.java b/Mage.Sets/src/mage/cards/m/MeTheImmortal.java index eae2ad819a6..33a76c3422e 100644 --- a/Mage.Sets/src/mage/cards/m/MeTheImmortal.java +++ b/Mage.Sets/src/mage/cards/m/MeTheImmortal.java @@ -4,7 +4,7 @@ import mage.MageIdentifier; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.StaticAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.Costs; @@ -48,7 +48,6 @@ public final class MeTheImmortal extends CardImpl { this.addAbility(new BeginningOfCombatTriggeredAbility(new AddCounterChoiceSourceEffect( CounterType.P1P1, CounterType.FIRST_STRIKE, CounterType.VIGILANCE, CounterType.MENACE ).setText("put your choice of a +1/+1, first strike, vigilance, or menace counter on {this}"), - TargetController.YOU, false)); // Counters remain on Me as it moves to any zone other than a player's hand or library. this.addAbility(new SimpleStaticAbility(Zone.ALL, new MeTheImmortalEffect())); @@ -176,4 +175,4 @@ class MeTheImmortalCastEffect extends AsThoughEffectImpl { ); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/m/MegatronTyrant.java b/Mage.Sets/src/mage/cards/m/MegatronTyrant.java index 9349b01c200..91ccb4d179f 100644 --- a/Mage.Sets/src/mage/cards/m/MegatronTyrant.java +++ b/Mage.Sets/src/mage/cards/m/MegatronTyrant.java @@ -5,7 +5,7 @@ import mage.MageObject; import mage.Mana; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.OpponentsLostLifeCount; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; @@ -41,10 +41,9 @@ public final class MegatronTyrant extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MegatronTyrantCantCastSpellsEffect())); // At the beginning of your postcombat main phase, you may convert Megatron. If you do, add {C} for each 1 life your opponents have lost this turn. - TriggeredAbility trigger = new BeginningOfPostCombatMainTriggeredAbility( - new TransformSourceEffect().setText("convert {this}"), - TargetController.YOU, - true + TriggeredAbility trigger = new BeginningOfPostcombatMainTriggeredAbility( + TargetController.YOU, new TransformSourceEffect().setText("convert {this}"), + true ); trigger.addEffect( new DynamicManaEffect( diff --git a/Mage.Sets/src/mage/cards/m/MidnightOil.java b/Mage.Sets/src/mage/cards/m/MidnightOil.java index 5e064df5f95..a5a7d430cfa 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightOil.java +++ b/Mage.Sets/src/mage/cards/m/MidnightOil.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; @@ -38,9 +38,9 @@ public final class MidnightOil extends CardImpl { // At the beginning of your draw step, draw an additional card and remove two hour counters from Midnight Oil. Ability ability = new BeginningOfDrawTriggeredAbility( - new DrawCardSourceControllerEffect(1) + TargetController.YOU, new DrawCardSourceControllerEffect(1) .setText("draw an additional card"), - TargetController.YOU, false + false ); ability.addEffect(new RemoveCounterSourceEffect( CounterType.HOUR.createInstance(2) diff --git a/Mage.Sets/src/mage/cards/m/MightMakesRight.java b/Mage.Sets/src/mage/cards/m/MightMakesRight.java index 39778cbe061..9745ce632e5 100644 --- a/Mage.Sets/src/mage/cards/m/MightMakesRight.java +++ b/Mage.Sets/src/mage/cards/m/MightMakesRight.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.UntapTargetEffect; @@ -37,7 +37,7 @@ public final class MightMakesRight extends CardImpl { // At the beginning of combat on your turn, if you control each creature on the battlefield with the greatest power, gain control // of target creature an opponent controls until end of turn. Untap that creature. It gains haste until end of turn. - TriggeredAbility gainControlAbility = new BeginningOfCombatTriggeredAbility(new GainControlTargetEffect(Duration.EndOfTurn), TargetController.YOU, false); + TriggeredAbility gainControlAbility = new BeginningOfCombatTriggeredAbility(new GainControlTargetEffect(Duration.EndOfTurn), false); gainControlAbility.addEffect(new UntapTargetEffect()); gainControlAbility.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); gainControlAbility.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE)); diff --git a/Mage.Sets/src/mage/cards/m/MightOfTheAncestors.java b/Mage.Sets/src/mage/cards/m/MightOfTheAncestors.java index b366a1201c8..6e5b5474c1b 100644 --- a/Mage.Sets/src/mage/cards/m/MightOfTheAncestors.java +++ b/Mage.Sets/src/mage/cards/m/MightOfTheAncestors.java @@ -1,7 +1,7 @@ package mage.cards.m; 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.GainAbilityTargetEffect; import mage.abilities.keyword.VigilanceAbility; @@ -26,7 +26,7 @@ public final class MightOfTheAncestors extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(2, 0, Duration.EndOfTurn) .setText("target creature you control gets +2/+0"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn) .setText("and gains vigilance until end of turn")); diff --git a/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java b/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java index ab42ba88b4e..a7b452f0808 100644 --- a/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java +++ b/Mage.Sets/src/mage/cards/m/MindwrackHarpy.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.MillCardsEachPlayerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -30,7 +30,7 @@ public final class MindwrackHarpy extends CardImpl { // At the beginning of combat on your turn, each player puts the top three cards of their library into their graveyard. this.addAbility(new BeginningOfCombatTriggeredAbility( new MillCardsEachPlayerEffect(3, TargetController.ANY), - TargetController.YOU, false + false )); } diff --git a/Mage.Sets/src/mage/cards/m/MiragePhalanx.java b/Mage.Sets/src/mage/cards/m/MiragePhalanx.java index d56ec8d7cbb..c972629d382 100644 --- a/Mage.Sets/src/mage/cards/m/MiragePhalanx.java +++ b/Mage.Sets/src/mage/cards/m/MiragePhalanx.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; @@ -43,7 +43,7 @@ public class MiragePhalanx extends CardImpl { // “At the beginning of combat on your turn, create a token that's a copy of this creature, // except it has haste and loses soulbond. // Exile it at end of combat.” - Ability ability = new BeginningOfCombatTriggeredAbility(new MiragePhalanxEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new MiragePhalanxEffect(), false); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityPairedEffect(ability, ruleText))); } diff --git a/Mage.Sets/src/mage/cards/m/MirkwoodChanneler.java b/Mage.Sets/src/mage/cards/m/MirkwoodChanneler.java index 113721ad445..d673bfad641 100644 --- a/Mage.Sets/src/mage/cards/m/MirkwoodChanneler.java +++ b/Mage.Sets/src/mage/cards/m/MirkwoodChanneler.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -45,7 +45,7 @@ public final class MirkwoodChanneler extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new GainAbilityTargetEffect(TrampleAbility.getInstance()) .setText("target Elf you control gains trample"), - TargetController.YOU, false + false ); ability.addEffect(new BoostTargetEffect(xValue, xValue) .setText("and gets +X/+X until end of turn, where X is the number of Forests you control") diff --git a/Mage.Sets/src/mage/cards/m/MishraEminentOne.java b/Mage.Sets/src/mage/cards/m/MishraEminentOne.java index d227bf03180..0f44e6f9452 100644 --- a/Mage.Sets/src/mage/cards/m/MishraEminentOne.java +++ b/Mage.Sets/src/mage/cards/m/MishraEminentOne.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -42,7 +42,7 @@ public final class MishraEminentOne extends CardImpl { // At the beginning of combat on your turn, create a token that's a copy of target noncreature artifact you control, except its name is Mishra's Warform and it's a 4/4 Construct artifact creature in addition to its other types. It gains haste until end of turn. Sacrifice it at the beginning of the next end step. Ability ability = new BeginningOfCombatTriggeredAbility( - new MishraEminentOneEffect(), TargetController.YOU, false + new MishraEminentOneEffect(), false ); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MonasterySiege.java b/Mage.Sets/src/mage/cards/m/MonasterySiege.java index fedc80143fa..31ad5df0908 100644 --- a/Mage.Sets/src/mage/cards/m/MonasterySiege.java +++ b/Mage.Sets/src/mage/cards/m/MonasterySiege.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.abilities.Ability; import mage.abilities.SpellAbility; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ModeChoiceSourceCondition; @@ -36,7 +36,7 @@ public final class MonasterySiege extends CardImpl { // * Khans - At the beginning of your draw step, draw an additional card, then discard a card. this.addAbility(new ConditionalTriggeredAbility( - new BeginningOfDrawTriggeredAbility(new DrawDiscardControllerEffect(1, 1), TargetController.YOU, false), + new BeginningOfDrawTriggeredAbility(new DrawDiscardControllerEffect(1, 1), false), new ModeChoiceSourceCondition("Khans"), "• Khans — At the beginning of your draw step, draw an additional card, then discard a card.")); @@ -56,7 +56,7 @@ public final class MonasterySiege extends CardImpl { class MonasterySiegeCostIncreaseEffect extends CostModificationEffectImpl { - private static ModeChoiceSourceCondition modeDragons = new ModeChoiceSourceCondition("Dragons"); + private static final ModeChoiceSourceCondition modeDragons = new ModeChoiceSourceCondition("Dragons"); MonasterySiegeCostIncreaseEffect() { super(Duration.WhileOnBattlefield, Outcome.Benefit, CostModificationType.INCREASE_COST); @@ -100,7 +100,6 @@ class MonasterySiegeCostIncreaseEffect extends CostModificationEffectImpl { if (allTargets.stream().anyMatch(target -> !isTargetCompatible(target, source, game))) { return false; } - ; } return allTargets.stream().anyMatch(target -> isTargetCompatible(target, source, game)); diff --git a/Mage.Sets/src/mage/cards/m/MountVelusManticore.java b/Mage.Sets/src/mage/cards/m/MountVelusManticore.java index a2eac121d31..fc14a3cf639 100644 --- a/Mage.Sets/src/mage/cards/m/MountVelusManticore.java +++ b/Mage.Sets/src/mage/cards/m/MountVelusManticore.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamageTargetEffect; @@ -33,7 +33,7 @@ public final class MountVelusManticore extends CardImpl { // At the beginning of combat on your turn, you may discard a card. When you do, Mount Velus Manticore deals X damage to any target, where X is the number of card types the discarded card has. this.addAbility(new BeginningOfCombatTriggeredAbility( - new MountVelusManticoreEffect(), TargetController.YOU, false + new MountVelusManticoreEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/m/MuerraTrashTactician.java b/Mage.Sets/src/mage/cards/m/MuerraTrashTactician.java index fbb1cc9baf4..36fa1f4e751 100644 --- a/Mage.Sets/src/mage/cards/m/MuerraTrashTactician.java +++ b/Mage.Sets/src/mage/cards/m/MuerraTrashTactician.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.MageInt; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.ExpendTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; @@ -41,7 +41,7 @@ public final class MuerraTrashTactician extends CardImpl { this.addAbility(new BeginningOfFirstMainTriggeredAbility( new AddManaInAnyCombinationEffect(xValue, xValue, ColoredManaSymbol.R, ColoredManaSymbol.G) .setText("add {R} or {G} for each Raccoon you control"), - TargetController.YOU, false + false ).setTriggerPhrase("At the beginning of your first main phase, ").addHint(hint)); // Whenever you expend 4, you gain 3 life. diff --git a/Mage.Sets/src/mage/cards/n/NahirisMachinations.java b/Mage.Sets/src/mage/cards/n/NahirisMachinations.java index aefb05c0842..e79f7234af4 100644 --- a/Mage.Sets/src/mage/cards/n/NahirisMachinations.java +++ b/Mage.Sets/src/mage/cards/n/NahirisMachinations.java @@ -3,7 +3,7 @@ package mage.cards.n; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DamageTargetEffect; @@ -29,7 +29,7 @@ public final class NahirisMachinations extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); // At the beginning of combat on your turn, target creature you control gains indestructible until end of turn. - Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), false); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/n/NaliaDeArnise.java b/Mage.Sets/src/mage/cards/n/NaliaDeArnise.java index ab9c8e933e1..6b0b650d696 100644 --- a/Mage.Sets/src/mage/cards/n/NaliaDeArnise.java +++ b/Mage.Sets/src/mage/cards/n/NaliaDeArnise.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.FullPartyCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -57,7 +57,7 @@ public final class NaliaDeArnise extends CardImpl { Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility(new AddCountersAllEffect( CounterType.P1P1.createInstance(), StaticFilters.FILTER_CONTROLLED_CREATURE - ), TargetController.YOU, false), FullPartyCondition.instance, "At the beginning " + + ), false), FullPartyCondition.instance, "At the beginning " + "of combat on your turn, if you have a full party, put a +1/+1 counter on each creature " + "you control and those creatures gain deathtouch until end of turn." ); diff --git a/Mage.Sets/src/mage/cards/n/NehebTheEternal.java b/Mage.Sets/src/mage/cards/n/NehebTheEternal.java index 60dadcb140f..c2702b65823 100644 --- a/Mage.Sets/src/mage/cards/n/NehebTheEternal.java +++ b/Mage.Sets/src/mage/cards/n/NehebTheEternal.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.MageInt; import mage.Mana; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.dynamicvalue.common.OpponentsLostLifeCount; import mage.abilities.effects.mana.DynamicManaEffect; import mage.abilities.keyword.AfflictAbility; @@ -35,12 +35,11 @@ public final class NehebTheEternal extends CardImpl { // At the beginning of your postcombat main phase, add {R} for each 1 life your opponents have lost this turn. this.addAbility( - new BeginningOfPostCombatMainTriggeredAbility( + new BeginningOfPostcombatMainTriggeredAbility( new DynamicManaEffect( Mana.RedMana(1), OpponentsLostLifeCount.instance, "add {R} for each 1 life your opponents have lost this turn"), - TargetController.YOU, false)); } diff --git a/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java b/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java index b375f8f3e2e..43c1a721efd 100644 --- a/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java +++ b/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java @@ -1,11 +1,8 @@ - package mage.cards.n; -import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.DrawCardOpponentTriggeredAbility; -import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DrawCardTargetEffect; import mage.cards.CardImpl; @@ -15,14 +12,15 @@ import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class NekusarTheMindrazer extends CardImpl { public NekusarTheMindrazer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}{R}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{B}{R}"); this.supertype.add(SuperType.LEGENDARY); this.subtype.add(SubType.ZOMBIE); this.subtype.add(SubType.WIZARD); @@ -31,9 +29,9 @@ public final class NekusarTheMindrazer extends CardImpl { this.toughness = new MageInt(4); // At the beginning of each player's draw step, that player draws an additional card. - Effect effect = new DrawCardTargetEffect(1); - effect.setText("that player draws an additional card"); - this.addAbility(new BeginningOfDrawTriggeredAbility(effect , TargetController.ANY, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new DrawCardTargetEffect(1).setText("that player draws an additional card"), + false)); + // Whenever an opponent draws a card, Nekusar, the Mindrazer deals 1 damage to that player. this.addAbility(new DrawCardOpponentTriggeredAbility(new DamageTargetEffect(1, true, "that player"), false, true)); } diff --git a/Mage.Sets/src/mage/cards/n/NessianHornbeetle.java b/Mage.Sets/src/mage/cards/n/NessianHornbeetle.java index 992447f31f0..dd0db5c4a8c 100644 --- a/Mage.Sets/src/mage/cards/n/NessianHornbeetle.java +++ b/Mage.Sets/src/mage/cards/n/NessianHornbeetle.java @@ -1,7 +1,7 @@ package mage.cards.n; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -45,7 +45,7 @@ public final class NessianHornbeetle extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ), condition, "At the beginning of combat on your turn, if you control " + "another creature with power 4 or greater, put a +1/+1 counter on {this}." )); diff --git a/Mage.Sets/src/mage/cards/n/NestingDovehawk.java b/Mage.Sets/src/mage/cards/n/NestingDovehawk.java index 106c32a07e4..e1bc9ec3da2 100644 --- a/Mage.Sets/src/mage/cards/n/NestingDovehawk.java +++ b/Mage.Sets/src/mage/cards/n/NestingDovehawk.java @@ -1,7 +1,7 @@ package mage.cards.n; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.effects.common.PopulateEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -32,7 +32,7 @@ public final class NestingDovehawk extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of combat on your turn, populate. - this.addAbility(new BeginningOfCombatTriggeredAbility(new PopulateEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new PopulateEffect(), false)); // Whenever a creature token you control enters, put a +1/+1 counter on Nesting Dovehawk. this.addAbility(new EntersBattlefieldControlledTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/n/NexusOfBecoming.java b/Mage.Sets/src/mage/cards/n/NexusOfBecoming.java index f7117310349..8da74cb5063 100644 --- a/Mage.Sets/src/mage/cards/n/NexusOfBecoming.java +++ b/Mage.Sets/src/mage/cards/n/NexusOfBecoming.java @@ -1,7 +1,7 @@ package mage.cards.n; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -28,7 +28,7 @@ public final class NexusOfBecoming extends CardImpl { // At the beginning of combat on your turn, draw a card. Then you may exile an artifact or creature card from your hand. If you do, create a token that's a copy of the exiled card, except it's a 3/3 Golem artifact creature in addition to its other types. Ability ability = new BeginningOfCombatTriggeredAbility( - new DrawCardSourceControllerEffect(1), TargetController.YOU, false + new DrawCardSourceControllerEffect(1), false ); ability.addEffect(new NexusOfBecomingEffect()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/n/NeyithOfTheDireHunt.java b/Mage.Sets/src/mage/cards/n/NeyithOfTheDireHunt.java index 2ecc081413e..24d87438061 100644 --- a/Mage.Sets/src/mage/cards/n/NeyithOfTheDireHunt.java +++ b/Mage.Sets/src/mage/cards/n/NeyithOfTheDireHunt.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DoIfCostPaid; @@ -46,7 +46,7 @@ public final class NeyithOfTheDireHunt extends CardImpl { // At the beginning of combat on your turn, you may pay {2}{R/G}. If you do, double target creature's power until end of turn. That creature must be blocked this combat if able. Ability ability = new BeginningOfCombatTriggeredAbility(new DoIfCostPaid( new NeyithOfTheDireHuntEffect(), new ManaCostsImpl<>("{2}{R/G}") - ), TargetController.YOU, false); + ), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java b/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java index 697341052b1..9d63d936ede 100644 --- a/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java +++ b/Mage.Sets/src/mage/cards/n/NicolBolasTheRavager.java @@ -2,7 +2,7 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.ActivateAsSorceryActivatedAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; diff --git a/Mage.Sets/src/mage/cards/n/NimbleTrapfinder.java b/Mage.Sets/src/mage/cards/n/NimbleTrapfinder.java index 062272e7a66..6025583135e 100644 --- a/Mage.Sets/src/mage/cards/n/NimbleTrapfinder.java +++ b/Mage.Sets/src/mage/cards/n/NimbleTrapfinder.java @@ -3,7 +3,7 @@ package mage.cards.n; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; @@ -56,7 +56,7 @@ public final class NimbleTrapfinder extends CardImpl { new GainAbilityAllEffect(new DealsCombatDamageToAPlayerTriggeredAbility( new DrawCardSourceControllerEffect(1), false ), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURES), - TargetController.YOU, false + false ), FullPartyCondition.instance, "At the beginning of combat on your turn, " + "if you have a full party, creatures you control gain " + "\"Whenever this creature deals combat damage to a player, draw a card\" until end of turn." diff --git a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java index 1e419b19234..dc7261ef512 100644 --- a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java +++ b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java @@ -3,7 +3,7 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; diff --git a/Mage.Sets/src/mage/cards/n/NumaJoragaChieftain.java b/Mage.Sets/src/mage/cards/n/NumaJoragaChieftain.java index ba9c47bdc45..1e3f78d99c2 100644 --- a/Mage.Sets/src/mage/cards/n/NumaJoragaChieftain.java +++ b/Mage.Sets/src/mage/cards/n/NumaJoragaChieftain.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCosts; @@ -37,7 +37,7 @@ public final class NumaJoragaChieftain extends CardImpl { // At the beginning of combat on your turn, you may pay {X}{X}. When you do, distribute X +1/+1 counters among any number of target Elves. this.addAbility(new BeginningOfCombatTriggeredAbility( - new NumaJoragaChieftainEffect(), TargetController.YOU, false + new NumaJoragaChieftainEffect(), false )); // Partner diff --git a/Mage.Sets/src/mage/cards/n/NyxHerald.java b/Mage.Sets/src/mage/cards/n/NyxHerald.java index e4ce874fcd2..601ab2e47a2 100644 --- a/Mage.Sets/src/mage/cards/n/NyxHerald.java +++ b/Mage.Sets/src/mage/cards/n/NyxHerald.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.MageInt; 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.GainAbilityTargetEffect; import mage.abilities.keyword.TrampleAbility; @@ -43,7 +43,7 @@ public final class NyxHerald extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 1) .setText("target enchanted creature or enchantment creature you control gets +1/+1"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect( TrampleAbility.getInstance(), Duration.EndOfTurn diff --git a/Mage.Sets/src/mage/cards/o/ObuunMulDayaAncestor.java b/Mage.Sets/src/mage/cards/o/ObuunMulDayaAncestor.java index 8f7028e7cdb..5ab5b6f1292 100644 --- a/Mage.Sets/src/mage/cards/o/ObuunMulDayaAncestor.java +++ b/Mage.Sets/src/mage/cards/o/ObuunMulDayaAncestor.java @@ -2,7 +2,7 @@ package mage.cards.o; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.LandfallAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; @@ -38,7 +38,7 @@ public final class ObuunMulDayaAncestor extends CardImpl { // At the beginning of combat on your turn, up to one target land you control becomes an X/X Elemental creature with trample and haste until end of turn, where X is Obuun's power. It's still a land. Ability ability = new BeginningOfCombatTriggeredAbility( - new ObuunMulDayaAncestorEffect(), TargetController.YOU, false + new ObuunMulDayaAncestorEffect(), false ); ability.addTarget(new TargetPermanent( 0, 1, StaticFilters.FILTER_CONTROLLED_PERMANENT_LAND, false diff --git a/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java b/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java index 8dd77c3d0f8..2d1c81f2ad9 100644 --- a/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java +++ b/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java @@ -2,7 +2,7 @@ package mage.cards.o; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.keyword.*; @@ -29,7 +29,7 @@ public final class OdricLunarchMarshal extends CardImpl { this.toughness = new MageInt(3); // At the beginning of each combat, creatures you control gain first strike until end of turn if a creature you control has first strike. The same is true for flying, deathtouch, double strike, haste, hexproof, indestructible, lifelink, menace, reach, skulk, trample, and vigilance. - this.addAbility(new BeginningOfCombatTriggeredAbility(new OdricLunarchMarshalEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.ANY, new OdricLunarchMarshalEffect(), false)); } private OdricLunarchMarshal(final OdricLunarchMarshal card) { diff --git a/Mage.Sets/src/mage/cards/o/OffspringsRevenge.java b/Mage.Sets/src/mage/cards/o/OffspringsRevenge.java index ef8a130fc80..fd3dff545cc 100644 --- a/Mage.Sets/src/mage/cards/o/OffspringsRevenge.java +++ b/Mage.Sets/src/mage/cards/o/OffspringsRevenge.java @@ -2,7 +2,7 @@ package mage.cards.o; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; @@ -44,7 +44,7 @@ public final class OffspringsRevenge extends CardImpl { // At the beginning of combat on your turn, exile target red, white, or black creature card from your graveyard. Create a token that's a copy of that card, except it's 1/1. It gains haste until your next turn. Ability ability = new BeginningOfCombatTriggeredAbility( - new OffspringsRevengeEffect(), TargetController.YOU, false + new OffspringsRevengeEffect(), false ); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java b/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java index c417fc7d7c2..b8a648c9e59 100644 --- a/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java +++ b/Mage.Sets/src/mage/cards/o/OkaunEyeOfChaos.java @@ -1,7 +1,7 @@ package mage.cards.o; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.WinsCoinFlipTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.SourcePermanentPowerValue; @@ -35,7 +35,7 @@ public final class OkaunEyeOfChaos extends CardImpl { this.addAbility(new PartnerWithAbility("Zndrsplt, Eye of Wisdom", true)); // At the beginning of combat on your turn, flip a coin until you lose a flip. - this.addAbility(new BeginningOfCombatTriggeredAbility(new FlipUntilLoseEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new FlipUntilLoseEffect(), false)); // Whenever a player wins a coin flip, double Okaun's power and toughness until end of turn. this.addAbility(new WinsCoinFlipTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/o/OkoTheRingleader.java b/Mage.Sets/src/mage/cards/o/OkoTheRingleader.java index d7073ece09b..2c854fdd201 100644 --- a/Mage.Sets/src/mage/cards/o/OkoTheRingleader.java +++ b/Mage.Sets/src/mage/cards/o/OkoTheRingleader.java @@ -3,7 +3,7 @@ package mage.cards.o; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.LoyaltyAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CommittedCrimeCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.OneShotEffect; @@ -41,7 +41,7 @@ public final class OkoTheRingleader extends CardImpl { // At the beginning of combat on your turn, Oko, the Ringleader becomes a copy of up to one target creature you control until end of turn, except he has hexproof. Ability ability = new BeginningOfCombatTriggeredAbility( - new OkoTheRingleaderCopySelfEffect(), TargetController.YOU, false + new OkoTheRingleaderCopySelfEffect(), false ); ability.addTarget(new TargetControlledCreaturePermanent(0, 1)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/o/OldOneEye.java b/Mage.Sets/src/mage/cards/o/OldOneEye.java index dc9c44c2db3..7bc729bf41d 100644 --- a/Mage.Sets/src/mage/cards/o/OldOneEye.java +++ b/Mage.Sets/src/mage/cards/o/OldOneEye.java @@ -1,7 +1,7 @@ package mage.cards.o; import mage.MageInt; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.DiscardTargetCost; @@ -47,10 +47,10 @@ public final class OldOneEye extends CardImpl { // Fast Healing -- At the beginning of your precombat main phase, you may discard two cards. If you do, return Old One Eye from your graveyard to your hand. this.addAbility(new BeginningOfFirstMainTriggeredAbility( Zone.GRAVEYARD, - new DoIfCostPaid( + TargetController.YOU, new DoIfCostPaid( new ReturnSourceFromGraveyardToHandEffect(), new DiscardTargetCost(new TargetCardInHand(2, StaticFilters.FILTER_CARD_CARDS)) - ), TargetController.YOU, false, false + ), false ).withFlavorWord("Fast Healing")); } diff --git a/Mage.Sets/src/mage/cards/o/OmenMachine.java b/Mage.Sets/src/mage/cards/o/OmenMachine.java index 53252bbce4f..8bf43b24b11 100644 --- a/Mage.Sets/src/mage/cards/o/OmenMachine.java +++ b/Mage.Sets/src/mage/cards/o/OmenMachine.java @@ -4,7 +4,7 @@ package mage.cards.o; import java.util.UUID; import mage.ApprovingObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -33,7 +33,7 @@ public final class OmenMachine extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OmenMachineEffect())); // At the beginning of each player's draw step, that player exiles the top card of their library. If it's a land card, the player puts it onto the battlefield. Otherwise, the player casts it without paying its mana cost if able. - this.addAbility(new BeginningOfDrawTriggeredAbility(new OmenMachineEffect2(), TargetController.ANY, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new OmenMachineEffect2(), false)); } private OmenMachine(final OmenMachine card) { diff --git a/Mage.Sets/src/mage/cards/o/OmnathLocusOfAll.java b/Mage.Sets/src/mage/cards/o/OmnathLocusOfAll.java index f89e84e077d..d97be0dc72b 100644 --- a/Mage.Sets/src/mage/cards/o/OmnathLocusOfAll.java +++ b/Mage.Sets/src/mage/cards/o/OmnathLocusOfAll.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.Mana; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCost; import mage.abilities.effects.ContinuousEffectImpl; @@ -37,7 +37,7 @@ public class OmnathLocusOfAll extends CardImpl { // if it has three or more colored mana symbols in its mana cost. If you do, add three mana in any combination of // colors and put it into your hand. If you don’t reveal it, put it into your hand. this.addAbility(new BeginningOfFirstMainTriggeredAbility( - new OmnathLocusOfAllCardEffect(), TargetController.YOU, false + new OmnathLocusOfAllCardEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/o/OrneryTumblewagg.java b/Mage.Sets/src/mage/cards/o/OrneryTumblewagg.java index 7545d05d313..812d734dee8 100644 --- a/Mage.Sets/src/mage/cards/o/OrneryTumblewagg.java +++ b/Mage.Sets/src/mage/cards/o/OrneryTumblewagg.java @@ -3,7 +3,7 @@ package mage.cards.o; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksWhileSaddledTriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.DoubleCountersTargetEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.keyword.SaddleAbility; @@ -33,7 +33,7 @@ public final class OrneryTumblewagg extends CardImpl { // At the beginning of combat on your turn, put a +1/+1 counter on target creature. Ability ability = new BeginningOfCombatTriggeredAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java b/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java index 3d5756ec453..1f8fe4c40e2 100644 --- a/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java +++ b/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java @@ -3,7 +3,7 @@ package mage.cards.o; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.CardsInControllerHandCount; @@ -36,7 +36,7 @@ public final class OverbeingOfMyth extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.ALL, new SetBasePowerToughnessSourceEffect(number))); // At the beginning of your draw step, draw an additional card. - this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1).setText("draw an additional card"), TargetController.YOU, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1).setText("draw an additional card"), false)); } diff --git a/Mage.Sets/src/mage/cards/o/OverseerOfVault76.java b/Mage.Sets/src/mage/cards/o/OverseerOfVault76.java index d2c034c7588..efaca723613 100644 --- a/Mage.Sets/src/mage/cards/o/OverseerOfVault76.java +++ b/Mage.Sets/src/mage/cards/o/OverseerOfVault76.java @@ -3,7 +3,7 @@ package mage.cards.o; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldThisOrAnotherTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.Cost; @@ -65,7 +65,6 @@ public final class OverseerOfVault76 extends CardImpl { .setText("remove three quest counters from among permanents you control"); this.addAbility(new BeginningOfCombatTriggeredAbility( new DoWhenCostPaid(boostAbility, cost, "Remove three quest counters from among permanents you control?"), - TargetController.YOU, false)); } diff --git a/Mage.Sets/src/mage/cards/p/PacksongPup.java b/Mage.Sets/src/mage/cards/p/PacksongPup.java index 8ae94d180e4..b20913e7fd8 100644 --- a/Mage.Sets/src/mage/cards/p/PacksongPup.java +++ b/Mage.Sets/src/mage/cards/p/PacksongPup.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -53,7 +53,7 @@ public final class PacksongPup extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ), condition, "At the beginning of combat on your turn," + " if you control another Wolf or Werewolf, put a +1/+1 counter on {this}" ).addHint(hint)); diff --git a/Mage.Sets/src/mage/cards/p/PalanisHatcher.java b/Mage.Sets/src/mage/cards/p/PalanisHatcher.java index b7db3498c7c..26b138640e9 100644 --- a/Mage.Sets/src/mage/cards/p/PalanisHatcher.java +++ b/Mage.Sets/src/mage/cards/p/PalanisHatcher.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -55,7 +55,7 @@ public final class PalanisHatcher extends CardImpl { Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new SacrificeControllerEffect(filterEgg, 1, ""), - TargetController.YOU, false + false ), new PermanentsOnTheBattlefieldCondition(filterEgg), "At the beginning of combat on your turn, if you control one or more Eggs, " + "sacrifice an Egg, then create a 3/3 green Dinosaur creature token." diff --git a/Mage.Sets/src/mage/cards/p/PartyThrasher.java b/Mage.Sets/src/mage/cards/p/PartyThrasher.java index 5d7c5f077b6..aa265085a82 100644 --- a/Mage.Sets/src/mage/cards/p/PartyThrasher.java +++ b/Mage.Sets/src/mage/cards/p/PartyThrasher.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.OneShotEffect; @@ -57,7 +57,7 @@ public final class PartyThrasher extends CardImpl { new DoIfCostPaid( new PartyThrasherEffect(), new DiscardCardCost() - ), TargetController.YOU, false + ), false )); } diff --git a/Mage.Sets/src/mage/cards/p/PestsOfHonor.java b/Mage.Sets/src/mage/cards/p/PestsOfHonor.java index 03037df78c6..48448769052 100644 --- a/Mage.Sets/src/mage/cards/p/PestsOfHonor.java +++ b/Mage.Sets/src/mage/cards/p/PestsOfHonor.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CelebrationCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -32,7 +32,7 @@ public final class PestsOfHonor extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false + false ), CelebrationCondition.instance, "At the beginning of combat on your turn, if two or more " + "nonland permanents entered the battlefield under your control this turn, put a +1/+1 counter on {this}." ).addHint(CelebrationCondition.getHint()).setAbilityWord(AbilityWord.CELEBRATION), new PermanentsEnteredBattlefieldWatcher()); diff --git a/Mage.Sets/src/mage/cards/p/PhabineBosssConfidant.java b/Mage.Sets/src/mage/cards/p/PhabineBosssConfidant.java index 814bb980d9b..01638cca272 100644 --- a/Mage.Sets/src/mage/cards/p/PhabineBosssConfidant.java +++ b/Mage.Sets/src/mage/cards/p/PhabineBosssConfidant.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.ParleyCount; import mage.abilities.effects.Effect; @@ -54,7 +54,6 @@ public class PhabineBosssConfidant extends CardImpl { // Then each player draws a card. Ability parleyAbility = new BeginningOfCombatTriggeredAbility( new PhabineBosssConfidantParleyEffect(), - TargetController.YOU, false ); Effect drawCardAllEffect = new DrawCardAllEffect(1); diff --git a/Mage.Sets/src/mage/cards/p/PorcelainZealot.java b/Mage.Sets/src/mage/cards/p/PorcelainZealot.java index e04d1483957..763d0e45271 100644 --- a/Mage.Sets/src/mage/cards/p/PorcelainZealot.java +++ b/Mage.Sets/src/mage/cards/p/PorcelainZealot.java @@ -7,7 +7,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.keyword.ToxicAbility; @@ -35,8 +35,8 @@ public final class PorcelainZealot extends CardImpl { // At the beginning of combat on your turn, target creature you control gets +1/+1 until end of turn. If that creature has toxic, instead it gets +2/+2 until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility( - new PorcelainZealotEffect(), - TargetController.YOU, false); + new PorcelainZealotEffect(), + false); ability.addTarget(new TargetControlledCreaturePermanent(1, 1)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java b/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java index b11f4852115..455768ccadd 100644 --- a/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java +++ b/Mage.Sets/src/mage/cards/p/PrimordialPlasm.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; 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.LoseAllAbilitiesTargetEffect; import mage.cards.CardImpl; @@ -34,7 +34,7 @@ public final class PrimordialPlasm extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(2, 2) .setText("another target creature gets +2/+2"), - TargetController.YOU, false + false ); ability.addEffect(new LoseAllAbilitiesTargetEffect(Duration.EndOfTurn) .setText("and loses all abilities until end of turn")); diff --git a/Mage.Sets/src/mage/cards/p/ProftsEideticMemory.java b/Mage.Sets/src/mage/cards/p/ProftsEideticMemory.java index 785225b7d5d..2ac61796472 100644 --- a/Mage.Sets/src/mage/cards/p/ProftsEideticMemory.java +++ b/Mage.Sets/src/mage/cards/p/ProftsEideticMemory.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.DrewTwoOrMoreCardsCondition; @@ -49,7 +49,7 @@ public final class ProftsEideticMemory extends CardImpl { new AddCountersTargetEffect( CounterType.P1P1.createInstance(), new IntPlusDynamicValue(-1, CardsDrawnThisTurnDynamicValue.instance)), - TargetController.YOU, false), + false), DrewTwoOrMoreCardsCondition.instance, "At the beginning of combat on your turn, if you've drawn more than one card this turn, " + "put X +1/+1 counters on target creature you control, " + diff --git a/Mage.Sets/src/mage/cards/r/RagingBattleMouse.java b/Mage.Sets/src/mage/cards/r/RagingBattleMouse.java index 5f680a1b527..72bd3553d96 100644 --- a/Mage.Sets/src/mage/cards/r/RagingBattleMouse.java +++ b/Mage.Sets/src/mage/cards/r/RagingBattleMouse.java @@ -2,7 +2,7 @@ package mage.cards.r; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CelebrationCondition; @@ -43,7 +43,7 @@ public final class RagingBattleMouse extends CardImpl { // Celebration -- 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 gets +1/+1 until end of turn. Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( - new BoostTargetEffect(1, 1, Duration.EndOfTurn), TargetController.YOU, false + new BoostTargetEffect(1, 1, Duration.EndOfTurn), false ), 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 gets +1/+1 until end of turn." diff --git a/Mage.Sets/src/mage/cards/r/RalMonsoonMage.java b/Mage.Sets/src/mage/cards/r/RalMonsoonMage.java index d214c9fe3f0..01d6a767f89 100644 --- a/Mage.Sets/src/mage/cards/r/RalMonsoonMage.java +++ b/Mage.Sets/src/mage/cards/r/RalMonsoonMage.java @@ -2,7 +2,7 @@ package mage.cards.r; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -116,4 +116,3 @@ class RalMonsoonMageEffect extends OneShotEffect { return true; } } - diff --git a/Mage.Sets/src/mage/cards/r/RammasEchorAncientShield.java b/Mage.Sets/src/mage/cards/r/RammasEchorAncientShield.java index 626f97e0d23..7f66aef5d09 100644 --- a/Mage.Sets/src/mage/cards/r/RammasEchorAncientShield.java +++ b/Mage.Sets/src/mage/cards/r/RammasEchorAncientShield.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.CastSecondSpellTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -42,7 +42,7 @@ public final class RammasEchorAncientShield extends CardImpl { this.addAbility(ability); // At the beginning of combat on your turn, creatures you control with defender gain exalted until end of turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect(new ExaltedAbility(), Duration.EndOfTurn, filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect(new ExaltedAbility(), Duration.EndOfTurn, filter), false)); } private RammasEchorAncientShield(final RammasEchorAncientShield card) { diff --git a/Mage.Sets/src/mage/cards/r/RavingDead.java b/Mage.Sets/src/mage/cards/r/RavingDead.java index 3a17b810234..8025c5ae401 100644 --- a/Mage.Sets/src/mage/cards/r/RavingDead.java +++ b/Mage.Sets/src/mage/cards/r/RavingDead.java @@ -4,7 +4,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.AttackIfAbleTargetRandomOpponentSourceEffect; @@ -34,7 +34,7 @@ public final class RavingDead extends CardImpl { // Deathtouch this.addAbility(DeathtouchAbility.getInstance()); // At the beginning of combat on your turn, choose an opponent at random. Raving Dead attacks that player this combat if able. - this.addAbility(new BeginningOfCombatTriggeredAbility(new AttackIfAbleTargetRandomOpponentSourceEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new AttackIfAbleTargetRandomOpponentSourceEffect(), false)); // Whenever Raving Dead deals combat damage to a player, that player loses half their life, rounded down. this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new RavingDeadDamageEffect(), false, true)); } diff --git a/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java b/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java index 1fdb20d202f..ddd38ac898f 100644 --- a/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java +++ b/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java @@ -4,7 +4,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.effects.common.DamageTargetEffect; @@ -39,7 +39,7 @@ public final class RazormaneMasticore extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand())), TargetController.YOU, false)); // At the beginning of your draw step, you may have Razormane Masticore deal 3 damage to target creature. - Ability ability = new BeginningOfDrawTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), TargetController.YOU, true); + Ability ability = new BeginningOfDrawTriggeredAbility(new DamageTargetEffect(3), true); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RecklessStormseeker.java b/Mage.Sets/src/mage/cards/r/RecklessStormseeker.java index 20f1d2838b0..6ae077ea926 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessStormseeker.java +++ b/Mage.Sets/src/mage/cards/r/RecklessStormseeker.java @@ -2,7 +2,7 @@ package mage.cards.r; import mage.MageInt; 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.GainAbilityTargetEffect; import mage.abilities.keyword.DayboundAbility; @@ -35,7 +35,7 @@ public final class RecklessStormseeker extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 0) .setText("target creature you control gets +1/+0"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect( HasteAbility.getInstance(), Duration.EndOfTurn diff --git a/Mage.Sets/src/mage/cards/r/ReservoirKraken.java b/Mage.Sets/src/mage/cards/r/ReservoirKraken.java index 222d61e866a..33a36860b35 100644 --- a/Mage.Sets/src/mage/cards/r/ReservoirKraken.java +++ b/Mage.Sets/src/mage/cards/r/ReservoirKraken.java @@ -3,7 +3,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -11,7 +11,6 @@ import mage.abilities.effects.OneShotEffect; import mage.constants.Outcome; import mage.constants.SubType; import mage.abilities.keyword.TrampleAbility; -import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.keyword.WardAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -46,7 +45,7 @@ public final class ReservoirKraken extends CardImpl { // At the beginning of each combat, if Reservoir Kraken is untapped, any opponent may tap an untapped creature they control. If they do, tap Reservoir Kraken and create a 1/1 blue Fish creature token with "This creature can't be blocked." this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfCombatTriggeredAbility(new ReservoirKrakenEffect(), TargetController.ANY, false), + new BeginningOfCombatTriggeredAbility(TargetController.ANY, new ReservoirKrakenEffect(), false), SourceTappedCondition.UNTAPPED, "At the beginning of each combat, if {this} is untapped, any opponent may tap an untapped creature they control. If they do, tap {this} and create a 1/1 blue Fish creature token with \"This creature can't be blocked.\"" )); diff --git a/Mage.Sets/src/mage/cards/r/RiaIvorBaneOfBladehold.java b/Mage.Sets/src/mage/cards/r/RiaIvorBaneOfBladehold.java index 84eb7bb6d2a..6f4884d0f3d 100644 --- a/Mage.Sets/src/mage/cards/r/RiaIvorBaneOfBladehold.java +++ b/Mage.Sets/src/mage/cards/r/RiaIvorBaneOfBladehold.java @@ -3,7 +3,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.PreventionEffectData; import mage.abilities.effects.PreventionEffectImpl; import mage.constants.*; @@ -36,7 +36,7 @@ public final class RiaIvorBaneOfBladehold extends CardImpl { this.addAbility(new BattleCryAbility()); // At the beginning of combat on your turn, the next time target creature would deal combat damage to one or more players this combat, prevent that damage. If damage is prevented this way, create that many 1/1 colorless Phyrexian Mite artifact creature tokens with toxic 1 and "This creature can't block." - Ability ability = new BeginningOfCombatTriggeredAbility(new RiaIvorBaneOfBladeholdEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new RiaIvorBaneOfBladeholdEffect(), false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RighteousAuthority.java b/Mage.Sets/src/mage/cards/r/RighteousAuthority.java index 0e5e7799fd1..6bb6f6f61e5 100644 --- a/Mage.Sets/src/mage/cards/r/RighteousAuthority.java +++ b/Mage.Sets/src/mage/cards/r/RighteousAuthority.java @@ -3,7 +3,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -44,8 +44,8 @@ public final class RighteousAuthority extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(boost, boost, Duration.WhileOnBattlefield))); // At the beginning of the draw step of enchanted creature's controller, that player draws an additional card. - this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1) - .setText("that player draws an additional card"), TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new DrawCardTargetEffect(1) + .setText("that player draws an additional card"), false)); } private RighteousAuthority(final RighteousAuthority card) { diff --git a/Mage.Sets/src/mage/cards/r/RionyaFireDancer.java b/Mage.Sets/src/mage/cards/r/RionyaFireDancer.java index 7289493692d..bd3427705df 100644 --- a/Mage.Sets/src/mage/cards/r/RionyaFireDancer.java +++ b/Mage.Sets/src/mage/cards/r/RionyaFireDancer.java @@ -2,7 +2,7 @@ package mage.cards.r; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.abilities.hint.Hint; @@ -37,7 +37,7 @@ public final class RionyaFireDancer extends CardImpl { // At the beginning of combat on your turn, create X tokens that are copies of another target creature you control, where X is one plus the number of instant and sorcery spells you've cast this turn. They gain haste. Exile them at the beginning of the next end step. Ability ability = new BeginningOfCombatTriggeredAbility( - new RionyaFireDancerEffect(), TargetController.YOU, false + new RionyaFireDancerEffect(), false ); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_CREATURE_YOU_CONTROL)); this.addAbility(ability.addHint(RionyaFireDancerHint.instance), new RionyaFireDancerWatcher()); diff --git a/Mage.Sets/src/mage/cards/r/RipplesOfUndeath.java b/Mage.Sets/src/mage/cards/r/RipplesOfUndeath.java index 4ac55d22899..210f848b851 100644 --- a/Mage.Sets/src/mage/cards/r/RipplesOfUndeath.java +++ b/Mage.Sets/src/mage/cards/r/RipplesOfUndeath.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.costs.Costs; import mage.abilities.costs.CostsImpl; import mage.abilities.costs.common.PayLifeCost; @@ -33,7 +33,7 @@ public final class RipplesOfUndeath extends CardImpl { // At the beginning of your precombat main phase, mill three cards. Then you may pay {1} and 3 life. If you do, put a card from among those cards into your hand. this.addAbility(new BeginningOfFirstMainTriggeredAbility( - new RipplesOfUndeathEffect(), TargetController.YOU, false + new RipplesOfUndeathEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/r/RitualGuardian.java b/Mage.Sets/src/mage/cards/r/RitualGuardian.java index 5bb079e24ba..d27338d6567 100644 --- a/Mage.Sets/src/mage/cards/r/RitualGuardian.java +++ b/Mage.Sets/src/mage/cards/r/RitualGuardian.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; @@ -31,7 +31,7 @@ public final class RitualGuardian extends CardImpl { new BeginningOfCombatTriggeredAbility( new GainAbilitySourceEffect( LifelinkAbility.getInstance(), Duration.EndOfTurn - ), TargetController.YOU, false + ), false ), CovenCondition.instance, "At the beginning of combat on your turn, if you control three " + "or more creatures with different powers, {this} gains lifelink until end of turn." ).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN)); diff --git a/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java b/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java index 6ec31ba2d6a..ad4a0b5fe44 100644 --- a/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java +++ b/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java @@ -3,7 +3,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.combat.AttackIfAbleTargetRandomOpponentSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -28,7 +28,7 @@ public final class RuhanOfTheFomori extends CardImpl { this.toughness = new MageInt(7); // At the beginning of combat on your turn, choose an opponent at random. Ruhan of the Fomori attacks that player this combat if able. - this.addAbility(new BeginningOfCombatTriggeredAbility(new AttackIfAbleTargetRandomOpponentSourceEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new AttackIfAbleTargetRandomOpponentSourceEffect(), false)); } private RuhanOfTheFomori(final RuhanOfTheFomori card) { diff --git a/Mage.Sets/src/mage/cards/s/SamLoyalAttendant.java b/Mage.Sets/src/mage/cards/s/SamLoyalAttendant.java index e05e51a5132..d633304eee5 100644 --- a/Mage.Sets/src/mage/cards/s/SamLoyalAttendant.java +++ b/Mage.Sets/src/mage/cards/s/SamLoyalAttendant.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.cost.CostModificationEffectImpl; @@ -36,7 +36,7 @@ public final class SamLoyalAttendant extends CardImpl { // At the beginning of combat on your turn, create a Food token. this.addAbility(new BeginningOfCombatTriggeredAbility( - new CreateTokenEffect(new FoodToken()), TargetController.YOU, false + new CreateTokenEffect(new FoodToken()), false )); // Activated abilities of Foods you control cost {1} less to activate. diff --git a/Mage.Sets/src/mage/cards/s/SanctumOfCalmWaters.java b/Mage.Sets/src/mage/cards/s/SanctumOfCalmWaters.java index eccd8190ae5..f8a84096699 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumOfCalmWaters.java +++ b/Mage.Sets/src/mage/cards/s/SanctumOfCalmWaters.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.discard.DiscardControllerEffect; @@ -39,7 +39,7 @@ public final class SanctumOfCalmWaters extends CardImpl { // At the beginning of your precombat main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card. Ability ability = new BeginningOfFirstMainTriggeredAbility(new DrawCardSourceControllerEffect(xValue) .setText("you may draw X cards, where X is the number of Shrines you control"), - TargetController.YOU, true) + true) .addHint(new ValueHint("Shrines you control", xValue)); ability.addEffect(new DiscardControllerEffect(1).setText("If you do, discard a card")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SanctumOfFruitfulHarvest.java b/Mage.Sets/src/mage/cards/s/SanctumOfFruitfulHarvest.java index a8731d7fffd..62f71b38bcd 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumOfFruitfulHarvest.java +++ b/Mage.Sets/src/mage/cards/s/SanctumOfFruitfulHarvest.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.Mana; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.mana.DynamicManaEffect; import mage.abilities.hint.ValueHint; @@ -42,7 +42,7 @@ public final class SanctumOfFruitfulHarvest extends CardImpl { xValue, "add X mana of any one color, where X is the number of Shrines you control", true), - TargetController.YOU, false) + false) .addHint(new ValueHint("Shrines you control", xValue))); } diff --git a/Mage.Sets/src/mage/cards/s/SanctumOfStoneFangs.java b/Mage.Sets/src/mage/cards/s/SanctumOfStoneFangs.java index ba285436409..92808c52645 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumOfStoneFangs.java +++ b/Mage.Sets/src/mage/cards/s/SanctumOfStoneFangs.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect; @@ -39,7 +39,7 @@ public final class SanctumOfStoneFangs extends CardImpl { // At the beginning of your precombat main phase, each opponent loses X life and you gain X life, where X is the number of Shrines you control. Ability ability = new BeginningOfFirstMainTriggeredAbility( new LoseLifeOpponentsEffect(xValue).setText("each opponent loses X life"), - TargetController.YOU, false) + false) .addHint(new ValueHint("Shrines you control", xValue)); ability.addEffect(new GainLifeEffect(xValue).setText("and you gain X life, where X is the number of Shrines you control")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SandsteppeWarRiders.java b/Mage.Sets/src/mage/cards/s/SandsteppeWarRiders.java index bbe144e2b69..0e98fe3cee5 100644 --- a/Mage.Sets/src/mage/cards/s/SandsteppeWarRiders.java +++ b/Mage.Sets/src/mage/cards/s/SandsteppeWarRiders.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.keyword.BolsterEffect; @@ -40,7 +40,7 @@ public final class SandsteppeWarRiders extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of combat on your turn, bolster X, where X is the number of differently named artifact tokens you control. - this.addAbility(new BeginningOfCombatTriggeredAbility(new BolsterEffect(SandsteppeWarRidersValue.instance), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new BolsterEffect(SandsteppeWarRidersValue.instance), false)); } private SandsteppeWarRiders(final SandsteppeWarRiders card) { diff --git a/Mage.Sets/src/mage/cards/s/ScuttlingButler.java b/Mage.Sets/src/mage/cards/s/ScuttlingButler.java index 874a3cfdb2f..51877e49959 100644 --- a/Mage.Sets/src/mage/cards/s/ScuttlingButler.java +++ b/Mage.Sets/src/mage/cards/s/ScuttlingButler.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -37,7 +37,7 @@ public final class ScuttlingButler extends CardImpl { // At the beginning of combat on your turn, if you control two or more multicolored permanents, Scuttling Butler gains double strike until end of turn. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfCombatTriggeredAbility(new GainAbilitySourceEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), TargetController.YOU, false), + new BeginningOfCombatTriggeredAbility(new GainAbilitySourceEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), false), condition, "At the beginning of combat on your turn, if you control two or more multicolored permanents, {this} gains double strike until end of turn." )); diff --git a/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java b/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java index d4d3c8ad22a..56ce4c1658c 100644 --- a/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java +++ b/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -30,7 +30,7 @@ public final class SenatorOnacondaFarr extends CardImpl { this.toughness = new MageInt(2); // At the beggining of each combat, target creature you control gets +1/+1 until end of turn. - Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), TargetController.ANY, false); + Ability ability = new BeginningOfCombatTriggeredAbility(TargetController.ANY, new BoostTargetEffect(1, 1, Duration.EndOfTurn), false); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java b/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java index 12d7ea7ce6e..910084a139b 100644 --- a/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java +++ b/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java @@ -1,9 +1,8 @@ - package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.TapTargetEffect; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; @@ -11,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIsActivePlayerPredicate; @@ -24,10 +22,10 @@ import java.util.UUID; */ public final class SentinelOfTheEternalWatch extends CardImpl { - private static final FilterPermanent filter = new FilterCreaturePermanent("creature controlled by the active player"); + private static final FilterPermanent filter = new FilterCreaturePermanent("creature that player controls"); static { - filter.add(new ControllerIsActivePlayerPredicate()); + filter.add(ControllerIsActivePlayerPredicate.instance); } public SentinelOfTheEternalWatch(UUID ownerId, CardSetInfo setInfo) { @@ -42,8 +40,8 @@ public final class SentinelOfTheEternalWatch extends CardImpl { // At the beginning of combat on each opponent's turn, tap target creature that player controls. Ability ability = new BeginningOfCombatTriggeredAbility( - Zone.BATTLEFIELD, new TapTargetEffect("tap target creature that player controls"), - TargetController.OPPONENT, false, false + TargetController.OPPONENT, new TapTargetEffect("tap target creature that player controls"), + false ); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); @@ -57,4 +55,4 @@ public final class SentinelOfTheEternalWatch extends CardImpl { public SentinelOfTheEternalWatch copy() { return new SentinelOfTheEternalWatch(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/s/SentryBot.java b/Mage.Sets/src/mage/cards/s/SentryBot.java index 2eb00c49f49..13a991ea907 100644 --- a/Mage.Sets/src/mage/cards/s/SentryBot.java +++ b/Mage.Sets/src/mage/cards/s/SentryBot.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.PayEnergyCost; @@ -57,7 +57,6 @@ public final class SentryBot extends CardImpl { CounterType.P1P1.createInstance(), StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED), new PayEnergyCost(3)), - TargetController.YOU, false)); } diff --git a/Mage.Sets/src/mage/cards/s/SentryOak.java b/Mage.Sets/src/mage/cards/s/SentryOak.java index 844512a8843..eddc97545f6 100644 --- a/Mage.Sets/src/mage/cards/s/SentryOak.java +++ b/Mage.Sets/src/mage/cards/s/SentryOak.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DoIfClashWonEffect; @@ -38,7 +38,7 @@ public final class SentryOak extends CardImpl { this.addAbility(DefenderAbility.getInstance()); // At the beginning of combat on your turn, you may clash with an opponent. If you win, Sentry Oak gets +2/+0 and loses defender until end of turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(new DoIfClashWonEffect(new SentryOakEffect()), TargetController.YOU, true)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new DoIfClashWonEffect(new SentryOakEffect()), true)); } private SentryOak(final SentryOak card) { diff --git a/Mage.Sets/src/mage/cards/s/ShadowOfTheSecondSun.java b/Mage.Sets/src/mage/cards/s/ShadowOfTheSecondSun.java index 8ab87b7d237..223162d12b8 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowOfTheSecondSun.java +++ b/Mage.Sets/src/mage/cards/s/ShadowOfTheSecondSun.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -31,9 +31,9 @@ public final class ShadowOfTheSecondSun extends CardImpl { this.addAbility(new EnchantAbility(auraTarget)); // At the beginning of enchanted player's postcombat main phase, there is an additional beginning phase after this phase. - this.addAbility(new BeginningOfPostCombatMainTriggeredAbility( - new ShadowOfTheSecondSunTargetEffect(), - TargetController.ENCHANTED, false + this.addAbility(new BeginningOfPostcombatMainTriggeredAbility( + TargetController.ENCHANTED, new ShadowOfTheSecondSunTargetEffect(), + false )); } @@ -72,4 +72,4 @@ class ShadowOfTheSecondSunTargetEffect extends OneShotEffect { game.getState().getTurnMods().add(new TurnMod(playerId).withExtraPhase(TurnPhase.BEGINNING)); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java b/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java index 14a8a905af2..de585fa998e 100644 --- a/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java +++ b/Mage.Sets/src/mage/cards/s/ShadrixSilverquill.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenTargetEffect; import mage.abilities.effects.common.DrawCardTargetEffect; @@ -56,7 +56,7 @@ public final class ShadrixSilverquill extends CardImpl { this.addAbility(DoubleStrikeAbility.getInstance()); // At the beginning of combat on your turn, you may choose two. Each mode must target a different player. - Ability ability = new BeginningOfCombatTriggeredAbility(null, TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(null, false); ability.getModes().setMinModes(2); ability.getModes().setMaxModes(2); ability.getModes().setMaxModesFilter(filter0); diff --git a/Mage.Sets/src/mage/cards/s/SiegeGangLieutenant.java b/Mage.Sets/src/mage/cards/s/SiegeGangLieutenant.java index c6382107029..10a198d998d 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeGangLieutenant.java +++ b/Mage.Sets/src/mage/cards/s/SiegeGangLieutenant.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.CommanderInPlayCondition; import mage.abilities.costs.common.SacrificeTargetCost; @@ -11,7 +11,6 @@ import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.hint.common.ControlACommanderHint; import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -43,7 +42,7 @@ public final class SiegeGangLieutenant extends CardImpl { // Lieutenant -- At the beginning of combat on your turn, if you control your commander, create two 1/1 red Goblin creature tokens. Those tokens gain haste until end of turn. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( - new SiegeGangLieutenantEffect(), TargetController.YOU, false + new SiegeGangLieutenantEffect(), false ), CommanderInPlayCondition.instance, "At the beginning of combat on your turn, " + "if you control your commander, create two 1/1 red Goblin creature tokens. " + "Those tokens gain haste until end of turn." diff --git a/Mage.Sets/src/mage/cards/s/SiegeVeteran.java b/Mage.Sets/src/mage/cards/s/SiegeVeteran.java index 2b1e83d12ea..981a189e2bb 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeVeteran.java +++ b/Mage.Sets/src/mage/cards/s/SiegeVeteran.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; @@ -43,7 +43,7 @@ public final class SiegeVeteran extends CardImpl { // At the beginning of combat on your turn, put a +1/+1 counter on target creature you control. Ability ability = new BeginningOfCombatTriggeredAbility( - new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false + new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false ); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SigardianZealot.java b/Mage.Sets/src/mage/cards/s/SigardianZealot.java index df8e32d5479..4377cf01b7b 100644 --- a/Mage.Sets/src/mage/cards/s/SigardianZealot.java +++ b/Mage.Sets/src/mage/cards/s/SigardianZealot.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -36,7 +36,7 @@ public final class SigardianZealot extends CardImpl { // At the beginning of combat on your turn, choose any number of creatures with different powers. Each of them gets +X/+X and gains vigilance until end of turn, where X is Sigardian Zealot's power. this.addAbility(new BeginningOfCombatTriggeredAbility( - new SigardianZealotEffect(), TargetController.YOU, false + new SigardianZealotEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/s/SightOfTheScalelords.java b/Mage.Sets/src/mage/cards/s/SightOfTheScalelords.java index 019a65dfc01..d1ad010ee4c 100644 --- a/Mage.Sets/src/mage/cards/s/SightOfTheScalelords.java +++ b/Mage.Sets/src/mage/cards/s/SightOfTheScalelords.java @@ -1,9 +1,7 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; @@ -14,12 +12,12 @@ import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ToughnessPredicate; +import java.util.UUID; + /** - * * @author LevelX2 */ public final class SightOfTheScalelords extends CardImpl { @@ -37,7 +35,7 @@ public final class SightOfTheScalelords extends CardImpl { // At the beginning of combat on your turn, creature you control with toughness 4 or greater get +2/+2 and gain vigilance until end of turn. Effect effect = new BoostControlledEffect(2, 2, Duration.EndOfTurn, filter, false); effect.setText("creatures you control with toughness 4 or greater get +2/+2"); - Ability ability = new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false, false); + Ability ability = new BeginningOfCombatTriggeredAbility(effect, false); effect = new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, filter); effect.setText("and gain vigilance until end of turn"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/s/SigilOfMyrkul.java b/Mage.Sets/src/mage/cards/s/SigilOfMyrkul.java index beb0ad1e1e2..cb3573ff204 100644 --- a/Mage.Sets/src/mage/cards/s/SigilOfMyrkul.java +++ b/Mage.Sets/src/mage/cards/s/SigilOfMyrkul.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; @@ -40,7 +40,7 @@ public final class SigilOfMyrkul extends CardImpl { // At the beginning of combat on your turn, mill a card. When you do, if there are four or more creature cards in your graveyard, put a +1/+1 counter on target creature you control and it gains deathtouch until end of turn. this.addAbility(new BeginningOfCombatTriggeredAbility( - new SigilOfMyrkulEffect(), TargetController.YOU, false + new SigilOfMyrkulEffect(), false ).addHint(hint)); } diff --git a/Mage.Sets/src/mage/cards/s/SinisterMonolith.java b/Mage.Sets/src/mage/cards/s/SinisterMonolith.java index 69b89c20851..5f9945fd26f 100644 --- a/Mage.Sets/src/mage/cards/s/SinisterMonolith.java +++ b/Mage.Sets/src/mage/cards/s/SinisterMonolith.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.abilities.Ability; import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -26,7 +26,7 @@ public final class SinisterMonolith extends CardImpl { // At the beginning of combat on your turn, each opponent loses 1 life and you gain 1 life. Ability ability = new BeginningOfCombatTriggeredAbility( - new LoseLifeOpponentsEffect(1), TargetController.YOU, false + new LoseLifeOpponentsEffect(1), false ); ability.addEffect(new GainLifeEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SithMagic.java b/Mage.Sets/src/mage/cards/s/SithMagic.java index f0d8f6684a3..f43dd8ff16e 100644 --- a/Mage.Sets/src/mage/cards/s/SithMagic.java +++ b/Mage.Sets/src/mage/cards/s/SithMagic.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.condition.common.HateCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -43,7 +43,7 @@ public final class SithMagic extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{B}{R}"); // Hate — At the beggining of each combat, if opponent lost life from a source other than combat damage this turn, you may return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield. - TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(new SithMagicEffect(), TargetController.ANY, true); + TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(TargetController.ANY, new SithMagicEffect(), true); triggeredAbility.addEffect(new SithMagicReplacementEffect()); Ability ability = new ConditionalInterveningIfTriggeredAbility( triggeredAbility, diff --git a/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java b/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java index 57d95dfd5ca..1fdd2cf5371 100644 --- a/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java +++ b/Mage.Sets/src/mage/cards/s/SkyriderPatrol.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoWhenCostPaid; @@ -46,7 +46,7 @@ public final class SkyriderPatrol extends CardImpl { ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_CREATURE_YOU_CONTROL)); this.addAbility(new BeginningOfCombatTriggeredAbility(new DoWhenCostPaid( ability, new ManaCostsImpl<>("{G}{U}"), "Pay {G}{U}?" - ), TargetController.YOU, false)); + ), false)); } private SkyriderPatrol(final SkyriderPatrol card) { diff --git a/Mage.Sets/src/mage/cards/s/SlimyDualleech.java b/Mage.Sets/src/mage/cards/s/SlimyDualleech.java index ec25afa7409..8a1473f56c8 100644 --- a/Mage.Sets/src/mage/cards/s/SlimyDualleech.java +++ b/Mage.Sets/src/mage/cards/s/SlimyDualleech.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; 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.GainAbilityTargetEffect; import mage.abilities.keyword.DeathtouchAbility; @@ -42,7 +42,7 @@ public final class SlimyDualleech extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(1, 0) .setText("target creature you control with power 2 or less gets +1/+0"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect(DeathtouchAbility.getInstance()) .setText("and gains deathtouch until end of turn")); diff --git a/Mage.Sets/src/mage/cards/s/SokenzanSmelter.java b/Mage.Sets/src/mage/cards/s/SokenzanSmelter.java index 33339b1e092..680979640d3 100644 --- a/Mage.Sets/src/mage/cards/s/SokenzanSmelter.java +++ b/Mage.Sets/src/mage/cards/s/SokenzanSmelter.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.CompositeCost; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.GenericManaCost; @@ -14,7 +14,6 @@ import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.permanent.token.ConstructRedToken; -import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -38,7 +37,7 @@ public final class SokenzanSmelter extends CardImpl { new GenericManaCost(1), new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_PERMANENT_ARTIFACT_AN), "pay {1} and sacrifice an artifact" ) - ), TargetController.YOU, false)); + ), false)); } private SokenzanSmelter(final SokenzanSmelter card) { diff --git a/Mage.Sets/src/mage/cards/s/SorinOfHouseMarkov.java b/Mage.Sets/src/mage/cards/s/SorinOfHouseMarkov.java index dda228155be..9064d66d8b2 100644 --- a/Mage.Sets/src/mage/cards/s/SorinOfHouseMarkov.java +++ b/Mage.Sets/src/mage/cards/s/SorinOfHouseMarkov.java @@ -1,8 +1,8 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.Pronoun; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.constants.Pronoun; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.YouGainedLifeCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -47,9 +47,8 @@ public final class SorinOfHouseMarkov extends CardImpl { // At the beginning of your postcombat main phase, if you gained 3 or more life this turn, exile Sorin of House Markov, then return him to the battlefield transformed under his owner's control. this.addAbility(new TransformAbility()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfPostCombatMainTriggeredAbility( + new BeginningOfPostcombatMainTriggeredAbility( new ExileAndReturnSourceEffect(PutCards.BATTLEFIELD_TRANSFORMED, Pronoun.SHE), - TargetController.YOU, false ), condition, "At the beginning of your postcombat main phase, " + "if you gained 3 or more life this turn, exile {this}, " diff --git a/Mage.Sets/src/mage/cards/s/SparkshaperVisionary.java b/Mage.Sets/src/mage/cards/s/SparkshaperVisionary.java index 22e6fd74b32..2d0d5610f7c 100644 --- a/Mage.Sets/src/mage/cards/s/SparkshaperVisionary.java +++ b/Mage.Sets/src/mage/cards/s/SparkshaperVisionary.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; import mage.abilities.effects.keyword.ScryEffect; @@ -40,7 +40,7 @@ public final class SparkshaperVisionary extends CardImpl { // At the beginning of combat on your turn, choose any number of target planeswalkers you control. Until end of turn, they become 3/3 blue Bird creatures with flying, hexproof, and "Whenever this creature deals combat damage to a player, scry 1." TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility( - new BecomesCreatureTargetEffect( + TargetController.YOU, new BecomesCreatureTargetEffect( new SparkshaperVisionaryToken(), false, false, Duration.EndOfTurn, false, true, true @@ -48,8 +48,7 @@ public final class SparkshaperVisionary extends CardImpl { + "they become 3/3 blue Bird creatures with flying, hexproof, and " + "\"Whenever this creature deals combat damage to a player, scry 1.\"" + " (They're no longer planeswalkers. Loyalty abilities can still be activated.)"), - TargetController.YOU, - false + false ); triggeredAbility.addTarget( diff --git a/Mage.Sets/src/mage/cards/s/SpellbookVendor.java b/Mage.Sets/src/mage/cards/s/SpellbookVendor.java index 0c2738f0719..65198aba75a 100644 --- a/Mage.Sets/src/mage/cards/s/SpellbookVendor.java +++ b/Mage.Sets/src/mage/cards/s/SpellbookVendor.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.CreateRoleAttachedTargetEffect; @@ -40,7 +40,7 @@ public final class SpellbookVendor extends CardImpl { ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(new BeginningOfCombatTriggeredAbility(new DoWhenCostPaid( ability, new GenericManaCost(1), "Pay {1}?" - ), TargetController.YOU, false)); + ), false)); } private SpellbookVendor(final SpellbookVendor card) { diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfTheSecondSun.java b/Mage.Sets/src/mage/cards/s/SphinxOfTheSecondSun.java index 1c699fb98c5..cc574e54371 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfTheSecondSun.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfTheSecondSun.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -31,8 +31,8 @@ public final class SphinxOfTheSecondSun extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your postcombat main phase, you get an additional beginning phase after this phase. (The beginning phase includes the untap, upkeep, and draw steps.) - this.addAbility(new BeginningOfPostCombatMainTriggeredAbility( - new SphinxOfTheSecondSunEffect(), TargetController.YOU, false + this.addAbility(new BeginningOfPostcombatMainTriggeredAbility( + TargetController.YOU, new SphinxOfTheSecondSunEffect(), false ), new SphinxOfTheSecondSunWatcher()); } diff --git a/Mage.Sets/src/mage/cards/s/SpitefulVisions.java b/Mage.Sets/src/mage/cards/s/SpitefulVisions.java index baa278eeba4..e117f291f8e 100644 --- a/Mage.Sets/src/mage/cards/s/SpitefulVisions.java +++ b/Mage.Sets/src/mage/cards/s/SpitefulVisions.java @@ -1,10 +1,8 @@ - package mage.cards.s; -import java.util.UUID; import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DrawCardTargetEffect; @@ -15,21 +13,21 @@ import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.target.targetpointer.FixedTarget; +import java.util.UUID; + /** - * * @author jeffwadsworth */ public final class SpitefulVisions extends CardImpl { public SpitefulVisions(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B/R}{B/R}"); + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B/R}{B/R}"); // At the beginning of each player's draw step, that player draws an additional card. - this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardTargetEffect(1).setText("that player draws an additional card"), TargetController.ANY, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new DrawCardTargetEffect(1).setText("that player draws an additional card"), false)); // Whenever a player draws a card, Spiteful Visions deals 1 damage to that player. TriggeredAbility triggeredAbility = new SpitefulVisionsTriggeredAbility(new DamageTargetEffect(1), false); @@ -46,7 +44,7 @@ public final class SpitefulVisions extends CardImpl { } } -class SpitefulVisionsTriggeredAbility extends TriggeredAbilityImpl { +class SpitefulVisionsTriggeredAbility extends TriggeredAbilityImpl { public SpitefulVisionsTriggeredAbility(Effect effect, boolean optional) { super(Zone.BATTLEFIELD, effect, optional); @@ -81,4 +79,4 @@ class SpitefulVisionsTriggeredAbility extends TriggeredAbilityImpl { public SpitefulVisionsTriggeredAbility copy() { return new SpitefulVisionsTriggeredAbility(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/s/SquadCommander.java b/Mage.Sets/src/mage/cards/s/SquadCommander.java index fdaed49d125..36188363751 100644 --- a/Mage.Sets/src/mage/cards/s/SquadCommander.java +++ b/Mage.Sets/src/mage/cards/s/SquadCommander.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.FullPartyCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -46,7 +46,7 @@ public final class SquadCommander extends CardImpl { new BeginningOfCombatTriggeredAbility( new BoostControlledEffect( 1, 0, Duration.EndOfTurn - ), TargetController.YOU, false + ), false ), FullPartyCondition.instance, "At the beginning of combat on your turn, " + "if you have a full party, creatures you control get +1/+0 and gain indestructible until end of turn." ); diff --git a/Mage.Sets/src/mage/cards/s/StalwartPathlighter.java b/Mage.Sets/src/mage/cards/s/StalwartPathlighter.java index 97185c634fc..defdc278802 100644 --- a/Mage.Sets/src/mage/cards/s/StalwartPathlighter.java +++ b/Mage.Sets/src/mage/cards/s/StalwartPathlighter.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; @@ -36,7 +36,7 @@ public final class StalwartPathlighter extends CardImpl { new BeginningOfCombatTriggeredAbility(new GainAbilityControlledEffect( IndestructibleAbility.getInstance(), Duration.EndOfTurn, StaticFilters.FILTER_CONTROLLED_CREATURE - ), 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, " + "creatures you control gain indestructible until end of turn." ).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN)); diff --git a/Mage.Sets/src/mage/cards/s/StampedeRider.java b/Mage.Sets/src/mage/cards/s/StampedeRider.java index a05cabb5947..b37887a022e 100644 --- a/Mage.Sets/src/mage/cards/s/StampedeRider.java +++ b/Mage.Sets/src/mage/cards/s/StampedeRider.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.BoostSourceEffect; @@ -33,8 +33,8 @@ public final class StampedeRider extends CardImpl { // At the beginning of each combat, if you control a creature with power 4 or greater, Stampede Rider gets +1/+1 until end of turn. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( - new BoostSourceEffect(1, 1, Duration.EndOfTurn), - TargetController.ANY, false + TargetController.ANY, new BoostSourceEffect(1, 1, Duration.EndOfTurn), + false ), FerociousCondition.instance, "At the beginning of each combat, " + "if you control a creature with power 4 or greater, {this} gets +1/+1 until end of turn." )); diff --git a/Mage.Sets/src/mage/cards/s/StandOrFall.java b/Mage.Sets/src/mage/cards/s/StandOrFall.java index 35c0f7ae56b..e2d321104fb 100644 --- a/Mage.Sets/src/mage/cards/s/StandOrFall.java +++ b/Mage.Sets/src/mage/cards/s/StandOrFall.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.CantBlockAllEffect; import mage.cards.CardImpl; @@ -34,7 +34,7 @@ public final class StandOrFall extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); // At the beginning of combat on your turn, for each defending player, separate all creatures that player controls into two piles and that player chooses one. Only creatures in the chosen piles can block this turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(new StandOrFallEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new StandOrFallEffect(), false)); } private StandOrFall(final StandOrFall card) { diff --git a/Mage.Sets/src/mage/cards/s/StarlightSpectacular.java b/Mage.Sets/src/mage/cards/s/StarlightSpectacular.java index 2bb34137597..abd460d78d0 100644 --- a/Mage.Sets/src/mage/cards/s/StarlightSpectacular.java +++ b/Mage.Sets/src/mage/cards/s/StarlightSpectacular.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; @@ -28,7 +28,7 @@ public final class StarlightSpectacular extends CardImpl { // Parade! -- At the beginning of combat on your turn, choose creatures you control one at a time until each creature you control has been chosen. Each of those creatures gets +1/+1 until end of turn for each creature chosen before it. this.addAbility(new BeginningOfCombatTriggeredAbility( - new StarlightSpectacularEffect(), TargetController.YOU, false + new StarlightSpectacularEffect(), false ).withFlavorWord("Parade!")); } diff --git a/Mage.Sets/src/mage/cards/s/StaticPrison.java b/Mage.Sets/src/mage/cards/s/StaticPrison.java index a5675164dce..95fef2517fc 100644 --- a/Mage.Sets/src/mage/cards/s/StaticPrison.java +++ b/Mage.Sets/src/mage/cards/s/StaticPrison.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.PayEnergyCost; import mage.abilities.effects.common.ExileUntilSourceLeavesEffect; @@ -32,7 +32,7 @@ public final class StaticPrison extends CardImpl { // At the beginning of your precombat main phase, sacrifice Static Prison unless you pay {E}. this.addAbility(new BeginningOfFirstMainTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new PayEnergyCost(1)), TargetController.YOU, false + new SacrificeSourceUnlessPaysEffect(new PayEnergyCost(1)), false )); } diff --git a/Mage.Sets/src/mage/cards/s/SteelDromedary.java b/Mage.Sets/src/mage/cards/s/SteelDromedary.java index 28cbc3a922c..375bf5dc97c 100644 --- a/Mage.Sets/src/mage/cards/s/SteelDromedary.java +++ b/Mage.Sets/src/mage/cards/s/SteelDromedary.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; @@ -50,7 +50,7 @@ public final class SteelDromedary extends CardImpl { // At the beginning of combat on your turn, you may move a +1/+1 counter from Steel Dromedary onto target creature. ability = new BeginningOfCombatTriggeredAbility( - new MoveCountersFromSourceToTargetEffect(), TargetController.YOU, true + new MoveCountersFromSourceToTargetEffect(), true ); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SteelSeraph.java b/Mage.Sets/src/mage/cards/s/SteelSeraph.java index 4b7ed466563..f4ae032169b 100644 --- a/Mage.Sets/src/mage/cards/s/SteelSeraph.java +++ b/Mage.Sets/src/mage/cards/s/SteelSeraph.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.GainsChoiceOfAbilitiesEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.LifelinkAbility; @@ -38,7 +38,7 @@ public final class SteelSeraph extends CardImpl { // At the beginning of combat on your turn, target creature you control gains your choice of flying, vigilance, or lifelink until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility(new GainsChoiceOfAbilitiesEffect( FlyingAbility.getInstance(), VigilanceAbility.getInstance(), LifelinkAbility.getInstance()), - TargetController.YOU, false + false ); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/StingTheGlintingDagger.java b/Mage.Sets/src/mage/cards/s/StingTheGlintingDagger.java index b627536103e..0d6c621b6f1 100644 --- a/Mage.Sets/src/mage/cards/s/StingTheGlintingDagger.java +++ b/Mage.Sets/src/mage/cards/s/StingTheGlintingDagger.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.GenericManaCost; @@ -45,8 +45,8 @@ public final class StingTheGlintingDagger extends CardImpl { // At the beginning of each combat, untap equipped creature. this.addAbility(new BeginningOfCombatTriggeredAbility( - new UntapAttachedEffect(AttachmentType.EQUIPMENT, "creature"), - TargetController.ANY, false)); + TargetController.ANY, new UntapAttachedEffect(AttachmentType.EQUIPMENT, "creature"), + false)); // Equipped creature has first strike as long as it's blocking or blocked by a Goblin or Orc. this.addAbility(new SimpleStaticAbility( diff --git a/Mage.Sets/src/mage/cards/s/StormChargedSlasher.java b/Mage.Sets/src/mage/cards/s/StormChargedSlasher.java index 7557903736a..58f0134b33a 100644 --- a/Mage.Sets/src/mage/cards/s/StormChargedSlasher.java +++ b/Mage.Sets/src/mage/cards/s/StormChargedSlasher.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; 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.GainAbilityTargetEffect; import mage.abilities.keyword.HasteAbility; @@ -36,7 +36,7 @@ public final class StormChargedSlasher extends CardImpl { Ability ability = new BeginningOfCombatTriggeredAbility( new BoostTargetEffect(2, 0) .setText("target creature you control gets +2/+0"), - TargetController.YOU, false + false ); ability.addEffect(new GainAbilityTargetEffect( TrampleAbility.getInstance(), Duration.EndOfTurn diff --git a/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java b/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java index 831798d86d8..0061fc30d17 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java +++ b/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.FormidableCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -34,7 +34,7 @@ public final class SurrakTheHuntCaller extends CardImpl { // Formidable — At the beginning of combat on your turn, if creatures you control have total power 8 or greater, target creature you control gains haste until end of turn. Ability ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), TargetController.YOU, false), + new BeginningOfCombatTriggeredAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), false), FormidableCondition.instance, "Formidable — At the beginning of combat on your turn, if creatures you control have total power 8 or greater, target creature you control gains haste until end of turn."); ability.addTarget(new TargetControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/s/SylvanLibrary.java b/Mage.Sets/src/mage/cards/s/SylvanLibrary.java index ef60c54893a..850d6f674d4 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanLibrary.java +++ b/Mage.Sets/src/mage/cards/s/SylvanLibrary.java @@ -7,7 +7,7 @@ import java.util.Set; import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -36,7 +36,7 @@ public final class SylvanLibrary extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}"); // At the beginning of your draw step, you may draw two additional cards. If you do, choose two cards in your hand drawn this turn. For each of those cards, pay 4 life or put the card on top of your library. - this.addAbility(new BeginningOfDrawTriggeredAbility(new SylvanLibraryEffect(), TargetController.YOU, true), + this.addAbility(new BeginningOfDrawTriggeredAbility(new SylvanLibraryEffect(), true), new SylvanLibraryCardsDrawnThisTurnWatcher()); } diff --git a/Mage.Sets/src/mage/cards/t/TamiyoInquisitiveStudent.java b/Mage.Sets/src/mage/cards/t/TamiyoInquisitiveStudent.java index 762b61321c0..6db926dfb59 100644 --- a/Mage.Sets/src/mage/cards/t/TamiyoInquisitiveStudent.java +++ b/Mage.Sets/src/mage/cards/t/TamiyoInquisitiveStudent.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.MageInt; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.common.AttacksTriggeredAbility; import mage.abilities.common.DrawNthCardTriggeredAbility; import mage.abilities.effects.common.ExileAndReturnSourceEffect; diff --git a/Mage.Sets/src/mage/cards/t/TangletroveKelp.java b/Mage.Sets/src/mage/cards/t/TangletroveKelp.java index 01a59bd6679..86149e4d04f 100644 --- a/Mage.Sets/src/mage/cards/t/TangletroveKelp.java +++ b/Mage.Sets/src/mage/cards/t/TangletroveKelp.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.keyword.WardAbility; @@ -32,7 +32,7 @@ public final class TangletroveKelp extends CardImpl { this.addAbility(new WardAbility(new GenericManaCost(2), false)); // At the beginning of each combat, other Clues you control become 6/6 Plant creatures in addition to their other types until end of turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(new TangletroveKelpEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.ANY, new TangletroveKelpEffect(), false)); // {2}, Sacrifice Tangletrove Kelp: Draw a card. this.addAbility(new ClueAbility(true)); diff --git a/Mage.Sets/src/mage/cards/t/TeferisPuzzleBox.java b/Mage.Sets/src/mage/cards/t/TeferisPuzzleBox.java index c5a767f1e48..00640e39d0e 100644 --- a/Mage.Sets/src/mage/cards/t/TeferisPuzzleBox.java +++ b/Mage.Sets/src/mage/cards/t/TeferisPuzzleBox.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -24,7 +24,7 @@ public final class TeferisPuzzleBox extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); // At the beginning of each player's draw step, that player puts the cards in their hand on the bottom of their library in any order, then draws that many cards. - Ability ability = new BeginningOfDrawTriggeredAbility(new TeferisPuzzleBoxEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfDrawTriggeredAbility(TargetController.EACH_PLAYER, new TeferisPuzzleBoxEffect(), false); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java b/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java index e3a7e4afd20..1fd667454c4 100644 --- a/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java +++ b/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; @@ -43,7 +43,7 @@ public final class TemmetVizierOfNaktamun extends CardImpl { this.toughness = new MageInt(2); // At the beginning of combat on your turn, target creature token you control gets +1/+1 until end of turn and can't be blocked this turn. - Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(1, 1, Duration.EndOfTurn), false); Effect effect = new CantBeBlockedTargetEffect(); effect.setText(" and can't be blocked this turn"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/t/TerritorialHellkite.java b/Mage.Sets/src/mage/cards/t/TerritorialHellkite.java index 12eeb07897c..c51f216dc2c 100644 --- a/Mage.Sets/src/mage/cards/t/TerritorialHellkite.java +++ b/Mage.Sets/src/mage/cards/t/TerritorialHellkite.java @@ -9,7 +9,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttacksIfAbleTargetPlayerSourceEffect; @@ -50,7 +50,7 @@ public final class TerritorialHellkite extends CardImpl { this.addAbility(HasteAbility.getInstance()); // At the beginning of combat on your turn, choose an opponent at random that Territorial Hellkite didn't attack during your last combat. Territorial Hellkite attacks that player this combat if able. If you can't choose an opponent this way, tap Territorial Hellkite. - this.addAbility(new BeginningOfCombatTriggeredAbility(new AttackIfAbleTargetRandoOpponentSourceEffect(), TargetController.YOU, false), new AttackedLastCombatWatcher()); + this.addAbility(new BeginningOfCombatTriggeredAbility(new AttackIfAbleTargetRandoOpponentSourceEffect(), false), new AttackedLastCombatWatcher()); } private TerritorialHellkite(final TerritorialHellkite card) { diff --git a/Mage.Sets/src/mage/cards/t/TerritorialWitchstalker.java b/Mage.Sets/src/mage/cards/t/TerritorialWitchstalker.java index 8f82fe6124b..f0fba7c4910 100644 --- a/Mage.Sets/src/mage/cards/t/TerritorialWitchstalker.java +++ b/Mage.Sets/src/mage/cards/t/TerritorialWitchstalker.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.combat.CanAttackAsThoughItDidntHaveDefenderSourceEffect; @@ -35,7 +35,7 @@ public final class TerritorialWitchstalker extends CardImpl { this.addAbility(DefenderAbility.getInstance()); // At the beginning of combat on your turn, if you control a creature with power 4 or greater, Territorial Witchstalker gets +1/+0 until end of turn and can attack this turn as though it didn't have defender. - TriggeredAbility ability = new BeginningOfCombatTriggeredAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfCombatTriggeredAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), false); ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.EndOfTurn)); ability.addHint(FerociousHint.instance); this.addAbility(new ConditionalInterveningIfTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/t/TheDalekEmperor.java b/Mage.Sets/src/mage/cards/t/TheDalekEmperor.java index 0efea166e64..925335387bc 100644 --- a/Mage.Sets/src/mage/cards/t/TheDalekEmperor.java +++ b/Mage.Sets/src/mage/cards/t/TheDalekEmperor.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.OneShotEffect; @@ -22,8 +22,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.DalekToken; import mage.players.Player; -import mage.target.TargetPermanent; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetSacrifice; import java.util.UUID; @@ -54,7 +52,7 @@ public final class TheDalekEmperor extends CardImpl { // At the beginning of combat on your turn, each opponent faces a villainous choice -- That player sacrifices a creature they control, or you create a 3/3 black Dalek artifact creature token with menace. this.addAbility(new BeginningOfCombatTriggeredAbility( - new TheDalekEmperorEffect(), TargetController.YOU, false + new TheDalekEmperorEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/t/TheImmortalSun.java b/Mage.Sets/src/mage/cards/t/TheImmortalSun.java index 0904a6ca43d..f1cce7298c2 100644 --- a/Mage.Sets/src/mage/cards/t/TheImmortalSun.java +++ b/Mage.Sets/src/mage/cards/t/TheImmortalSun.java @@ -3,7 +3,7 @@ package mage.cards.t; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.LoyaltyAbility; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -35,7 +35,7 @@ public final class TheImmortalSun extends CardImpl { // At the beginning of your draw step, draw an additional card. this.addAbility(new BeginningOfDrawTriggeredAbility(new DrawCardSourceControllerEffect(1) - .setText("draw an additional card"), TargetController.YOU, false)); + .setText("draw an additional card"), false)); // Spells you cast cost {1} less to cast. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(new FilterCard("Spells"), 1))); diff --git a/Mage.Sets/src/mage/cards/t/TheOzolith.java b/Mage.Sets/src/mage/cards/t/TheOzolith.java index 02862faf1b7..4a0c9987577 100644 --- a/Mage.Sets/src/mage/cards/t/TheOzolith.java +++ b/Mage.Sets/src/mage/cards/t/TheOzolith.java @@ -1,9 +1,8 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.LeavesBattlefieldAllTriggeredAbility; -import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCountersCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -40,7 +39,7 @@ public final class TheOzolith extends CardImpl { // At the beginning of combat on your turn, if The Ozolith has counters on it, you may move all counters from The Ozolith onto target creature. Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( - new TheOzolithMoveCountersEffect(), TargetController.YOU, true + new TheOzolithMoveCountersEffect(), true ), SourceHasCountersCondition.instance, "At the beginning of combat on your turn, " + "if {this} has counters on it, you may move all counters from {this} onto target creature." ); diff --git a/Mage.Sets/src/mage/cards/t/ThousandMoonsSmithy.java b/Mage.Sets/src/mage/cards/t/ThousandMoonsSmithy.java index 78e74da48d1..945406d5f37 100644 --- a/Mage.Sets/src/mage/cards/t/ThousandMoonsSmithy.java +++ b/Mage.Sets/src/mage/cards/t/ThousandMoonsSmithy.java @@ -1,6 +1,6 @@ package mage.cards.t; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.TapTargetCost; import mage.abilities.effects.common.CreateTokenEffect; @@ -52,7 +52,6 @@ public final class ThousandMoonsSmithy extends CardImpl { new TransformSourceEffect(), new TapTargetCost(new TargetControlledPermanent(5, filter)) ), - TargetController.YOU, false )); } diff --git a/Mage.Sets/src/mage/cards/t/TiminYouthfulGeist.java b/Mage.Sets/src/mage/cards/t/TiminYouthfulGeist.java index a83e98a5afd..a33067b6386 100644 --- a/Mage.Sets/src/mage/cards/t/TiminYouthfulGeist.java +++ b/Mage.Sets/src/mage/cards/t/TiminYouthfulGeist.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.TapTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.PartnerWithAbility; @@ -37,8 +37,8 @@ public final class TiminYouthfulGeist extends CardImpl { // At the beginning of each combat, tap up to one target creature. Ability ability = new BeginningOfCombatTriggeredAbility( - new TapTargetEffect().setText("tap up to one target creature"), - TargetController.ANY, false + TargetController.ANY, new TapTargetEffect().setText("tap up to one target creature"), + false ); ability.addTarget(new TargetCreaturePermanent(0, 1)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java b/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java index 540f0cdb754..d7eebccbb1c 100644 --- a/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java +++ b/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.LockedInCondition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -41,7 +41,7 @@ public final class ToolcraftExemplar extends CardImpl { new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new LockedInCondition(new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent(), ComparisonType.MORE_THAN, 2)), null); Ability ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfCombatTriggeredAbility(new BoostSourceEffect(2, 1, Duration.EndOfTurn), TargetController.YOU, false), + new BeginningOfCombatTriggeredAbility(new BoostSourceEffect(2, 1, Duration.EndOfTurn), false), new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), "At the beginning of combat on your turn, if you control an artifact, {this} gets +2/+1 until end of turn." + " If you control at least 3 artifacts, it also gains first strike until end of turn."); diff --git a/Mage.Sets/src/mage/cards/t/TriarchStalker.java b/Mage.Sets/src/mage/cards/t/TriarchStalker.java index 395e5f3eac5..4503dcdb4f8 100644 --- a/Mage.Sets/src/mage/cards/t/TriarchStalker.java +++ b/Mage.Sets/src/mage/cards/t/TriarchStalker.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityAllEffect; @@ -41,7 +41,7 @@ public final class TriarchStalker extends CardImpl { // Targeting Relay — At the beginning of combat on your turn, choose an opponent. this.addAbility(new BeginningOfCombatTriggeredAbility( - new TriarchStalkerEffect(), TargetController.YOU, false + new TriarchStalkerEffect(), false ).withFlavorWord("Targeting Relay")); // Creatures attacking the last chosen player have menace. diff --git a/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java b/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java index 20eb3cc7c0c..a225b9342bd 100644 --- a/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java +++ b/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java @@ -3,7 +3,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfPostCombatMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfPostcombatMainTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.OneShotEffect; @@ -15,7 +15,6 @@ import mage.constants.*; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.players.Player; import mage.watchers.Watcher; @@ -40,7 +39,7 @@ public final class TymnaTheWeaver extends CardImpl { this.addAbility(LifelinkAbility.getInstance()); // At the beginning of your postcombat main phase, you may pay X life, where X is the number of opponents that were dealt combat damage this turn. If you do, draw X cards. - this.addAbility(new BeginningOfPostCombatMainTriggeredAbility(new TymnaTheWeaverEffect(), TargetController.YOU, true), new TymnaTheWeaverWatcher()); + this.addAbility(new BeginningOfPostcombatMainTriggeredAbility(new TymnaTheWeaverEffect(), true), new TymnaTheWeaverWatcher()); // Partner this.addAbility(PartnerAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/u/UnnaturalGrowth.java b/Mage.Sets/src/mage/cards/u/UnnaturalGrowth.java index 8e7fad9d174..28dc3df9076 100644 --- a/Mage.Sets/src/mage/cards/u/UnnaturalGrowth.java +++ b/Mage.Sets/src/mage/cards/u/UnnaturalGrowth.java @@ -3,7 +3,7 @@ package mage.cards.u; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -27,7 +27,7 @@ public final class UnnaturalGrowth extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}{G}{G}{G}"); // At the beginning of each combat, double the power and toughness of each creature you control until end of turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(new UnnaturalGrowthEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.ANY, new UnnaturalGrowthEffect(), false)); } private UnnaturalGrowth(final UnnaturalGrowth card) { diff --git a/Mage.Sets/src/mage/cards/u/UrabrasksForge.java b/Mage.Sets/src/mage/cards/u/UrabrasksForge.java index 2820f1db95d..594722bdd58 100644 --- a/Mage.Sets/src/mage/cards/u/UrabrasksForge.java +++ b/Mage.Sets/src/mage/cards/u/UrabrasksForge.java @@ -5,7 +5,7 @@ import java.util.Optional; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeTargetEffect; @@ -31,7 +31,7 @@ public final class UrabrasksForge extends CardImpl { // At the beginning of combat on your turn, put an oil counter on Urabrask's Forge, then create an X/1 red Phyrexian Horror creature token with trample and haste, where X is the number of oil counters on Urabrask's Forge. Sacrifice that token at the beginning of the next end step. Ability ability = new BeginningOfCombatTriggeredAbility( - new AddCountersSourceEffect(CounterType.OIL.createInstance()), TargetController.YOU, false + new AddCountersSourceEffect(CounterType.OIL.createInstance()), false ); ability.addEffect(new UrabrasksForgeEffect()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/u/UrtetRemnantOfMemnarch.java b/Mage.Sets/src/mage/cards/u/UrtetRemnantOfMemnarch.java index ae8c8df9f6a..3d5eb6c6357 100644 --- a/Mage.Sets/src/mage/cards/u/UrtetRemnantOfMemnarch.java +++ b/Mage.Sets/src/mage/cards/u/UrtetRemnantOfMemnarch.java @@ -3,7 +3,7 @@ package mage.cards.u; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.costs.common.TapSourceCost; @@ -46,7 +46,7 @@ public final class UrtetRemnantOfMemnarch extends CardImpl { this.addAbility(new SpellCastControllerTriggeredAbility(new CreateTokenEffect(new MyrToken()), filter, false)); //At the beginning of combat on your turn, untap each Myr you control. - this.addAbility(new BeginningOfCombatTriggeredAbility(new UntapAllControllerEffect(filter2, "untap each Myr you control"), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new UntapAllControllerEffect(filter2, "untap each Myr you control"), false)); // {W}{U}{B}{R}{G}, {T}: Put three +1/+1 counters on each Myr you control. Activate only during your turn. Ability ability = new ActivateIfConditionActivatedAbility(Zone.BATTLEFIELD, new AddCountersAllEffect(CounterType.P1P1.createInstance(3), filter2), new ManaCostsImpl<>("{W}{U}{B}{R}{G}"), MyTurnCondition.instance); diff --git a/Mage.Sets/src/mage/cards/v/ValdukKeeperOfTheFlame.java b/Mage.Sets/src/mage/cards/v/ValdukKeeperOfTheFlame.java index 2527f2a9488..0fbf221219c 100644 --- a/Mage.Sets/src/mage/cards/v/ValdukKeeperOfTheFlame.java +++ b/Mage.Sets/src/mage/cards/v/ValdukKeeperOfTheFlame.java @@ -4,7 +4,7 @@ package mage.cards.v; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.dynamicvalue.common.AuraAttachedCount; import mage.abilities.dynamicvalue.common.EquipmentAttachedCount; import mage.abilities.effects.OneShotEffect; @@ -36,7 +36,7 @@ public final class ValdukKeeperOfTheFlame extends CardImpl { this.toughness = new MageInt(2); // At the beginning of combat on your turn, for each Aura and Equipment attached to Valduk, Keeper of the Flame, create a 3/1 red Elemental creature token with trample and haste. Exile those tokens at the beginning of the next end step. - this.addAbility(new BeginningOfCombatTriggeredAbility(new ValdukKeeperOfTheFlameEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new ValdukKeeperOfTheFlameEffect(), false)); } private ValdukKeeperOfTheFlame(final ValdukKeeperOfTheFlame card) { diff --git a/Mage.Sets/src/mage/cards/v/ValorSinger.java b/Mage.Sets/src/mage/cards/v/ValorSinger.java index 3b60e444889..bf193f914e3 100644 --- a/Mage.Sets/src/mage/cards/v/ValorSinger.java +++ b/Mage.Sets/src/mage/cards/v/ValorSinger.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +29,7 @@ public final class ValorSinger extends CardImpl { // Combat Inspiration — At the beginning of combat on your turn, target creature you control gets +1/+0 until end of turn. Ability ability = new BeginningOfCombatTriggeredAbility( - new BoostTargetEffect(1, 0, Duration.EndOfTurn), TargetController.YOU, false + new BoostTargetEffect(1, 0, Duration.EndOfTurn), false ); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability.withFlavorWord("Combat Inspiration")); diff --git a/Mage.Sets/src/mage/cards/v/VannifarEvolvedEnigma.java b/Mage.Sets/src/mage/cards/v/VannifarEvolvedEnigma.java index a9c628fc471..33c62ecbe4f 100644 --- a/Mage.Sets/src/mage/cards/v/VannifarEvolvedEnigma.java +++ b/Mage.Sets/src/mage/cards/v/VannifarEvolvedEnigma.java @@ -3,7 +3,7 @@ package mage.cards.v; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.abilities.effects.keyword.ManifestEffect; @@ -46,7 +46,7 @@ public final class VannifarEvolvedEnigma extends CardImpl { // At the beginning of combat on your turn, choose one -- // * Cloak a card from your hand. // * Put a +1/+1 counter on each colorless creature you control. - Ability ability = new BeginningOfCombatTriggeredAbility(new VannifarCloakAbility(), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new VannifarCloakAbility(), false); ability.addMode(new Mode(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/v/VentifactBottle.java b/Mage.Sets/src/mage/cards/v/VentifactBottle.java index 90521bfa0dc..f91446a44b4 100644 --- a/Mage.Sets/src/mage/cards/v/VentifactBottle.java +++ b/Mage.Sets/src/mage/cards/v/VentifactBottle.java @@ -5,7 +5,7 @@ import mage.Mana; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -41,7 +41,7 @@ public final class VentifactBottle extends CardImpl { ability.addCost(new TapSourceCost()); this.addAbility(ability); // At the beginning of your precombat main phase, if Ventifact Bottle has a charge counter on it, tap it and remove all charge counters from it. Add {C} for each charge counter removed this way. - TriggeredAbility ability2 = new BeginningOfFirstMainTriggeredAbility(new VentifactBottleEffect(), TargetController.YOU, false); + TriggeredAbility ability2 = new BeginningOfFirstMainTriggeredAbility(new VentifactBottleEffect(), false); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability2, new SourceHasCounterCondition(CounterType.CHARGE, 1, Integer.MAX_VALUE), "At the beginning of your first main phase, " diff --git a/Mage.Sets/src/mage/cards/v/VesuvanDrifter.java b/Mage.Sets/src/mage/cards/v/VesuvanDrifter.java index ae33f68748d..216664b4845 100644 --- a/Mage.Sets/src/mage/cards/v/VesuvanDrifter.java +++ b/Mage.Sets/src/mage/cards/v/VesuvanDrifter.java @@ -3,7 +3,7 @@ package mage.cards.v; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.LookAtTopCardOfLibraryAnyTimeEffect; @@ -40,7 +40,7 @@ public final class VesuvanDrifter extends CardImpl { // At the beginning of each combat, you may reveal the top card of your library. If you reveal a creature card this way, Vesuvan Drifter becomes a copy of that card until end of turn, except it has flying. this.addAbility(new BeginningOfCombatTriggeredAbility( - new VesuvanDrifterEffect(), TargetController.ANY, true + TargetController.ANY, new VesuvanDrifterEffect(), true )); } diff --git a/Mage.Sets/src/mage/cards/v/VihaanGoldwaker.java b/Mage.Sets/src/mage/cards/v/VihaanGoldwaker.java index f7c34dfd9de..3cc7bb983e3 100644 --- a/Mage.Sets/src/mage/cards/v/VihaanGoldwaker.java +++ b/Mage.Sets/src/mage/cards/v/VihaanGoldwaker.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; @@ -58,7 +58,6 @@ public final class VihaanGoldwaker extends CardImpl { "", filterTreasures, Duration.EndOfTurn, false ).setText("have Treasures you control become 3/3 Construct Assassin artifact creatures " + "in addition to their other types until end of turn"), - TargetController.YOU, true )); } diff --git a/Mage.Sets/src/mage/cards/v/VolrathTheShapestealer.java b/Mage.Sets/src/mage/cards/v/VolrathTheShapestealer.java index 968c9e20b67..805c2a6d603 100644 --- a/Mage.Sets/src/mage/cards/v/VolrathTheShapestealer.java +++ b/Mage.Sets/src/mage/cards/v/VolrathTheShapestealer.java @@ -3,7 +3,7 @@ package mage.cards.v; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; @@ -19,7 +19,6 @@ import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.CounterAnyPredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.game.permanent.PermanentCard; import mage.players.Player; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +48,7 @@ public final class VolrathTheShapestealer extends CardImpl { // At the beginning of combat on your turn, put a -1/-1 counter on up to one target creature. Ability ability = new BeginningOfCombatTriggeredAbility( - new AddCountersTargetEffect(CounterType.M1M1.createInstance(), Outcome.Detriment), TargetController.YOU, false + new AddCountersTargetEffect(CounterType.M1M1.createInstance(), Outcome.Detriment), false ); ability.addTarget(new TargetCreaturePermanent(0, 1)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/v/VoltstormAngel.java b/Mage.Sets/src/mage/cards/v/VoltstormAngel.java index 9f7197b80b5..92599024aec 100644 --- a/Mage.Sets/src/mage/cards/v/VoltstormAngel.java +++ b/Mage.Sets/src/mage/cards/v/VoltstormAngel.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.MageInt; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.PayEnergyCost; @@ -54,7 +54,7 @@ public final class VoltstormAngel extends CardImpl { reflexive.addMode(new Mode(new BoostControlledEffect(1, 1, Duration.EndOfTurn, true))); this.addAbility(new BeginningOfCombatTriggeredAbility( new DoWhenCostPaid(reflexive, new PayEnergyCost(2), "Pay {E}{E}?"), - TargetController.YOU, false + false )); } diff --git a/Mage.Sets/src/mage/cards/w/WarRoomStarWars.java b/Mage.Sets/src/mage/cards/w/WarRoomStarWars.java index b029a7d3236..93c33b19b2e 100644 --- a/Mage.Sets/src/mage/cards/w/WarRoomStarWars.java +++ b/Mage.Sets/src/mage/cards/w/WarRoomStarWars.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.CantBlockAbility; import mage.abilities.common.LimitedTimesPerTurnActivatedAbility; import mage.abilities.condition.Condition; @@ -32,7 +32,7 @@ public class WarRoomStarWars extends CardImpl { //At the beginning of each combat on your turn, target creature can't block this turn. BeginningOfCombatTriggeredAbility beginningOfCombatTriggeredAbility = new BeginningOfCombatTriggeredAbility( new GainAbilityTargetEffect(new CantBlockAbility(), Duration.EndOfTurn) - .setText("target creature can't block this turn"), TargetController.YOU, false); + .setText("target creature can't block this turn"), false); beginningOfCombatTriggeredAbility.addTarget(new TargetCreaturePermanent()); this.addAbility(beginningOfCombatTriggeredAbility); diff --git a/Mage.Sets/src/mage/cards/w/WargRider.java b/Mage.Sets/src/mage/cards/w/WargRider.java index 9c9dfa5b664..7f1c0b1a661 100644 --- a/Mage.Sets/src/mage/cards/w/WargRider.java +++ b/Mage.Sets/src/mage/cards/w/WargRider.java @@ -1,7 +1,7 @@ package mage.cards.w; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.effects.keyword.AmassEffect; @@ -56,7 +56,7 @@ public final class WargRider extends CardImpl { // At the beginning of combat on your turn, amass Orcs 2. this.addAbility(new BeginningOfCombatTriggeredAbility( new AmassEffect(2, SubType.ORC), - TargetController.YOU, false + false )); } diff --git a/Mage.Sets/src/mage/cards/w/WaveOfTerror.java b/Mage.Sets/src/mage/cards/w/WaveOfTerror.java index fd0b802f79f..259d2af6b9c 100644 --- a/Mage.Sets/src/mage/cards/w/WaveOfTerror.java +++ b/Mage.Sets/src/mage/cards/w/WaveOfTerror.java @@ -3,7 +3,7 @@ package mage.cards.w; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyAllEffect; @@ -33,7 +33,7 @@ public final class WaveOfTerror extends CardImpl { this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}"))); // At the beginning of your draw step, destroy each creature with converted mana cost equal to the number of age counters on Wave of Terror. They can't be regenerated. - this.addAbility(new BeginningOfDrawTriggeredAbility(new WaveOfTerrorEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(new WaveOfTerrorEffect(), false)); } private WaveOfTerror(final WaveOfTerror card) { diff --git a/Mage.Sets/src/mage/cards/w/WebOfInertia.java b/Mage.Sets/src/mage/cards/w/WebOfInertia.java index bceaf2e8dc7..c6f32918991 100644 --- a/Mage.Sets/src/mage/cards/w/WebOfInertia.java +++ b/Mage.Sets/src/mage/cards/w/WebOfInertia.java @@ -2,15 +2,17 @@ package mage.cards.w; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.constants.*; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -27,7 +29,7 @@ public final class WebOfInertia extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); // At the beginning of combat on each opponent's turn, that player may exile a card from their graveyard. If the player doesn't, creatures they control can't attack you this turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, new WebOfInertiaEffect(), TargetController.OPPONENT, false, true)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.OPPONENT, new WebOfInertiaEffect(), false)); } private WebOfInertia(final WebOfInertia card) { @@ -60,9 +62,7 @@ class WebOfInertiaEffect extends OneShotEffect { if (cost.canPay(source, source, player.getId(), game) && player.chooseUse(Outcome.Detriment, "Exile a card from your graveyard?", source, game)) { cost.clearPaid(); if (cost.pay(source, game, source, player.getId(), false, null)) { - if (!game.isSimulation()) { - game.informPlayers(player.getLogName() + " pays the cost to prevent the effect"); - } + game.informPlayers(player.getLogName() + " pays the cost to prevent the effect"); } } else { game.addEffect(new WebOfInertiaRestrictionEffect(player.getId()), source); @@ -82,7 +82,7 @@ class WebOfInertiaRestrictionEffect extends RestrictionEffect { private final UUID attackerID; - public WebOfInertiaRestrictionEffect(UUID attackerID) { + WebOfInertiaRestrictionEffect(UUID attackerID) { super(Duration.EndOfTurn); this.attackerID = attackerID; } diff --git a/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java b/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java index e2abf890b0d..5258bb4ea2a 100644 --- a/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java +++ b/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java @@ -4,7 +4,7 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -36,7 +36,7 @@ public final class WeldfastEngineer extends CardImpl { this.toughness = new MageInt(3); // At the beginning of combat on your turn, target artifact creature you control gets +2/+0 until end of turn. - Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(2, 0, Duration.EndOfTurn), TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(new BoostTargetEffect(2, 0, Duration.EndOfTurn), false); ability.addTarget(new TargetControlledPermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WellOfIdeas.java b/Mage.Sets/src/mage/cards/w/WellOfIdeas.java index 1becf9e4aab..19df5b08fe4 100644 --- a/Mage.Sets/src/mage/cards/w/WellOfIdeas.java +++ b/Mage.Sets/src/mage/cards/w/WellOfIdeas.java @@ -2,7 +2,7 @@ package mage.cards.w; import java.util.UUID; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -28,12 +28,12 @@ public final class WellOfIdeas extends CardImpl { // At the beginning of each other player's draw step, that player draws an additional card. Effect effect = new DrawCardTargetEffect(1); effect.setText("that player draws an additional card"); - this.addAbility(new BeginningOfDrawTriggeredAbility(effect, TargetController.NOT_YOU, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(TargetController.NOT_YOU, effect, false)); // At the beginning of your draw step, draw two additional cards. effect = new DrawCardTargetEffect(2); effect.setText("draw two additional cards"); - this.addAbility(new BeginningOfDrawTriggeredAbility(effect , TargetController.YOU, false)); + this.addAbility(new BeginningOfDrawTriggeredAbility(effect , false)); } private WellOfIdeas(final WellOfIdeas card) { diff --git a/Mage.Sets/src/mage/cards/w/WorkshopElders.java b/Mage.Sets/src/mage/cards/w/WorkshopElders.java index c71f45f2ebc..2aad83a3292 100644 --- a/Mage.Sets/src/mage/cards/w/WorkshopElders.java +++ b/Mage.Sets/src/mage/cards/w/WorkshopElders.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.AddCardTypeTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; @@ -53,7 +53,7 @@ public final class WorkshopElders extends CardImpl { // At the beginning of combat on your turn, you may have target noncreature artifact you control become a 0/0 artifact creature. If you do, put four +1/+1 counters on it. Ability ability = new BeginningOfCombatTriggeredAbility(new AddCardTypeTargetEffect( Duration.EndOfGame, CardType.ARTIFACT, CardType.CREATURE - ).setText("target noncreature artifact you control become a 0/0 artifact creature"), TargetController.YOU, true); + ).setText("target noncreature artifact you control become a 0/0 artifact creature"), true); ability.addEffect(new SetBasePowerToughnessTargetEffect( 0, 0, Duration.EndOfGame ).setText("If you do")); diff --git a/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java b/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java index 554a1e8583d..4db0735a94d 100644 --- a/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java +++ b/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java @@ -2,7 +2,7 @@ package mage.cards.x; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.OneShotEffect; @@ -44,10 +44,10 @@ public final class XenagosGodOfRevels extends CardImpl { // At the beginning of combat on your turn, another target creature you control gains haste and gets +X/+X until end of turn, where X is that creature's power. Ability ability = new BeginningOfCombatTriggeredAbility( Zone.BATTLEFIELD, - new GainAbilityTargetEffect( + TargetController.YOU, new GainAbilityTargetEffect( HasteAbility.getInstance(), Duration.EndOfTurn ).setText("another target creature you control gains haste"), - TargetController.YOU, false, false + false ); ability.addEffect(new XenagosGodOfRevelsEffect()); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE_YOU_CONTROL)); diff --git a/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java b/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java index 636a7fab90e..ceee7fc8361 100644 --- a/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java +++ b/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java @@ -4,7 +4,7 @@ package mage.cards.y; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DoIfCostPaid; @@ -56,7 +56,7 @@ public final class YasovaDragonclaw extends CardImpl { effect2.setText(", untap that creature"); effect.addEffect(effect2); effect.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn, ", and it gains haste until end of turn")); - Ability ability = new BeginningOfCombatTriggeredAbility(effect, TargetController.YOU, false); + Ability ability = new BeginningOfCombatTriggeredAbility(effect, false); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/z/ZndrspltEyeOfWisdom.java b/Mage.Sets/src/mage/cards/z/ZndrspltEyeOfWisdom.java index 42be0af0ec4..702bef43c4a 100644 --- a/Mage.Sets/src/mage/cards/z/ZndrspltEyeOfWisdom.java +++ b/Mage.Sets/src/mage/cards/z/ZndrspltEyeOfWisdom.java @@ -3,7 +3,7 @@ package mage.cards.z; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.WinsCoinFlipTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.FlipUntilLoseEffect; @@ -33,7 +33,7 @@ public final class ZndrspltEyeOfWisdom extends CardImpl { this.addAbility(new PartnerWithAbility("Okaun, Eye of Chaos", true)); // At the beginning of combat on your turn, flip a coin until you lose a flip. - this.addAbility(new BeginningOfCombatTriggeredAbility(new FlipUntilLoseEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(new FlipUntilLoseEffect(), false)); // Whenever a player wins a coin flip, draw a card. this.addAbility(new WinsCoinFlipTriggeredAbility(new DrawCardSourceControllerEffect(1))); @@ -47,4 +47,4 @@ public final class ZndrspltEyeOfWisdom extends CardImpl { public ZndrspltEyeOfWisdom copy() { return new ZndrspltEyeOfWisdom(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/z/ZopandrelHungerDominus.java b/Mage.Sets/src/mage/cards/z/ZopandrelHungerDominus.java index cb161239f8f..da87d5fcba9 100644 --- a/Mage.Sets/src/mage/cards/z/ZopandrelHungerDominus.java +++ b/Mage.Sets/src/mage/cards/z/ZopandrelHungerDominus.java @@ -2,7 +2,7 @@ package mage.cards.z; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -50,7 +50,7 @@ public final class ZopandrelHungerDominus extends CardImpl { this.addAbility(ReachAbility.getInstance()); // At the beginning of each combat, double the power and toughness of each creature you control until end of turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(new ZopandrelHungerDominusEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfCombatTriggeredAbility(TargetController.ANY, new ZopandrelHungerDominusEffect(), false)); // {G/P}{G/P}, Sacrifice two other creatures: Put an indestructible counter on Zopandrel, Hunger Dominus. Ability ability = new SimpleActivatedAbility(new AddCountersSourceEffect(CounterType.INDESTRUCTIBLE.createInstance()), new ManaCostsImpl<>("{G/P}{G/P}")); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/znr/MoraugFuryOfAkoumTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/znr/MoraugFuryOfAkoumTest.java index 268e2951667..0c8eea0d755 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/znr/MoraugFuryOfAkoumTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/znr/MoraugFuryOfAkoumTest.java @@ -1,6 +1,6 @@ package org.mage.test.cards.single.znr; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.constants.PhaseStep; import mage.constants.TargetController; @@ -24,7 +24,7 @@ public class MoraugFuryOfAkoumTest extends CardTestPlayerBase { addCustomCardWithAbility( "Combat Counter", playerA, new BeginningOfCombatTriggeredAbility( - new GainLifeEffect(1), TargetController.YOU, false + new GainLifeEffect(1), false ) ); } diff --git a/Mage/src/main/java/mage/abilities/abilityword/SurvivalAbility.java b/Mage/src/main/java/mage/abilities/abilityword/SurvivalAbility.java index 038e6bc7b07..ad4561efc4c 100644 --- a/Mage/src/main/java/mage/abilities/abilityword/SurvivalAbility.java +++ b/Mage/src/main/java/mage/abilities/abilityword/SurvivalAbility.java @@ -1,10 +1,8 @@ package mage.abilities.abilityword; -import mage.abilities.common.BeginningOfSecondMainTriggeredAbility; import mage.abilities.effects.Effect; +import mage.abilities.triggers.BeginningOfSecondMainTriggeredAbility; import mage.constants.AbilityWord; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; @@ -20,7 +18,7 @@ public class SurvivalAbility extends BeginningOfSecondMainTriggeredAbility { } public SurvivalAbility(Effect effect, boolean optional) { - super(Zone.BATTLEFIELD, effect, TargetController.YOU, optional, false); + super(effect, optional); setTriggerPhrase("At the beginning of your second main phase, if {this} is tapped, "); setAbilityWord(AbilityWord.SURVIVAL); } diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfCombatTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfCombatTriggeredAbility.java deleted file mode 100644 index b11f650f9fb..00000000000 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfCombatTriggeredAbility.java +++ /dev/null @@ -1,92 +0,0 @@ -package mage.abilities.common; - -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.Effect; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.target.targetpointer.FixedTarget; - -public class BeginningOfCombatTriggeredAbility extends TriggeredAbilityImpl { - - private final TargetController targetController; - private final boolean setTargetPointer; - - public BeginningOfCombatTriggeredAbility(Effect effect, TargetController targetController, boolean isOptional) { - this(Zone.BATTLEFIELD, effect, targetController, isOptional, false); - } - - public BeginningOfCombatTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional, boolean setTargetPointer) { - super(zone, effect, isOptional); - this.targetController = targetController; - this.setTargetPointer = setTargetPointer; - setTriggerPhrase(generateTriggerPhrase()); - } - - protected BeginningOfCombatTriggeredAbility(final BeginningOfCombatTriggeredAbility ability) { - super(ability); - this.targetController = ability.targetController; - this.setTargetPointer = ability.setTargetPointer; - } - - @Override - public BeginningOfCombatTriggeredAbility copy() { - return new BeginningOfCombatTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.BEGIN_COMBAT_STEP_PRE; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - switch (targetController) { - case YOU: - boolean yours = event.getPlayerId().equals(this.controllerId); - if (yours && setTargetPointer) { - if (getTargets().isEmpty()) { - this.getEffects().forEach(effect -> { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - }); - } - } - return yours; - case OPPONENT: - if (game.getPlayer(this.controllerId).hasOpponent(event.getPlayerId(), game)) { - if (setTargetPointer) { - this.getEffects().forEach(effect -> { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - }); - } - return true; - } - break; - case EACH_PLAYER: - case ANY: - if (setTargetPointer) { - this.getEffects().forEach(effect -> { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - }); - } - return true; - } - return false; - } - - private String generateTriggerPhrase() { - switch (targetController) { - case YOU: - return "At the beginning of combat on your turn, "; - case OPPONENT: - return "At the beginning of combat on each opponent's turn, "; - case EACH_PLAYER: - return "At the beginning of combat on each player's turn, "; - case ANY: - return "At the beginning of each combat, "; - } - return ""; - } - -} diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java deleted file mode 100644 index 56c1d966566..00000000000 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfDrawTriggeredAbility.java +++ /dev/null @@ -1,120 +0,0 @@ -package mage.abilities.common; - -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.Effect; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.targetpointer.FixedTarget; - -public class BeginningOfDrawTriggeredAbility extends TriggeredAbilityImpl { - - private final TargetController targetController; - - /** - * The Ability sets if no target is defined the target pointer to the active - * player of the current draw phase - */ - public BeginningOfDrawTriggeredAbility(Effect effect, TargetController targetController, boolean isOptional) { - this(Zone.BATTLEFIELD, effect, targetController, isOptional); - } - - public BeginningOfDrawTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional) { - super(zone, effect, isOptional); - this.targetController = targetController; - setTriggerPhrase(generateTriggerPhrase()); - } - - protected BeginningOfDrawTriggeredAbility(final BeginningOfDrawTriggeredAbility ability) { - super(ability); - this.targetController = ability.targetController; - } - - @Override - public BeginningOfDrawTriggeredAbility copy() { - return new BeginningOfDrawTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.DRAW_STEP_PRE; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - switch (targetController) { - case YOU: - boolean yours = event.getPlayerId().equals(this.controllerId); - if (yours && getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return yours; - case OPPONENT: - if (game.getPlayer(this.controllerId).hasOpponent(event.getPlayerId(), game)) { - if (getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - } - break; - case NOT_YOU: - if (!this.controllerId.equals(event.getPlayerId())) { - if (getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - } - break; - case CONTROLLER_ATTACHED_TO: - Permanent attachment = game.getPermanent(sourceId); - if (attachment != null && attachment.getAttachedTo() != null) { - Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); - if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) { - if (getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - } - } - break; - case ENCHANTED: - Permanent permanent = getSourcePermanentIfItStillExists(game); - if (permanent == null || !game.isActivePlayer(permanent.getAttachedTo())) { - break; - } - if (getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - case ANY: - case ACTIVE: - if (getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - } - return false; - } - - private String generateTriggerPhrase() { - switch (targetController) { - case ACTIVE: - case YOU: - return "At the beginning of your draw step, "; - case OPPONENT: - return "At the beginning of each opponent's draw step, "; - case NOT_YOU: - return "At the beginning of each other player's draw step, "; - case ANY: - return "At the beginning of each player's draw step, "; - case CONTROLLER_ATTACHED_TO: - return "At the beginning of the draw step of enchanted creature's controller, "; - case ENCHANTED: - return "At the beginning of enchanted player's draw step, "; - } - return ""; - } - -} diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfFirstMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfFirstMainTriggeredAbility.java deleted file mode 100644 index 64c6e65c6e9..00000000000 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfFirstMainTriggeredAbility.java +++ /dev/null @@ -1,93 +0,0 @@ -package mage.abilities.common; - -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.Effect; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.target.targetpointer.FixedTarget; - -/** - * @author LevelX2 - */ - -public class BeginningOfFirstMainTriggeredAbility extends TriggeredAbilityImpl { - - private final TargetController targetController; - private final boolean setTargetPointer; - - public BeginningOfFirstMainTriggeredAbility(Effect effect, TargetController targetController, boolean isOptional) { - this(Zone.BATTLEFIELD, effect, targetController, isOptional, false); - } - - public BeginningOfFirstMainTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional, boolean setTargetPointer) { - super(zone, effect, isOptional); - this.targetController = targetController; - this.setTargetPointer = setTargetPointer; - setTriggerPhrase(generateTriggerPhrase()); - } - - protected BeginningOfFirstMainTriggeredAbility(final BeginningOfFirstMainTriggeredAbility ability) { - super(ability); - this.targetController = ability.targetController; - this.setTargetPointer = ability.setTargetPointer; - } - - @Override - public BeginningOfFirstMainTriggeredAbility copy() { - return new BeginningOfFirstMainTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.PRECOMBAT_MAIN_PHASE_PRE; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - switch (targetController) { - case YOU: - boolean yours = event.getPlayerId().equals(this.controllerId); - if (yours && setTargetPointer) { - if (getTargets().isEmpty()) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - } - return yours; - case OPPONENT: - if (game.getPlayer(this.controllerId).hasOpponent(event.getPlayerId(), game)) { - if (setTargetPointer) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - } - break; - case ANY: - if (setTargetPointer) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - } - return false; - } - - private String generateTriggerPhrase() { - switch (targetController) { - case YOU: - return "At the beginning of your first main phase, "; - case OPPONENT: - return "At the beginning of each opponent's first main phase, "; - case ANY: - return "At the beginning of each player's first main phase, "; - } - return ""; - } - -} diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfPostCombatMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfPostCombatMainTriggeredAbility.java deleted file mode 100644 index 19beaacbf5a..00000000000 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfPostCombatMainTriggeredAbility.java +++ /dev/null @@ -1,104 +0,0 @@ -package mage.abilities.common; - -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.Effect; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.targetpointer.FixedTarget; - -/** - * @author LevelX2 - */ -public class BeginningOfPostCombatMainTriggeredAbility extends TriggeredAbilityImpl { - - private final TargetController targetController; - private final boolean setTargetPointer; - - public BeginningOfPostCombatMainTriggeredAbility(Effect effect, TargetController targetController, boolean isOptional) { - this(Zone.BATTLEFIELD, effect, targetController, isOptional, false); - } - - public BeginningOfPostCombatMainTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional, boolean setTargetPointer) { - super(zone, effect, isOptional); - this.targetController = targetController; - this.setTargetPointer = setTargetPointer; - setTriggerPhrase(generateTriggerPhrase()); - } - - protected BeginningOfPostCombatMainTriggeredAbility(final BeginningOfPostCombatMainTriggeredAbility ability) { - super(ability); - this.targetController = ability.targetController; - this.setTargetPointer = ability.setTargetPointer; - } - - @Override - public BeginningOfPostCombatMainTriggeredAbility copy() { - return new BeginningOfPostCombatMainTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.POSTCOMBAT_MAIN_PHASE_PRE; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - switch (targetController) { - case YOU: - if (!isControlledBy(event.getPlayerId())) { - return false; - } - if (setTargetPointer && getTargets().isEmpty()) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - case OPPONENT: - if (!game.getOpponents(this.controllerId).contains(event.getPlayerId())) { - return false; - } - if (setTargetPointer) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - case ANY: - if (setTargetPointer) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - case ENCHANTED: - Permanent permanent = getSourcePermanentIfItStillExists(game); - if (permanent == null || !game.isActivePlayer(permanent.getAttachedTo())) { - return false; - } - if (getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - } - return false; - } - - private String generateTriggerPhrase() { - switch (targetController) { - case YOU: - return "At the beginning of each of your postcombat main phases, "; - case OPPONENT: - return "At the beginning of each of your opponent's postcombat main phases, "; - case ANY: - return "At the beginning of each postcombat main phase, "; - case ENCHANTED: - return "At the beginning of each of enchanted player's postcombat main phases, "; - } - return ""; - } - -} diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfSecondMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfSecondMainTriggeredAbility.java deleted file mode 100644 index 7ed2eba43d9..00000000000 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfSecondMainTriggeredAbility.java +++ /dev/null @@ -1,146 +0,0 @@ -package mage.abilities.common; - -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.Effect; -import mage.constants.TargetController; -import mage.constants.WatcherScope; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.targetpointer.FixedTarget; -import mage.watchers.Watcher; - -/** - * @author TheElk801 - */ -public class BeginningOfSecondMainTriggeredAbility extends TriggeredAbilityImpl { - - private final TargetController targetController; - private final boolean setTargetPointer; - - public BeginningOfSecondMainTriggeredAbility(Effect effect, TargetController targetController, boolean isOptional) { - this(Zone.BATTLEFIELD, effect, targetController, isOptional, false); - } - - public BeginningOfSecondMainTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional, boolean setTargetPointer) { - super(zone, effect, isOptional); - this.targetController = targetController; - this.setTargetPointer = setTargetPointer; - setTriggerPhrase(generateTriggerPhrase()); - this.addWatcher(new MainPhaseWatcher()); - } - - protected BeginningOfSecondMainTriggeredAbility(final BeginningOfSecondMainTriggeredAbility ability) { - super(ability); - this.targetController = ability.targetController; - this.setTargetPointer = ability.setTargetPointer; - } - - @Override - public BeginningOfSecondMainTriggeredAbility copy() { - return new BeginningOfSecondMainTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - switch (event.getType()) { - case PRECOMBAT_MAIN_PHASE_PRE: - case POSTCOMBAT_MAIN_PHASE_PRE: - return true; - } - return false; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - if (!MainPhaseWatcher.checkCount(game)) { - return false; - } - switch (targetController) { - case YOU: - if (!isControlledBy(event.getPlayerId())) { - return false; - } - if (setTargetPointer && getTargets().isEmpty()) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - case OPPONENT: - if (!game.getOpponents(this.controllerId).contains(event.getPlayerId())) { - return false; - } - if (setTargetPointer) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - case ANY: - if (setTargetPointer) { - for (Effect effect : this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); - } - } - return true; - case ENCHANTED: - Permanent permanent = getSourcePermanentIfItStillExists(game); - if (permanent == null || !game.isActivePlayer(permanent.getAttachedTo())) { - return false; - } - if (getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - } - return false; - } - - private String generateTriggerPhrase() { - switch (targetController) { - case YOU: - return "At the beginning of your second main phase, "; - case OPPONENT: - return "At the beginning of each opponent's second main phase, "; - case ANY: - return "At the beginning of each player's second main phase, "; - case ENCHANTED: - return "At the beginning of enchanted player's second main phase, "; - } - return ""; - } - -} - -class MainPhaseWatcher extends Watcher { - - private int mainPhaseCount = 0; - - MainPhaseWatcher() { - super(WatcherScope.GAME); - } - - @Override - public void watch(GameEvent event, Game game) { - switch (event.getType()) { - case PRECOMBAT_MAIN_PHASE_PRE: - case POSTCOMBAT_MAIN_PHASE_PRE: - mainPhaseCount++; - } - } - - @Override - public void reset() { - super.reset(); - this.mainPhaseCount = 0; - } - - static boolean checkCount(Game game) { - return game - .getState() - .getWatcher(MainPhaseWatcher.class) - .mainPhaseCount == 2; - } -} diff --git a/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java index 222f82c887a..eacbc21c535 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java @@ -2,7 +2,7 @@ package mage.abilities.effects.common; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; diff --git a/Mage/src/main/java/mage/abilities/effects/common/ExileSagaAndReturnTransformedEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ExileSagaAndReturnTransformedEffect.java index 462bce4b9de..4d665254058 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ExileSagaAndReturnTransformedEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ExileSagaAndReturnTransformedEffect.java @@ -1,6 +1,6 @@ package mage.abilities.effects.common; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.constants.PutCards; /** diff --git a/Mage/src/main/java/mage/abilities/effects/common/ExileSourceAndReturnFaceUpEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ExileSourceAndReturnFaceUpEffect.java index 1e14b8fb0df..3743f977029 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ExileSourceAndReturnFaceUpEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ExileSourceAndReturnFaceUpEffect.java @@ -1,6 +1,6 @@ package mage.abilities.effects.common; -import mage.abilities.Pronoun; +import mage.constants.Pronoun; import mage.constants.PutCards; /** diff --git a/Mage/src/main/java/mage/abilities/triggers/AtStepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/triggers/AtStepTriggeredAbility.java new file mode 100644 index 00000000000..47b6b90775b --- /dev/null +++ b/Mage/src/main/java/mage/abilities/triggers/AtStepTriggeredAbility.java @@ -0,0 +1,95 @@ +package mage.abilities.triggers; + +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.Effect; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.targetpointer.FixedTarget; + +import java.util.UUID; + +/** + * @author xenohedron + */ +public abstract class AtStepTriggeredAbility extends TriggeredAbilityImpl { + + protected final TargetController targetController; + private Boolean setTargetPointer; // null for default behavior (set target pointer if no targets) + + protected AtStepTriggeredAbility(Zone zone, TargetController targetController, Effect effect, boolean optional) { + super(zone, effect, optional); + this.targetController = targetController; + setTriggerPhrase(generateTriggerPhrase()); + } + + protected AtStepTriggeredAbility(final AtStepTriggeredAbility ability) { + super(ability); + this.targetController = ability.targetController; + this.setTargetPointer = ability.setTargetPointer; + } + + // implementing classes must add copy constructor + // implementing classes must override checksEventType + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (checkTargetController(event, game)) { + setTargetPointerIfNeeded(event.getPlayerId()); + return true; + } + return false; + } + + private boolean checkTargetController(GameEvent event, Game game) { + switch (targetController) { + case YOU: + return isControlledBy(event.getPlayerId()); + case NOT_YOU: + return !isControlledBy(event.getPlayerId()); + case ANY: + case ACTIVE: + case NEXT: + case EACH_PLAYER: + return true; + case OPPONENT: + Player player = game.getPlayer(getControllerId()); + return player != null && player.hasOpponent(event.getPlayerId(), game); + case ENCHANTED: + Permanent permanent = getSourcePermanentIfItStillExists(game); + return permanent != null && game.isActivePlayer(permanent.getAttachedTo()); + case CONTROLLER_ATTACHED_TO: + Permanent attachment = getSourcePermanentIfItStillExists(game); + if (attachment == null) { + return false; + } + Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); + return attachedTo != null && game.isActivePlayer(attachedTo.getControllerId()); + case MONARCH: + return event.getPlayerId().equals(game.getMonarchId()); + default: + throw new UnsupportedOperationException("Unsupported TargetController in AtStepTriggeredAbility: " + targetController); + } + } + + /** + * In rare cases, if the default behavior (of setting the target pointer to the active player id + * if and only if there are no targets) is not adequate, manually specify whether target pointer should be set + */ + public AtStepTriggeredAbility withTargetPointerSet(boolean setTargetPointer) { + this.setTargetPointer = setTargetPointer; + return this; + } + + private void setTargetPointerIfNeeded(UUID playerId) { + if (Boolean.TRUE.equals(setTargetPointer) || (setTargetPointer == null && getTargets().isEmpty())) { + this.getEffects().setTargetPointer(new FixedTarget(playerId)); + } + } + + protected abstract String generateTriggerPhrase(); + +} diff --git a/Mage/src/main/java/mage/abilities/triggers/BeginningOfCombatTriggeredAbility.java b/Mage/src/main/java/mage/abilities/triggers/BeginningOfCombatTriggeredAbility.java new file mode 100644 index 00000000000..dbe31c066c5 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/triggers/BeginningOfCombatTriggeredAbility.java @@ -0,0 +1,56 @@ +package mage.abilities.triggers; + +import mage.abilities.effects.Effect; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; + +public class BeginningOfCombatTriggeredAbility extends AtStepTriggeredAbility { + + /** + * At the beginning of combat on your turn + */ + public BeginningOfCombatTriggeredAbility(Effect effect, boolean optional) { + this(TargetController.YOU, effect, optional); + } + + public BeginningOfCombatTriggeredAbility(TargetController targetController, Effect effect, boolean optional) { + this(Zone.BATTLEFIELD, targetController, effect, optional); + } + + public BeginningOfCombatTriggeredAbility(Zone zone, TargetController targetController, Effect effect, boolean optional) { + super(zone, targetController, effect, optional); + } + + protected BeginningOfCombatTriggeredAbility(final BeginningOfCombatTriggeredAbility ability) { + super(ability); + } + + @Override + public BeginningOfCombatTriggeredAbility copy() { + return new BeginningOfCombatTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.BEGIN_COMBAT_STEP_PRE; + } + + @Override + protected String generateTriggerPhrase() { + switch (targetController) { + case YOU: + return "At the beginning of combat on your turn, "; + case OPPONENT: + return "At the beginning of combat on each opponent's turn, "; + case EACH_PLAYER: + return "At the beginning of combat on each player's turn, "; + case ANY: + return "At the beginning of each combat, "; + default: + throw new UnsupportedOperationException("Unsupported TargetController in BeginningOfCombatTriggeredAbility: " + targetController); + } + } + +} diff --git a/Mage/src/main/java/mage/abilities/triggers/BeginningOfDrawTriggeredAbility.java b/Mage/src/main/java/mage/abilities/triggers/BeginningOfDrawTriggeredAbility.java new file mode 100644 index 00000000000..d317678a064 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/triggers/BeginningOfDrawTriggeredAbility.java @@ -0,0 +1,60 @@ +package mage.abilities.triggers; + +import mage.abilities.effects.Effect; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; + +public class BeginningOfDrawTriggeredAbility extends AtStepTriggeredAbility { + + /** + * At the beginning of your draw step + */ + public BeginningOfDrawTriggeredAbility(Effect effect, boolean optional) { + this(TargetController.YOU, effect, optional); + } + + public BeginningOfDrawTriggeredAbility(TargetController targetController, Effect effect, boolean optional) { + this(Zone.BATTLEFIELD, targetController, effect, optional); + } + + public BeginningOfDrawTriggeredAbility(Zone zone, TargetController targetController, Effect effect, boolean optional) { + super(zone, targetController, effect, optional); + } + + protected BeginningOfDrawTriggeredAbility(final BeginningOfDrawTriggeredAbility ability) { + super(ability); + } + + @Override + public BeginningOfDrawTriggeredAbility copy() { + return new BeginningOfDrawTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.DRAW_STEP_PRE; + } + + @Override + protected String generateTriggerPhrase() { + switch (targetController) { + case YOU: + return "At the beginning of your draw step, "; + case OPPONENT: + return "At the beginning of each opponent's draw step, "; + case NOT_YOU: + return "At the beginning of each other player's draw step, "; + case EACH_PLAYER: + return "At the beginning of each player's draw step, "; + case CONTROLLER_ATTACHED_TO: + return "At the beginning of the draw step of enchanted creature's controller, "; + case ENCHANTED: + return "At the beginning of enchanted player's draw step, "; + default: + throw new UnsupportedOperationException("Unsupported TargetController in BeginningOfDrawTriggeredAbility: " + targetController); + } + } + +} diff --git a/Mage/src/main/java/mage/abilities/triggers/BeginningOfFirstMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/triggers/BeginningOfFirstMainTriggeredAbility.java new file mode 100644 index 00000000000..41847c045b9 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/triggers/BeginningOfFirstMainTriggeredAbility.java @@ -0,0 +1,55 @@ +package mage.abilities.triggers; + +import mage.abilities.effects.Effect; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * @author LevelX2 + */ +public class BeginningOfFirstMainTriggeredAbility extends AtStepTriggeredAbility { + + /** + * At the beginning of your first main phase + */ + public BeginningOfFirstMainTriggeredAbility(Effect effect, boolean optional) { + this(TargetController.YOU, effect, optional); + } + + public BeginningOfFirstMainTriggeredAbility(TargetController targetController, Effect effect, boolean optional) { + this(Zone.BATTLEFIELD, targetController, effect, optional); + } + + public BeginningOfFirstMainTriggeredAbility(Zone zone, TargetController targetController, Effect effect, boolean optional) { + super(zone, targetController, effect, optional); + } + + protected BeginningOfFirstMainTriggeredAbility(final BeginningOfFirstMainTriggeredAbility ability) { + super(ability); + } + + @Override + public BeginningOfFirstMainTriggeredAbility copy() { + return new BeginningOfFirstMainTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.PRECOMBAT_MAIN_PHASE_PRE; + } + + @Override + protected String generateTriggerPhrase() { + switch (targetController) { + case YOU: + return "At the beginning of your first main phase, "; + case EACH_PLAYER: + return "At the beginning of each player's first main phase, "; + default: + throw new UnsupportedOperationException("Unsupported TargetController in BeginningOfFirstMainTriggeredAbility: " + targetController); + } + } + +} diff --git a/Mage/src/main/java/mage/abilities/triggers/BeginningOfPostcombatMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/triggers/BeginningOfPostcombatMainTriggeredAbility.java new file mode 100644 index 00000000000..bac412245c0 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/triggers/BeginningOfPostcombatMainTriggeredAbility.java @@ -0,0 +1,56 @@ +package mage.abilities.triggers; + +import mage.abilities.effects.Effect; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * @author LevelX2 + */ +public class BeginningOfPostcombatMainTriggeredAbility extends AtStepTriggeredAbility { + + /** + * At the beginning of your postcombat main phase + */ + public BeginningOfPostcombatMainTriggeredAbility(Effect effect, boolean optional) { + this(TargetController.YOU, effect, optional); + } + + // Note: new card implementations probably use BeginningOfSecondMainTriggeredAbility instead + public BeginningOfPostcombatMainTriggeredAbility(TargetController targetController, Effect effect, boolean optional) { + super(Zone.BATTLEFIELD, targetController, effect, optional); + } + + protected BeginningOfPostcombatMainTriggeredAbility(final BeginningOfPostcombatMainTriggeredAbility ability) { + super(ability); + } + + @Override + public BeginningOfPostcombatMainTriggeredAbility copy() { + return new BeginningOfPostcombatMainTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.POSTCOMBAT_MAIN_PHASE_PRE; + } + + @Override + protected String generateTriggerPhrase() { + switch (targetController) { + case YOU: + return "At the beginning of each of your postcombat main phases, "; + case OPPONENT: + return "At the beginning of each of your opponent's postcombat main phases, "; + case ANY: + return "At the beginning of each postcombat main phase, "; + case ENCHANTED: + return "At the beginning of each of enchanted player's postcombat main phases, "; + default: + throw new UnsupportedOperationException("Unsupported TargetController in BeginningOfPostCombatMainTriggeredAbility: " + targetController); + } + } + +} diff --git a/Mage/src/main/java/mage/abilities/triggers/BeginningOfSecondMainTriggeredAbility.java b/Mage/src/main/java/mage/abilities/triggers/BeginningOfSecondMainTriggeredAbility.java new file mode 100644 index 00000000000..33dbaff6bb3 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/triggers/BeginningOfSecondMainTriggeredAbility.java @@ -0,0 +1,101 @@ +package mage.abilities.triggers; + +import mage.abilities.effects.Effect; +import mage.constants.TargetController; +import mage.constants.WatcherScope; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.watchers.Watcher; + +/** + * @author TheElk801 + */ +public class BeginningOfSecondMainTriggeredAbility extends AtStepTriggeredAbility { + + /** + * At the beginning of your second main phase + */ + public BeginningOfSecondMainTriggeredAbility(Effect effect, boolean optional) { + this(Zone.BATTLEFIELD, TargetController.YOU, effect, optional); + } + + public BeginningOfSecondMainTriggeredAbility(Zone zone, TargetController targetController, Effect effect, boolean optional) { + super(zone, targetController, effect, optional); + setTriggerPhrase(generateTriggerPhrase()); + this.addWatcher(new MainPhaseWatcher()); + } + + protected BeginningOfSecondMainTriggeredAbility(final BeginningOfSecondMainTriggeredAbility ability) { + super(ability); + } + + @Override + public BeginningOfSecondMainTriggeredAbility copy() { + return new BeginningOfSecondMainTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + switch (event.getType()) { + case PRECOMBAT_MAIN_PHASE_PRE: + case POSTCOMBAT_MAIN_PHASE_PRE: + return true; + default: + return false; + } + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + return MainPhaseWatcher.checkCount(game) && super.checkTrigger(event, game); + } + + @Override + protected String generateTriggerPhrase() { + switch (targetController) { + case YOU: + return "At the beginning of your second main phase, "; + case OPPONENT: + return "At the beginning of each opponent's second main phase, "; + case ANY: + return "At the beginning of each player's second main phase, "; + case ENCHANTED: + return "At the beginning of enchanted player's second main phase, "; + default: + throw new UnsupportedOperationException("Unsupported TargetController in BeginningOfSecondMainTriggeredAbility: " + targetController); + } + } + +} + +class MainPhaseWatcher extends Watcher { + + private int mainPhaseCount = 0; + + MainPhaseWatcher() { + super(WatcherScope.GAME); + } + + @Override + public void watch(GameEvent event, Game game) { + switch (event.getType()) { + case PRECOMBAT_MAIN_PHASE_PRE: + case POSTCOMBAT_MAIN_PHASE_PRE: + mainPhaseCount++; + } + } + + @Override + public void reset() { + super.reset(); + this.mainPhaseCount = 0; + } + + static boolean checkCount(Game game) { + return game + .getState() + .getWatcher(MainPhaseWatcher.class) + .mainPhaseCount == 2; + } +} diff --git a/Mage/src/main/java/mage/abilities/Pronoun.java b/Mage/src/main/java/mage/constants/Pronoun.java similarity index 96% rename from Mage/src/main/java/mage/abilities/Pronoun.java rename to Mage/src/main/java/mage/constants/Pronoun.java index 68cbc89d7b0..60f14da08ab 100644 --- a/Mage/src/main/java/mage/abilities/Pronoun.java +++ b/Mage/src/main/java/mage/constants/Pronoun.java @@ -1,4 +1,4 @@ -package mage.abilities; +package mage.constants; /** * Created by IGOUDT on 5-3-2017. diff --git a/Mage/src/main/java/mage/filter/predicate/permanent/ControllerIsActivePlayerPredicate.java b/Mage/src/main/java/mage/filter/predicate/permanent/ControllerIsActivePlayerPredicate.java index ea0630f83ad..ffc6600a4ce 100644 --- a/Mage/src/main/java/mage/filter/predicate/permanent/ControllerIsActivePlayerPredicate.java +++ b/Mage/src/main/java/mage/filter/predicate/permanent/ControllerIsActivePlayerPredicate.java @@ -1,21 +1,17 @@ - package mage.filter.predicate.permanent; import mage.filter.predicate.Predicate; import mage.game.Game; import mage.game.permanent.Permanent; - /** - * * @author North */ -public class ControllerIsActivePlayerPredicate implements Predicate { +public enum ControllerIsActivePlayerPredicate implements Predicate { + instance; + @Override public boolean apply(Permanent input, Game game) { - if(input.getControllerId() == null){ - return false; - } return game.isActivePlayer(input.getControllerId()); } diff --git a/Mage/src/main/java/mage/game/command/emblems/BasriKetEmblem.java b/Mage/src/main/java/mage/game/command/emblems/BasriKetEmblem.java index 3b853bd72a1..6c60b3496e5 100644 --- a/Mage/src/main/java/mage/game/command/emblems/BasriKetEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/BasriKetEmblem.java @@ -1,7 +1,7 @@ package mage.game.command.emblems; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.constants.TargetController; @@ -20,8 +20,8 @@ public final class BasriKetEmblem extends Emblem { super("Emblem Basri"); Ability ability = new BeginningOfCombatTriggeredAbility( Zone.COMMAND, - new CreateTokenEffect(new SoldierToken()), - TargetController.YOU, false, false); + TargetController.YOU, new CreateTokenEffect(new SoldierToken()), + false); ability.addEffect( new AddCountersAllEffect(CounterType.P1P1.createInstance(), StaticFilters.FILTER_PERMANENT_CREATURE_CONTROLLED) .setText(", then put a +1/+1 counter on each creature you control") diff --git a/Mage/src/main/java/mage/game/command/emblems/LilianaWakerOfTheDeadEmblem.java b/Mage/src/main/java/mage/game/command/emblems/LilianaWakerOfTheDeadEmblem.java index bc91daa75db..6be0c28bb76 100644 --- a/Mage/src/main/java/mage/game/command/emblems/LilianaWakerOfTheDeadEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/LilianaWakerOfTheDeadEmblem.java @@ -1,7 +1,7 @@ package mage.game.command.emblems; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.common.ReturnCreatureFromGraveyardToBattlefieldAndGainHasteEffect; import mage.constants.TargetController; import mage.constants.Zone; @@ -18,8 +18,8 @@ public final class LilianaWakerOfTheDeadEmblem extends Emblem { super("Emblem Liliana"); Ability ability = new BeginningOfCombatTriggeredAbility( Zone.COMMAND, - new ReturnCreatureFromGraveyardToBattlefieldAndGainHasteEffect(), - TargetController.YOU, false, false); + TargetController.YOU, new ReturnCreatureFromGraveyardToBattlefieldAndGainHasteEffect(), + false); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE)); this.getAbilities().add(ability); } diff --git a/Mage/src/main/java/mage/game/command/emblems/RadiationEmblem.java b/Mage/src/main/java/mage/game/command/emblems/RadiationEmblem.java index ba754e0e97e..2593c8a2d74 100644 --- a/Mage/src/main/java/mage/game/command/emblems/RadiationEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/RadiationEmblem.java @@ -1,7 +1,7 @@ package mage.game.command.emblems; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfFirstMainTriggeredAbility; +import mage.abilities.triggers.BeginningOfFirstMainTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -31,7 +31,7 @@ public class RadiationEmblem extends Emblem { this.frameStyle = FrameStyle.M15_NORMAL; this.getAbilities().add(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfFirstMainTriggeredAbility(Zone.ALL, new RadiationEffect(), TargetController.YOU, false, false), + new BeginningOfFirstMainTriggeredAbility(Zone.ALL, TargetController.YOU, new RadiationEffect(), false), RadiationCondition.instance, "At the beginning of your precombat main phase, if you have any rad counters, " + "mill that many cards. For each nonland card milled this way, you lose 1 life and a rad counter." diff --git a/Mage/src/main/java/mage/game/command/emblems/SarkhanTheDragonspeakerEmblem.java b/Mage/src/main/java/mage/game/command/emblems/SarkhanTheDragonspeakerEmblem.java index b54ba95c269..aea4d02d133 100644 --- a/Mage/src/main/java/mage/game/command/emblems/SarkhanTheDragonspeakerEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/SarkhanTheDragonspeakerEmblem.java @@ -1,6 +1,6 @@ package mage.game.command.emblems; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.discard.DiscardHandControllerEffect; @@ -16,7 +16,7 @@ public final class SarkhanTheDragonspeakerEmblem extends Emblem { public SarkhanTheDragonspeakerEmblem() { super("Emblem Sarkhan"); - this.getAbilities().add(new BeginningOfDrawTriggeredAbility(Zone.COMMAND, new DrawCardSourceControllerEffect(2).setText("draw two additional cards"), TargetController.YOU, false)); + this.getAbilities().add(new BeginningOfDrawTriggeredAbility(Zone.COMMAND, TargetController.YOU, new DrawCardSourceControllerEffect(2).setText("draw two additional cards"), false)); this.getAbilities().add(new BeginningOfEndStepTriggeredAbility(Zone.COMMAND, new DiscardHandControllerEffect(), TargetController.YOU, null, false)); } diff --git a/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java b/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java index 184bdbd97be..0329ee93edc 100644 --- a/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/TezzeretTheSchemerEmblem.java @@ -1,7 +1,7 @@ package mage.game.command.emblems; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.AddCardTypeTargetEffect; import mage.abilities.effects.common.continuous.SetBasePowerToughnessTargetEffect; @@ -23,7 +23,7 @@ public final class TezzeretTheSchemerEmblem extends Emblem { Effect effect = new AddCardTypeTargetEffect(Duration.EndOfGame, CardType.ARTIFACT, CardType.CREATURE); effect.setText("target artifact you control becomes an artifact creature"); - Ability ability = new BeginningOfCombatTriggeredAbility(Zone.COMMAND, effect, TargetController.YOU, false, true); + Ability ability = new BeginningOfCombatTriggeredAbility(Zone.COMMAND, TargetController.YOU, effect, false); effect = new SetBasePowerToughnessTargetEffect(5, 5, Duration.EndOfGame); effect.setText("with base power and toughness 5/5"); ability.addEffect(effect); diff --git a/Mage/src/main/java/mage/game/command/planes/PanopticonPlane.java b/Mage/src/main/java/mage/game/command/planes/PanopticonPlane.java index a37d6b23c99..9abc482bac1 100644 --- a/Mage/src/main/java/mage/game/command/planes/PanopticonPlane.java +++ b/Mage/src/main/java/mage/game/command/planes/PanopticonPlane.java @@ -3,7 +3,7 @@ package mage.game.command.planes; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.ActivateIfConditionActivatedAbility; -import mage.abilities.common.BeginningOfDrawTriggeredAbility; +import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.MainPhaseStackEmptyCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -41,7 +41,7 @@ public class PanopticonPlane extends Plane { this.getAbilities().add(pwability); // At the beginning of your draw step, draw an additional card. - Ability ability = new BeginningOfDrawTriggeredAbility(Zone.COMMAND, new DrawCardTargetEffect(1), TargetController.ACTIVE, false); + Ability ability = new BeginningOfDrawTriggeredAbility(Zone.COMMAND, TargetController.YOU, new DrawCardTargetEffect(1), false); this.getAbilities().add(ability); // Active player can roll the planar die: Whenever you roll {CHAOS}, draw a card diff --git a/Mage/src/main/java/mage/game/permanent/token/AshiokWickedManipulatorNightmareToken.java b/Mage/src/main/java/mage/game/permanent/token/AshiokWickedManipulatorNightmareToken.java index 842eb877d58..d315d03125f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AshiokWickedManipulatorNightmareToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AshiokWickedManipulatorNightmareToken.java @@ -1,7 +1,7 @@ package mage.game.permanent.token; import mage.MageInt; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.triggers.BeginningOfCombatTriggeredAbility; import mage.abilities.condition.common.WasCardExiledThisTurnCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -33,7 +33,6 @@ public final class AshiokWickedManipulatorNightmareToken extends TokenImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfCombatTriggeredAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance()), - TargetController.YOU, false ), WasCardExiledThisTurnCondition.instance,