diff --git a/Mage.Sets/src/mage/cards/a/AberrantResearcher.java b/Mage.Sets/src/mage/cards/a/AberrantResearcher.java index e38132049bd..69e5b58f690 100644 --- a/Mage.Sets/src/mage/cards/a/AberrantResearcher.java +++ b/Mage.Sets/src/mage/cards/a/AberrantResearcher.java @@ -3,7 +3,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.keyword.FlyingAbility; @@ -35,7 +35,7 @@ public final class AberrantResearcher extends CardImpl { // At the beginning of your upkeep, put the top card of your library into your graveyard. If it's an instant or sorcery card, transform Aberrant Researcher. this.addAbility(new TransformAbility()); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AberrantResearcherEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AberrantResearcherEffect())); } private AberrantResearcher(final AberrantResearcher card) { diff --git a/Mage.Sets/src/mage/cards/a/AbhorrentOculus.java b/Mage.Sets/src/mage/cards/a/AbhorrentOculus.java index 3d1ae7b37c0..867200f9517 100644 --- a/Mage.Sets/src/mage/cards/a/AbhorrentOculus.java +++ b/Mage.Sets/src/mage/cards/a/AbhorrentOculus.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.effects.keyword.ManifestDreadEffect; import mage.abilities.keyword.FlyingAbility; @@ -37,7 +37,7 @@ public final class AbhorrentOculus extends CardImpl { // At the beginning of each opponent's upkeep, manifest dread. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ManifestDreadEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new ManifestDreadEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java b/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java index 8f471c76c71..0dba2b847ce 100644 --- a/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java +++ b/Mage.Sets/src/mage/cards/a/AbhorrentOverlord.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.Effect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.permanent.token.HarpyToken; @@ -39,7 +38,7 @@ public final class AbhorrentOverlord extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(effect).addHint(DevotionCount.B.getHint())); // At the beginning of your upkeep, sacrifice a creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, null), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, null))); } private AbhorrentOverlord(final AbhorrentOverlord card) { diff --git a/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java b/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java index 89167055371..07baf140a0e 100644 --- a/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java +++ b/Mage.Sets/src/mage/cards/a/AbzanBeastmaster.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.ControlsCreatureGreatestToughnessCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class AbzanBeastmaster extends CardImpl { // At the beginning of your upkeep, draw a card if you control the creature with the greatest toughness or tied for the greatest toughness. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1)), ControlsCreatureGreatestToughnessCondition.instance, "At the beginning of your upkeep, draw a card if you control the creature with the greatest toughness or tied for the greatest toughness." )); diff --git a/Mage.Sets/src/mage/cards/a/AchHansRun.java b/Mage.Sets/src/mage/cards/a/AchHansRun.java index e8b9c2e6ec0..69985502ea7 100644 --- a/Mage.Sets/src/mage/cards/a/AchHansRun.java +++ b/Mage.Sets/src/mage/cards/a/AchHansRun.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -33,7 +33,7 @@ public final class AchHansRun extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{R}{G}{G}"); // At the beginning of your upkeep, you may say "Ach! Hans, run! It’s the …" and the name of a creature card. If you do, search your library for a card with that name, put it onto the battlefield, then shuffle your library. That creature gains haste. Exile it at the beginning of the next end step. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AchHansRunEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AchHansRunEffect(), true)); } private AchHansRun(final AchHansRun card) { diff --git a/Mage.Sets/src/mage/cards/a/ActOfAuthority.java b/Mage.Sets/src/mage/cards/a/ActOfAuthority.java index 3f7c434efb1..87b9cebbdae 100644 --- a/Mage.Sets/src/mage/cards/a/ActOfAuthority.java +++ b/Mage.Sets/src/mage/cards/a/ActOfAuthority.java @@ -2,8 +2,7 @@ package mage.cards.a; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffectImpl; @@ -32,7 +31,7 @@ public final class ActOfAuthority extends CardImpl { ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); this.addAbility(ability); // At the beginning of your upkeep, you may exile target artifact or enchantment. If you do, its controller gains control of Act of Authority. - ability = new BeginningOfUpkeepTriggeredAbility(new ActOfAuthorityEffect(), TargetController.YOU, true); + ability = new BeginningOfUpkeepTriggeredAbility(new ActOfAuthorityEffect(), true); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_ENCHANTMENT)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/a/AdmiralAckbar.java b/Mage.Sets/src/mage/cards/a/AdmiralAckbar.java index a53cf4eaa77..183eceaf917 100644 --- a/Mage.Sets/src/mage/cards/a/AdmiralAckbar.java +++ b/Mage.Sets/src/mage/cards/a/AdmiralAckbar.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.AttacksWithCreaturesTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.CastSourceTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -43,7 +43,7 @@ public final class AdmiralAckbar extends CardImpl { this.addAbility(new CastSourceTriggeredAbility(new CreateTokenEffect(new RebelStarshipToken(), 2), false)); // At the beginning of each upkeep, untap all starships you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new UntapAllControllerEffect(filter), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new UntapAllControllerEffect(filter), false)); // Whenever two or more Starship creatures you control attack, draw a card. this.addAbility(new AttacksWithCreaturesTriggeredAbility(new DrawCardSourceControllerEffect(1), 2, filter)); diff --git a/Mage.Sets/src/mage/cards/a/AetherRift.java b/Mage.Sets/src/mage/cards/a/AetherRift.java index 90d9ada34ed..78882c6ca3a 100644 --- a/Mage.Sets/src/mage/cards/a/AetherRift.java +++ b/Mage.Sets/src/mage/cards/a/AetherRift.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; import mage.target.targetpointer.FixedTarget; @@ -30,7 +29,7 @@ public final class AetherRift extends CardImpl { // At the beginning of your upkeep, discard a card at random. If you discard a creature card this way, return it from your graveyard to the battlefield unless any player pays 5 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AetherRiftEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AetherRiftEffect())); } diff --git a/Mage.Sets/src/mage/cards/a/AetherVial.java b/Mage.Sets/src/mage/cards/a/AetherVial.java index 95ffb242c98..7c6110bba59 100644 --- a/Mage.Sets/src/mage/cards/a/AetherVial.java +++ b/Mage.Sets/src/mage/cards/a/AetherVial.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.OneShotEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreatureCard; @@ -34,7 +33,7 @@ public final class AetherVial extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); // At the beginning of your upkeep, you may put a charge counter on Aether Vial. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true), true)); // {tap}: You may put a creature card with converted mana cost equal to the number of charge counters on Aether Vial from your hand onto the battlefield. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AetherVialEffect(), new TapSourceCost())); } diff --git a/Mage.Sets/src/mage/cards/a/AethersquallAncient.java b/Mage.Sets/src/mage/cards/a/AethersquallAncient.java index cd95c0822cf..8c060b7c701 100644 --- a/Mage.Sets/src/mage/cards/a/AethersquallAncient.java +++ b/Mage.Sets/src/mage/cards/a/AethersquallAncient.java @@ -4,7 +4,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.PayEnergyCost; import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; @@ -13,7 +13,6 @@ 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 mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -40,7 +39,7 @@ public final class AethersquallAncient extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, you get {E}{E}{E}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GetEnergyCountersControllerEffect(3), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GetEnergyCountersControllerEffect(3))); // Pay {E}{E}{E}{E}{E}{E}{E}{E}: Return all other creatures to their owners' hands. Activate this ability only any time you could cast a sorcery. this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandFromBattlefieldAllEffect(filter), new PayEnergyCost(8))); diff --git a/Mage.Sets/src/mage/cards/a/AfiyaGrove.java b/Mage.Sets/src/mage/cards/a/AfiyaGrove.java index 1d643f93646..4fcea676002 100644 --- a/Mage.Sets/src/mage/cards/a/AfiyaGrove.java +++ b/Mage.Sets/src/mage/cards/a/AfiyaGrove.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.abilities.Ability; import mage.abilities.StateTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -10,7 +10,6 @@ import mage.abilities.effects.common.counter.MoveCountersFromSourceToTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -33,7 +32,7 @@ public final class AfiyaGrove extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), "with three +1/+1 counters on it")); // At the beginning of your upkeep, move a +1/+1 counter from Afiya Grove onto target creature. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new MoveCountersFromSourceToTargetEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new MoveCountersFromSourceToTargetEffect()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AgentOfMasks.java b/Mage.Sets/src/mage/cards/a/AgentOfMasks.java index 000495418b9..82aaa36826d 100644 --- a/Mage.Sets/src/mage/cards/a/AgentOfMasks.java +++ b/Mage.Sets/src/mage/cards/a/AgentOfMasks.java @@ -1,13 +1,12 @@ package mage.cards.a; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.LoseLifeOpponentsYouGainLifeLostEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -24,7 +23,7 @@ public final class AgentOfMasks extends CardImpl { // At the beginning of your upkeep, each opponent loses 1 life. You gain life equal to the life lost this way. this.power = new MageInt(2); this.toughness = new MageInt(3); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsYouGainLifeLostEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsYouGainLifeLostEffect(1))); } private AgentOfMasks(final AgentOfMasks card) { diff --git a/Mage.Sets/src/mage/cards/a/AkroanHorse.java b/Mage.Sets/src/mage/cards/a/AkroanHorse.java index e7926e5275d..40127944a07 100644 --- a/Mage.Sets/src/mage/cards/a/AkroanHorse.java +++ b/Mage.Sets/src/mage/cards/a/AkroanHorse.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffectImpl; @@ -43,8 +43,7 @@ public final class AkroanHorse extends CardImpl { // At the beginning of your upkeep, each opponent create a 1/1 white Soldier creature token. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CreateTokenAllEffect(new SoldierToken(), TargetController.OPPONENT), - TargetController.YOU, false + new CreateTokenAllEffect(new SoldierToken(), TargetController.OPPONENT) )); } diff --git a/Mage.Sets/src/mage/cards/a/AkuDjinn.java b/Mage.Sets/src/mage/cards/a/AkuDjinn.java index acd8bda8267..bf416d4a75b 100644 --- a/Mage.Sets/src/mage/cards/a/AkuDjinn.java +++ b/Mage.Sets/src/mage/cards/a/AkuDjinn.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.constants.SubType; import mage.abilities.keyword.TrampleAbility; @@ -37,7 +37,7 @@ public final class AkuDjinn extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, put a +1/+1 counter on each creature each opponent controls. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter))); } private AkuDjinn(final AkuDjinn card) { diff --git a/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java b/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java index 72066fa703d..44822285a72 100644 --- a/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java +++ b/Mage.Sets/src/mage/cards/a/AkutaBornOfAsh.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -38,8 +38,8 @@ public final class AkutaBornOfAsh extends CardImpl { // At the beginning of your upkeep, if you have more cards in hand than each opponent, you may sacrifice a Swamp. If you do, return Akuta, Born of Ash from your graveyard to the battlefield. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new DoIfCostPaid(new ReturnSourceFromGraveyardToBattlefieldEffect(), new SacrificeTargetCost(filterSwamp)), - TargetController.YOU, false).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance)); + TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToBattlefieldEffect(), new SacrificeTargetCost(filterSwamp)), + false).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance)); } private AkutaBornOfAsh(final AkutaBornOfAsh card) { diff --git a/Mage.Sets/src/mage/cards/a/AllHallowsEve.java b/Mage.Sets/src/mage/cards/a/AllHallowsEve.java index 0cc79d29177..f49ce8eba44 100644 --- a/Mage.Sets/src/mage/cards/a/AllHallowsEve.java +++ b/Mage.Sets/src/mage/cards/a/AllHallowsEve.java @@ -1,10 +1,7 @@ package mage.cards.a; -import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.condition.Condition; -import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ExileSpellEffect; @@ -41,8 +38,7 @@ public final class AllHallowsEve extends CardImpl { // If there are no more scream counters on it, put it into your graveyard and each player returns all creature cards from their graveyard to the battlefield. Ability ability = new BeginningOfUpkeepTriggeredAbility( Zone.EXILED, - new RemoveCounterSourceEffect(CounterType.SCREAM.createInstance(1)), - TargetController.YOU, + TargetController.YOU, new RemoveCounterSourceEffect(CounterType.SCREAM.createInstance(1)), false ); ability.addEffect(new AllHallowsEveEffect()); diff --git a/Mage.Sets/src/mage/cards/a/Amplifire.java b/Mage.Sets/src/mage/cards/a/Amplifire.java index 1919bd1e3a1..62ba4c70084 100644 --- a/Mage.Sets/src/mage/cards/a/Amplifire.java +++ b/Mage.Sets/src/mage/cards/a/Amplifire.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffect; import mage.cards.*; @@ -28,7 +28,7 @@ public final class Amplifire extends CardImpl { // Until your next turn, Amplifire's base power becomes twice that card's power and its base toughness becomes twice that card's toughness. // Put the revealed cards on the bottom of your library in a random order. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AmplifireEffect(), TargetController.YOU, false + new AmplifireEffect() )); } diff --git a/Mage.Sets/src/mage/cards/a/AncientRunes.java b/Mage.Sets/src/mage/cards/a/AncientRunes.java index 4a7f4c98602..d53b40dac23 100644 --- a/Mage.Sets/src/mage/cards/a/AncientRunes.java +++ b/Mage.Sets/src/mage/cards/a/AncientRunes.java @@ -1,15 +1,13 @@ package mage.cards.a; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; import mage.game.Game; import mage.players.Player; @@ -25,7 +23,7 @@ public final class AncientRunes extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); // At the beginning of each player's upkeep, Ancient Runes deals damage to that player equal to the number of artifacts they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AncientRunesDamageTargetEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new AncientRunesDamageTargetEffect(), false)); } private AncientRunes(final AncientRunes card) { diff --git a/Mage.Sets/src/mage/cards/a/AngelOfFlightAlabaster.java b/Mage.Sets/src/mage/cards/a/AngelOfFlightAlabaster.java index 9234c9ebc47..89905150e50 100644 --- a/Mage.Sets/src/mage/cards/a/AngelOfFlightAlabaster.java +++ b/Mage.Sets/src/mage/cards/a/AngelOfFlightAlabaster.java @@ -2,16 +2,14 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterCard; -import mage.target.Target; import mage.target.common.TargetCardInYourGraveyard; import java.util.UUID; @@ -33,7 +31,7 @@ public final class AngelOfFlightAlabaster extends CardImpl { this.addAbility(FlyingAbility.getInstance()); Ability ability = new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardToHandTargetEffect(), TargetController.YOU, false + new ReturnFromGraveyardToHandTargetEffect() ); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AnowonTheRuinSage.java b/Mage.Sets/src/mage/cards/a/AnowonTheRuinSage.java index e26a0a40ea8..7ef785881fa 100644 --- a/Mage.Sets/src/mage/cards/a/AnowonTheRuinSage.java +++ b/Mage.Sets/src/mage/cards/a/AnowonTheRuinSage.java @@ -3,14 +3,13 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -35,7 +34,7 @@ public final class AnowonTheRuinSage extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(3); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeAllEffect(filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeAllEffect(filter))); } private AnowonTheRuinSage(final AnowonTheRuinSage card) { diff --git a/Mage.Sets/src/mage/cards/a/AnuridScavenger.java b/Mage.Sets/src/mage/cards/a/AnuridScavenger.java index f51f7e1f831..9cbf5efe14d 100644 --- a/Mage.Sets/src/mage/cards/a/AnuridScavenger.java +++ b/Mage.Sets/src/mage/cards/a/AnuridScavenger.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.CostImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; import mage.game.Game; @@ -40,7 +39,7 @@ public final class AnuridScavenger extends CardImpl { this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); // At the beginning of your upkeep, sacrifice Anurid Scavenger unless you put a card from your graveyard on the bottom of your library. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new AnuridScavengerCost()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new AnuridScavengerCost()))); } private AnuridScavenger(final AnuridScavenger card) { diff --git a/Mage.Sets/src/mage/cards/a/Apathy.java b/Mage.Sets/src/mage/cards/a/Apathy.java index 318589b422d..ec4b0d0d60a 100644 --- a/Mage.Sets/src/mage/cards/a/Apathy.java +++ b/Mage.Sets/src/mage/cards/a/Apathy.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; @@ -43,7 +43,7 @@ public final class Apathy extends CardImpl { // At the beginning of the upkeep of enchanted creature’s controller, that player may discard a card at random. If the player does, untap that creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ApathyEffect(), TargetController.CONTROLLER_ATTACHED_TO, false + TargetController.CONTROLLER_ATTACHED_TO, new ApathyEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/a/ApocalypseDemon.java b/Mage.Sets/src/mage/cards/a/ApocalypseDemon.java index 8d391b9dd9d..42f075ce528 100644 --- a/Mage.Sets/src/mage/cards/a/ApocalypseDemon.java +++ b/Mage.Sets/src/mage/cards/a/ApocalypseDemon.java @@ -1,7 +1,7 @@ package mage.cards.a; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; @@ -32,7 +32,7 @@ public final class ApocalypseDemon extends CardImpl { // At the beginning of your upkeep, tap Apocalypse Demon unless you sacrifice another creature. TapSourceUnlessPaysEffect tapEffect = new TapSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)); tapEffect.setText("tap {this} unless you sacrifice another creature."); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(tapEffect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(tapEffect)); } private ApocalypseDemon(final ApocalypseDemon card) { diff --git a/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java b/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java index 1d7d095fb1d..bd2dda43293 100644 --- a/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java +++ b/Mage.Sets/src/mage/cards/a/ArcadesSabboth.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -45,7 +45,7 @@ public final class ArcadesSabboth extends CardImpl { // At the beginning of your upkeep, sacrifice Arcades Sabboth unless you pay {G}{W}{U}. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{W}{U}")), TargetController.YOU, false)); + new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{W}{U}")))); // Each untapped creature you control gets +0/+2 as long as it's not attacking. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(0, 2, Duration.WhileOnBattlefield, filter, false))); diff --git a/Mage.Sets/src/mage/cards/a/ArcboundFiend.java b/Mage.Sets/src/mage/cards/a/ArcboundFiend.java index fc1fdd8bb1e..32bf89e16a4 100644 --- a/Mage.Sets/src/mage/cards/a/ArcboundFiend.java +++ b/Mage.Sets/src/mage/cards/a/ArcboundFiend.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.MoveCountersFromTargetToSourceEffect; import mage.abilities.keyword.FearAbility; import mage.abilities.keyword.ModularAbility; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -32,7 +31,7 @@ public final class ArcboundFiend extends CardImpl { this.addAbility(FearAbility.getInstance()); // At the beginning of your upkeep, you may move a +1/+1 counter from target creature onto Arcbound Fiend. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new MoveCountersFromTargetToSourceEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new MoveCountersFromTargetToSourceEffect(), true); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/ArchdemonOfUnx.java b/Mage.Sets/src/mage/cards/a/ArchdemonOfUnx.java index 5c6d7df33f2..b96c8e61f80 100644 --- a/Mage.Sets/src/mage/cards/a/ArchdemonOfUnx.java +++ b/Mage.Sets/src/mage/cards/a/ArchdemonOfUnx.java @@ -4,7 +4,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.SacrificeControllerEffect; import mage.abilities.keyword.FlyingAbility; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.game.permanent.token.ZombieToken; @@ -42,7 +41,7 @@ public final class ArchdemonOfUnx extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice a non-Zombie creature, then create a 2/2 black Zombie creature token. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(filter, 1, ""), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(filter, 1, "")); ability.addEffect(new CreateTokenEffect(new ZombieToken()).concatBy(", then")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/a/ArcheryTraining.java b/Mage.Sets/src/mage/cards/a/ArcheryTraining.java index 6016a5173f9..830389f78c2 100644 --- a/Mage.Sets/src/mage/cards/a/ArcheryTraining.java +++ b/Mage.Sets/src/mage/cards/a/ArcheryTraining.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.TapSourceCost; @@ -44,7 +44,7 @@ public final class ArcheryTraining extends CardImpl { // At the beginning of your upkeep, you may put an arrow counter on Archery Training. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect( CounterType.ARROW.createInstance(), true - ), TargetController.YOU, true)); + ), true)); // Enchanted creature has "{tap}: This creature deals X damage to target attacking or blocking creature, where X is the number of arrow counters on Archery Training." this.addAbility(new SimpleStaticAbility(new ArcheryTrainingEffect())); diff --git a/Mage.Sets/src/mage/cards/a/ArchfiendOfTheDross.java b/Mage.Sets/src/mage/cards/a/ArchfiendOfTheDross.java index 342d5fcc579..d3583388e8f 100644 --- a/Mage.Sets/src/mage/cards/a/ArchfiendOfTheDross.java +++ b/Mage.Sets/src/mage/cards/a/ArchfiendOfTheDross.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.Condition; @@ -18,7 +18,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.Controllable; @@ -55,8 +54,7 @@ public final class ArchfiendOfTheDross extends CardImpl { // At the beginning of your upkeep, remove an oil counter from Archfiend of the Dross. Then if it has no oil counters on it, you lose the game. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new RemoveCounterSourceEffect(CounterType.OIL.createInstance()), - TargetController.YOU, false + new RemoveCounterSourceEffect(CounterType.OIL.createInstance()) ); ability.addEffect(new ConditionalOneShotEffect( new LoseGameSourceControllerEffect(), condition, diff --git a/Mage.Sets/src/mage/cards/a/ArdenAngel.java b/Mage.Sets/src/mage/cards/a/ArdenAngel.java index 6f615eb6f0b..b67b4dc5947 100644 --- a/Mage.Sets/src/mage/cards/a/ArdenAngel.java +++ b/Mage.Sets/src/mage/cards/a/ArdenAngel.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceInGraveyardCondition; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; @@ -31,7 +31,7 @@ public final class ArdenAngel extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, if Arden Angel is in your graveyard, roll a four-sided die. If the result is 1, return Arden Angel from your graveyard to the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, new ArdenAngelEffect(), TargetController.YOU, false) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, TargetController.YOU, new ArdenAngelEffect(), false) .withInterveningIf(SourceInGraveyardCondition.instance)); } diff --git a/Mage.Sets/src/mage/cards/a/ArgentumMasticore.java b/Mage.Sets/src/mage/cards/a/ArgentumMasticore.java index 060b92d675f..9c0bab8fa0e 100644 --- a/Mage.Sets/src/mage/cards/a/ArgentumMasticore.java +++ b/Mage.Sets/src/mage/cards/a/ArgentumMasticore.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyTargetEffect; @@ -51,7 +51,7 @@ public final class ArgentumMasticore extends CardImpl { // At the beginning of your upkeep, sacrifice Argentum Masticore unless you discard a card. When you discard a card this way, destroy target nonland permanent an opponent controls with mana value less than or equal to the mana value of the discarded card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ArgentumMasticoreEffect(), TargetController.YOU, false + new ArgentumMasticoreEffect() )); } diff --git a/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java b/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java index 000c0a944dc..e8d0fa44286 100644 --- a/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java +++ b/Mage.Sets/src/mage/cards/a/ArguelsBloodFast.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.FatefulHourCondition; import mage.abilities.costs.common.PayLifeCost; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.constants.Zone; import java.util.UUID; @@ -36,8 +35,8 @@ public final class ArguelsBloodFast extends CardImpl { // At the beginning of your upkeep, if you have 5 or less life, you may transform Arguel's Blood Fast. this.addAbility(new TransformAbility()); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), - TargetController.YOU, true).withInterveningIf(FatefulHourCondition.instance)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), true + ).withInterveningIf(FatefulHourCondition.instance)); } private ArguelsBloodFast(final ArguelsBloodFast card) { diff --git a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java index 4b6a8142da7..e373888d3ca 100644 --- a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java +++ b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.abilities.ActivatedAbilityImpl; import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalActivatedAbility; @@ -27,7 +27,7 @@ public final class ArmageddonClock extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); // At the beginning of your upkeep, put a doom counter on Armageddon Clock. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), StaticValue.get(1), true), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DOOM.createInstance(), StaticValue.get(1), true))); // 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)) diff --git a/Mage.Sets/src/mage/cards/a/ArtificersHex.java b/Mage.Sets/src/mage/cards/a/ArtificersHex.java index b1b95c3f7aa..3f1308f1ac3 100644 --- a/Mage.Sets/src/mage/cards/a/ArtificersHex.java +++ b/Mage.Sets/src/mage/cards/a/ArtificersHex.java @@ -3,7 +3,7 @@ package mage.cards.a; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -39,7 +39,7 @@ public final class ArtificersHex extends CardImpl { Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // At the beginning of your upkeep, if enchanted Equipment is attached to a creature, destroy that creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ArtificersHexEffect(), TargetController.YOU, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ArtificersHexEffect())); } private ArtificersHex(final ArtificersHex card) { diff --git a/Mage.Sets/src/mage/cards/a/AsForetold.java b/Mage.Sets/src/mage/cards/a/AsForetold.java index fd39a7dbe1b..acc708f89cc 100644 --- a/Mage.Sets/src/mage/cards/a/AsForetold.java +++ b/Mage.Sets/src/mage/cards/a/AsForetold.java @@ -3,7 +3,7 @@ package mage.cards.a; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.SpellAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.AlternativeCostSourceAbility; @@ -18,7 +18,6 @@ import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.util.CardUtil; import java.util.UUID; @@ -36,9 +35,8 @@ public final class AsForetold extends CardImpl { new AddCountersSourceEffect( CounterType.TIME.createInstance(), StaticValue.get(1), - true), - TargetController.YOU, - false)); + true), false + )); // Once each turn, you may pay {0} rather than pay the mana cost for a spell you cast with converted mana cost X or less, where X is the number of time counters on As Foretold. addAbility(new SimpleStaticAbility( diff --git a/Mage.Sets/src/mage/cards/a/AscendantAcolyte.java b/Mage.Sets/src/mage/cards/a/AscendantAcolyte.java index 464c364c675..e0b16177977 100644 --- a/Mage.Sets/src/mage/cards/a/AscendantAcolyte.java +++ b/Mage.Sets/src/mage/cards/a/AscendantAcolyte.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.Game; @@ -41,7 +40,7 @@ public final class AscendantAcolyte extends CardImpl { // At the beginning of your upkeep, double the number of +1/+1 counters on Ascendant Acolyte. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DoubleCountersSourceEffect(CounterType.P1P1), TargetController.YOU, false + new DoubleCountersSourceEffect(CounterType.P1P1) )); } @@ -86,4 +85,4 @@ enum AscendantAcolyteValue implements DynamicValue { public String getMessage() { return ""; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/a/AssaultSuit.java b/Mage.Sets/src/mage/cards/a/AssaultSuit.java index fc6fa89913f..c289a7091e6 100644 --- a/Mage.Sets/src/mage/cards/a/AssaultSuit.java +++ b/Mage.Sets/src/mage/cards/a/AssaultSuit.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffectImpl; @@ -44,7 +44,7 @@ public final class AssaultSuit extends CardImpl { // At the beginning of each opponent's upkeep, you may have that player gain control of equipped creature until end of turn. If you do, untap it. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AssaultSuitGainControlEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new AssaultSuitGainControlEffect(), false )); // Equip {3} diff --git a/Mage.Sets/src/mage/cards/a/AssembleTheLegion.java b/Mage.Sets/src/mage/cards/a/AssembleTheLegion.java index a1cb98ada51..71062aabcaa 100644 --- a/Mage.Sets/src/mage/cards/a/AssembleTheLegion.java +++ b/Mage.Sets/src/mage/cards/a/AssembleTheLegion.java @@ -3,14 +3,13 @@ package mage.cards.a; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.permanent.token.SoldierTokenWithHaste; @@ -24,7 +23,7 @@ public final class AssembleTheLegion extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}{W}"); // At the beginning of your upkeep, put a muster counter on Assemble the Legion. Then create a 1/1 red and white Soldier creature token with haste for each muster counter on Assemble the Legion. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.MUSTER.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.MUSTER.createInstance())); ability.addEffect(new CreateTokenEffect(new SoldierTokenWithHaste(), new CountersSourceCount(CounterType.MUSTER)).concatBy("Then")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java index ac481590a98..558a2ecc4bf 100644 --- a/Mage.Sets/src/mage/cards/a/AsylumVisitor.java +++ b/Mage.Sets/src/mage/cards/a/AsylumVisitor.java @@ -2,7 +2,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -33,7 +33,7 @@ public final class AsylumVisitor extends CardImpl { // At the beginning of each player's upkeep, if that player has no cards in hand, you draw a card and you lose 1 life. Ability ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1, true), TargetController.ANY, false), + new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new DrawCardSourceControllerEffect(1, true), false), new CardsInHandCondition(ComparisonType.EQUAL_TO, 0, TargetController.ACTIVE), "At the beginning of each player's upkeep, if that player has no cards in hand, you draw a card and you lose 1 life."); Effect effect = new LoseLifeSourceControllerEffect(1); diff --git a/Mage.Sets/src/mage/cards/a/AuraFlux.java b/Mage.Sets/src/mage/cards/a/AuraFlux.java index 1f61e68a70e..f2a8f8c0a9d 100644 --- a/Mage.Sets/src/mage/cards/a/AuraFlux.java +++ b/Mage.Sets/src/mage/cards/a/AuraFlux.java @@ -2,7 +2,7 @@ package mage.cards.a; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.filter.common.FilterEnchantmentPermanent; /** @@ -25,7 +24,7 @@ public final class AuraFlux extends CardImpl { // Other enchantments have "At the beginning of your upkeep, sacrifice this enchantment unless you pay {2}." Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(2)) - .setText("sacrifice this enchantment unless you pay {2}"), TargetController.YOU, false); + .setText("sacrifice this enchantment unless you pay {2}")); this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, new FilterEnchantmentPermanent("enchantments"), true))); } diff --git a/Mage.Sets/src/mage/cards/a/AvariceAmulet.java b/Mage.Sets/src/mage/cards/a/AvariceAmulet.java index 123d5f8cf6a..e9824f95f33 100644 --- a/Mage.Sets/src/mage/cards/a/AvariceAmulet.java +++ b/Mage.Sets/src/mage/cards/a/AvariceAmulet.java @@ -1,7 +1,7 @@ package mage.cards.a; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; @@ -38,7 +38,7 @@ public final class AvariceAmulet extends CardImpl { effect.setText("and has vigilance"); ability.addEffect(effect); //and "At the beginning of your upkeep, draw a card." - effect = new GainAbilityAttachedEffect(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false), AttachmentType.EQUIPMENT); + effect = new GainAbilityAttachedEffect(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1)), AttachmentType.EQUIPMENT); effect.setText("and \"At the beginning of your upkeep, draw a card.\""); ability.addEffect(effect); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AvenMimeomancer.java b/Mage.Sets/src/mage/cards/a/AvenMimeomancer.java index f3008682b63..eae60c1968c 100644 --- a/Mage.Sets/src/mage/cards/a/AvenMimeomancer.java +++ b/Mage.Sets/src/mage/cards/a/AvenMimeomancer.java @@ -4,8 +4,7 @@ package mage.cards.a; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.keyword.FlyingAbility; @@ -35,7 +34,7 @@ public final class AvenMimeomancer extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, you may put a feather counter on target creature. If you do, that creature has base power and toughness 3/1 and has flying for as long as it has a feather counter on it. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.FEATHER.createInstance()), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.FEATHER.createInstance()), true); ability.addTarget(new TargetCreaturePermanent()); ability.addEffect(new AvenEffect()); ability.addEffect(new AvenEffect2()); diff --git a/Mage.Sets/src/mage/cards/a/Awakening.java b/Mage.Sets/src/mage/cards/a/Awakening.java index 175625161e3..7d49b70f335 100644 --- a/Mage.Sets/src/mage/cards/a/Awakening.java +++ b/Mage.Sets/src/mage/cards/a/Awakening.java @@ -2,7 +2,7 @@ package mage.cards.a; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.UntapAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -30,7 +30,7 @@ public final class Awakening extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{G}"); // At the beginning of each upkeep, untap all creatures and lands. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new UntapAllEffect(filter), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new UntapAllEffect(filter), false)); } private Awakening(final Awakening card) { diff --git a/Mage.Sets/src/mage/cards/a/AwakeningZone.java b/Mage.Sets/src/mage/cards/a/AwakeningZone.java index 3aad68a265e..376e24508a6 100644 --- a/Mage.Sets/src/mage/cards/a/AwakeningZone.java +++ b/Mage.Sets/src/mage/cards/a/AwakeningZone.java @@ -3,12 +3,11 @@ package mage.cards.a; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.game.permanent.token.EldraziSpawnToken; /** @@ -22,7 +21,7 @@ public final class AwakeningZone extends CardImpl { // At the beginning of your upkeep, you may create a 0/1 colorless Eldrazi Spawn creature token. It has “Sacrifice this creature: Add {C}.” this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect( - new EldraziSpawnToken()).withTextOptions(true), TargetController.YOU, true)); + new EldraziSpawnToken()).withTextOptions(true), true)); } private AwakeningZone(final AwakeningZone card) { diff --git a/Mage.Sets/src/mage/cards/a/AxisOfMortality.java b/Mage.Sets/src/mage/cards/a/AxisOfMortality.java index 874f47c66f1..aadcc015ac1 100644 --- a/Mage.Sets/src/mage/cards/a/AxisOfMortality.java +++ b/Mage.Sets/src/mage/cards/a/AxisOfMortality.java @@ -1,12 +1,11 @@ package mage.cards.a; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ExchangeLifeTwoTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.target.TargetPlayer; import java.util.UUID; @@ -21,7 +20,7 @@ public final class AxisOfMortality extends CardImpl { // At the beginning of your upkeep, you may have two target players exchange life totals. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new ExchangeLifeTwoTargetEffect(), TargetController.YOU, true + new ExchangeLifeTwoTargetEffect(), true ); ability.addTarget(new TargetPlayer(2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/a/AzorsElocutors.java b/Mage.Sets/src/mage/cards/a/AzorsElocutors.java index f672768e8a8..d1ab1470252 100644 --- a/Mage.Sets/src/mage/cards/a/AzorsElocutors.java +++ b/Mage.Sets/src/mage/cards/a/AzorsElocutors.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.cards.CardImpl; @@ -32,7 +32,7 @@ public final class AzorsElocutors extends CardImpl { this.toughness = new MageInt(5); // At the beginning of your upkeep, put a filibuster counter on Azor's Elocutors. Then if Azor's Elocutors has five or more filibuster counters on it, you win the game. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AzorsElocutorsEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AzorsElocutorsEffect())); // Whenever a source deals damage to you, remove a filibuster counter from Azor's Elocutors. this.addAbility(new AzorsElocutorsTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/b/BalefulForce.java b/Mage.Sets/src/mage/cards/b/BalefulForce.java index fa7776f1fb0..ece068a6608 100644 --- a/Mage.Sets/src/mage/cards/b/BalefulForce.java +++ b/Mage.Sets/src/mage/cards/b/BalefulForce.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -27,7 +27,7 @@ public final class BalefulForce extends CardImpl { this.toughness = new MageInt(7); // At the beginning of each upkeep, you draw a card and you lose 1 life. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1, true), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new DrawCardSourceControllerEffect(1, true), false); Effect effect = new LoseLifeSourceControllerEffect(1); ability.addEffect(effect.concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BanditsTalent.java b/Mage.Sets/src/mage/cards/b/BanditsTalent.java index 1b9cce58eba..49d95f90602 100644 --- a/Mage.Sets/src/mage/cards/b/BanditsTalent.java +++ b/Mage.Sets/src/mage/cards/b/BanditsTalent.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.abilities.Ability; import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CardsInHandCondition; @@ -54,8 +54,8 @@ public final class BanditsTalent extends CardImpl { this.addAbility(new ClassLevelAbility(2, "{B}")); // At the beginning of each opponent's upkeep, if that player has one or fewer cards in hand, they lose 2 life. this.addAbility(new SimpleStaticAbility(new GainClassAbilitySourceEffect(new BeginningOfUpkeepTriggeredAbility( - new ConditionalOneShotEffect(new LoseLifeTargetEffect(2), new CardsInHandCondition(ComparisonType.OR_LESS, 1, TargetController.ACTIVE)), - TargetController.OPPONENT, false), 2))); + TargetController.OPPONENT, new ConditionalOneShotEffect(new LoseLifeTargetEffect(2), new CardsInHandCondition(ComparisonType.OR_LESS, 1, TargetController.ACTIVE)), + false), 2))); // {3}{B}: Level 3 this.addAbility(new ClassLevelAbility(3, "{3}{B}")); diff --git a/Mage.Sets/src/mage/cards/b/BarbedWire.java b/Mage.Sets/src/mage/cards/b/BarbedWire.java index f62f7be8f59..c64a6b0826d 100644 --- a/Mage.Sets/src/mage/cards/b/BarbedWire.java +++ b/Mage.Sets/src/mage/cards/b/BarbedWire.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.PreventionEffectImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -27,10 +26,8 @@ public final class BarbedWire extends CardImpl { // At the beginning of each player's upkeep, Barbed Wire deals 1 damage to that player. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new DamageTargetEffect(1).withTargetDescription("that player"), - TargetController.ACTIVE, - false, true)); + TargetController.EACH_PLAYER, new DamageTargetEffect(1).withTargetDescription("that player"), + false)); // {2}: Prevent the next 1 damage that would be dealt by Barbed Wire this turn. this.addAbility(new SimpleActivatedAbility( diff --git a/Mage.Sets/src/mage/cards/b/BarrenGlory.java b/Mage.Sets/src/mage/cards/b/BarrenGlory.java index e7c448b67d9..521770cda00 100644 --- a/Mage.Sets/src/mage/cards/b/BarrenGlory.java +++ b/Mage.Sets/src/mage/cards/b/BarrenGlory.java @@ -2,7 +2,7 @@ package mage.cards.b; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.CompoundCondition; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -32,7 +31,7 @@ public final class BarrenGlory extends CardImpl { // At the beginning of your upkeep, if you control no permanents other than Barren Glory and have no cards in hand, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()), new CompoundCondition( new CardsInHandCondition(ComparisonType.EQUAL_TO, 0), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.EQUAL_TO, 0) diff --git a/Mage.Sets/src/mage/cards/b/BarrinsCodex.java b/Mage.Sets/src/mage/cards/b/BarrinsCodex.java index e528a7dbbae..b75e9169f09 100644 --- a/Mage.Sets/src/mage/cards/b/BarrinsCodex.java +++ b/Mage.Sets/src/mage/cards/b/BarrinsCodex.java @@ -3,7 +3,7 @@ package mage.cards.b; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -14,7 +14,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -28,7 +27,7 @@ public final class BarrinsCodex extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); //At the beginning of your upkeep, you may put a page counter on Barrin's Codex. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PAGE.createInstance()), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PAGE.createInstance()), true)); //{4}, {T}, Sacrifice Barrin's Codex: Draw X cards, where X is the number of page counters on Barrin's Codex. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.PAGE)), new ManaCostsImpl<>("{4}")); diff --git a/Mage.Sets/src/mage/cards/b/BarrowGhoul.java b/Mage.Sets/src/mage/cards/b/BarrowGhoul.java index 0d1fe6a311e..0be8457e995 100644 --- a/Mage.Sets/src/mage/cards/b/BarrowGhoul.java +++ b/Mage.Sets/src/mage/cards/b/BarrowGhoul.java @@ -3,14 +3,13 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.ExileTopCreatureCardOfGraveyardCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -25,7 +24,7 @@ public final class BarrowGhoul extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, sacrifice Barrow Ghoul unless you exile the top creature card of your graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ExileTopCreatureCardOfGraveyardCost(1)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ExileTopCreatureCardOfGraveyardCost(1)))); } private BarrowGhoul(final BarrowGhoul card) { diff --git a/Mage.Sets/src/mage/cards/b/BattleOfWits.java b/Mage.Sets/src/mage/cards/b/BattleOfWits.java index ef2182bd6a3..054889aad3d 100644 --- a/Mage.Sets/src/mage/cards/b/BattleOfWits.java +++ b/Mage.Sets/src/mage/cards/b/BattleOfWits.java @@ -4,14 +4,13 @@ package mage.cards.b; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.WinGameSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -26,7 +25,7 @@ public final class BattleOfWits extends CardImpl { // At the beginning of your upkeep, if you have 200 or more cards in your library, you win the game. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new BattleOfWitsCondition(), "At the beginning of your upkeep, if you have 200 or more cards in your library, you win the game.")); } diff --git a/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java b/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java index 528205a7577..00b28f57b24 100644 --- a/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java +++ b/Mage.Sets/src/mage/cards/b/BeledrosWitherbloom.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.CreateTokenEffect; @@ -35,7 +35,7 @@ public final class BeledrosWitherbloom extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of each upkeep, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new Pest11GainLifeToken()), TargetController.EACH_PLAYER, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new Pest11GainLifeToken()), false)); // Pay 10 life: Untap all lands you control. Activate only once each turn. SimpleActivatedAbility ability = new SimpleActivatedAbility(new UntapAllLandsControllerEffect() diff --git a/Mage.Sets/src/mage/cards/b/BellBorcaSpectralSergeant.java b/Mage.Sets/src/mage/cards/b/BellBorcaSpectralSergeant.java index d5f2dbb637f..6ae701e9ce3 100644 --- a/Mage.Sets/src/mage/cards/b/BellBorcaSpectralSergeant.java +++ b/Mage.Sets/src/mage/cards/b/BellBorcaSpectralSergeant.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.MageSingleton; import mage.abilities.StaticAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -52,8 +52,7 @@ public final class BellBorcaSpectralSergeant extends CardImpl { // At the beginning of your upkeep, exile the top card of your library. You may play that card this turn. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn), - TargetController.YOU, false + new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn) ), new BellBorcaSpectralSergeantWatcher()); } diff --git a/Mage.Sets/src/mage/cards/b/BenthicDjinn.java b/Mage.Sets/src/mage/cards/b/BenthicDjinn.java index 5e19a7db6d4..831de3159e5 100644 --- a/Mage.Sets/src/mage/cards/b/BenthicDjinn.java +++ b/Mage.Sets/src/mage/cards/b/BenthicDjinn.java @@ -3,14 +3,13 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class BenthicDjinn extends CardImpl { this.addAbility(new IslandwalkAbility()); // At the beginning of your upkeep, you lose 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2))); } private BenthicDjinn(final BenthicDjinn card) { diff --git a/Mage.Sets/src/mage/cards/b/BindingGrasp.java b/Mage.Sets/src/mage/cards/b/BindingGrasp.java index c943ed28777..fe202dfc6a7 100644 --- a/Mage.Sets/src/mage/cards/b/BindingGrasp.java +++ b/Mage.Sets/src/mage/cards/b/BindingGrasp.java @@ -3,7 +3,7 @@ package mage.cards.b; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.AttachEffect; @@ -34,7 +34,7 @@ public final class BindingGrasp extends CardImpl { Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // At the beginning of your upkeep, sacrifice Binding Grasp unless you pay {1}{U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")))); // You control enchanted creature. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); // Enchanted creature gets +0/+1. diff --git a/Mage.Sets/src/mage/cards/b/BiowasteBlob.java b/Mage.Sets/src/mage/cards/b/BiowasteBlob.java index 33340aebde1..27285952858 100644 --- a/Mage.Sets/src/mage/cards/b/BiowasteBlob.java +++ b/Mage.Sets/src/mage/cards/b/BiowasteBlob.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ControlACommanderCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import java.util.UUID; @@ -39,7 +38,7 @@ public final class BiowasteBlob extends CardImpl { // At the beginning of your upkeep, if you control a commander, create a token that's a copy of Biowaste Blob. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new CreateTokenCopySourceEffect(), TargetController.YOU, false + new CreateTokenCopySourceEffect(), false ), ControlACommanderCondition.instance, "At the beginning of your upkeep, " + "if you control a commander, create a token that's a copy of {this}." )); diff --git a/Mage.Sets/src/mage/cards/b/BitingTether.java b/Mage.Sets/src/mage/cards/b/BitingTether.java index 3c9d6b6846d..d8b1434d909 100644 --- a/Mage.Sets/src/mage/cards/b/BitingTether.java +++ b/Mage.Sets/src/mage/cards/b/BitingTether.java @@ -3,7 +3,7 @@ package mage.cards.b; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.ControlEnchantedEffect; @@ -38,7 +38,7 @@ public final class BitingTether extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); // At the beginning of your upkeep, put a -1/-1 counter on enchanted creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect(CounterType.M1M1.createInstance(), "enchanted creature"), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect(CounterType.M1M1.createInstance(), "enchanted creature"))); } diff --git a/Mage.Sets/src/mage/cards/b/Bitterblossom.java b/Mage.Sets/src/mage/cards/b/Bitterblossom.java index e82003aea80..75dfce24715 100644 --- a/Mage.Sets/src/mage/cards/b/Bitterblossom.java +++ b/Mage.Sets/src/mage/cards/b/Bitterblossom.java @@ -3,14 +3,13 @@ package mage.cards.b; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.permanent.token.FaerieRogueToken; /** @@ -24,7 +23,7 @@ public final class Bitterblossom extends CardImpl { this.subtype.add(SubType.FAERIE); // At the beginning of your upkeep, you lose 1 life and create a 1/1 black Faerie Rogue creature token with flying. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1)); ability.addEffect(new CreateTokenEffect(new FaerieRogueToken(), 1).concatBy("and")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BlackMarketTycoon.java b/Mage.Sets/src/mage/cards/b/BlackMarketTycoon.java index a73c6a835dc..a899e7b8e56 100644 --- a/Mage.Sets/src/mage/cards/b/BlackMarketTycoon.java +++ b/Mage.Sets/src/mage/cards/b/BlackMarketTycoon.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.dynamicvalue.DynamicValue; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.TreasureToken; @@ -42,7 +41,7 @@ public final class BlackMarketTycoon extends CardImpl { // At the beginning of your upkeep, Black Market Tycoon deals 2 damage to you for each Treasure you control. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DamageControllerEffect(xValue), TargetController.YOU, false + new DamageControllerEffect(xValue) ).addHint(hint)); // {T}: Create a Treasure token. diff --git a/Mage.Sets/src/mage/cards/b/BlessingOfLeeches.java b/Mage.Sets/src/mage/cards/b/BlessingOfLeeches.java index 4d5ded92d13..832584dde2c 100644 --- a/Mage.Sets/src/mage/cards/b/BlessingOfLeeches.java +++ b/Mage.Sets/src/mage/cards/b/BlessingOfLeeches.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.AttachEffect; @@ -38,7 +38,7 @@ public final class BlessingOfLeeches extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, you lose 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1))); // {0}: Regenerate enchanted creature. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA),new GenericManaCost(0))); @@ -53,4 +53,3 @@ public final class BlessingOfLeeches extends CardImpl { return new BlessingOfLeeches(this); } } - diff --git a/Mage.Sets/src/mage/cards/b/BloodClock.java b/Mage.Sets/src/mage/cards/b/BloodClock.java index 1389a74f50e..9d410002126 100644 --- a/Mage.Sets/src/mage/cards/b/BloodClock.java +++ b/Mage.Sets/src/mage/cards/b/BloodClock.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -28,7 +28,7 @@ public final class BloodClock extends CardImpl { // At the beginning of each player's upkeep, that player returns a permanent they control to its owner's hand unless they pay 2 life. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new BloodClockEffect(), TargetController.ANY, false, true + TargetController.EACH_PLAYER, new BloodClockEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/b/BloodSpeaker.java b/Mage.Sets/src/mage/cards/b/BloodSpeaker.java index 7fa07f294ad..40667644ccf 100644 --- a/Mage.Sets/src/mage/cards/b/BloodSpeaker.java +++ b/Mage.Sets/src/mage/cards/b/BloodSpeaker.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -12,7 +12,6 @@ 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 mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; @@ -41,13 +40,12 @@ public final class BloodSpeaker extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, you may sacrifice Blood Speaker. If you do, search your library for a Demon card, reveal that card, and put it into your hand. Then shuffle your library. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, + Ability ability = new BeginningOfUpkeepTriggeredAbility( new DoIfCostPaid( new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filterCard), true, true), new SacrificeSourceCost() - ), - TargetController.YOU, - false); + ) + ); this.addAbility(ability); // Whenever a Demon you control enters, return Blood Speaker from your graveyard to your hand. diff --git a/Mage.Sets/src/mage/cards/b/BloodTyrant.java b/Mage.Sets/src/mage/cards/b/BloodTyrant.java index 72ed8387650..edd0d392f70 100644 --- a/Mage.Sets/src/mage/cards/b/BloodTyrant.java +++ b/Mage.Sets/src/mage/cards/b/BloodTyrant.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.FlyingAbility; @@ -39,7 +39,7 @@ public final class BloodTyrant extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, each player loses 1 life. Put a +1/+1 counter on Blood Tyrant for each 1 life lost this way. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new BloodTyrantEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new BloodTyrantEffect())); // Whenever a player loses the game, put five +1/+1 counters on Blood Tyrant. this.addAbility(new PlayerLosesTheGameTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/b/Bloodcurdler.java b/Mage.Sets/src/mage/cards/b/Bloodcurdler.java index fa8b0154015..a2fa27b9d82 100644 --- a/Mage.Sets/src/mage/cards/b/Bloodcurdler.java +++ b/Mage.Sets/src/mage/cards/b/Bloodcurdler.java @@ -3,7 +3,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -35,7 +35,7 @@ public final class Bloodcurdler extends CardImpl { // At the beginning of your upkeep, put the top card of your library into your graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new MillCardsControllerEffect(1), TargetController.YOU, false + new MillCardsControllerEffect(1) )); // Threshold - As long as seven or more cards are in your graveyard, Bloodcurdler gets +1/+1 and has "At the beginning of your end step, exile two cards from your graveyard." diff --git a/Mage.Sets/src/mage/cards/b/BogElemental.java b/Mage.Sets/src/mage/cards/b/BogElemental.java index bb656859ac9..a2e76f4093f 100644 --- a/Mage.Sets/src/mage/cards/b/BogElemental.java +++ b/Mage.Sets/src/mage/cards/b/BogElemental.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.ProtectionAbility; @@ -12,10 +12,7 @@ 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 mage.filter.StaticFilters; -import mage.target.common.TargetControlledPermanent; /** * @@ -33,10 +30,9 @@ public final class BogElemental extends CardImpl { this.addAbility(ProtectionAbility.from(ObjectColor.WHITE)); // At the beginning of your upkeep, sacrifice Bog Elemental unless you sacrifice a land. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_LAND)), - TargetController.YOU, - false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_LAND)) + )); } private BogElemental(final BogElemental card) { diff --git a/Mage.Sets/src/mage/cards/b/BombSquad.java b/Mage.Sets/src/mage/cards/b/BombSquad.java index 69f0d6664e6..95aa631241a 100644 --- a/Mage.Sets/src/mage/cards/b/BombSquad.java +++ b/Mage.Sets/src/mage/cards/b/BombSquad.java @@ -3,7 +3,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.Effect; @@ -49,7 +49,7 @@ public final class BombSquad extends CardImpl { ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // At the beginning of your upkeep, put a fuse counter on each creature with a fuse counter on it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new BombSquadBeginningEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new BombSquadBeginningEffect())); // Whenever a creature has four or more fuse counters on it, remove all fuse counters from it and destroy it. That creature deals 4 damage to its controller. this.addAbility(new BombSquadTriggeredAbility()); } diff --git a/Mage.Sets/src/mage/cards/b/BonehoardDracosaur.java b/Mage.Sets/src/mage/cards/b/BonehoardDracosaur.java index 5fc7268a220..3a3bda63087 100644 --- a/Mage.Sets/src/mage/cards/b/BonehoardDracosaur.java +++ b/Mage.Sets/src/mage/cards/b/BonehoardDracosaur.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.asthought.PlayFromNotOwnHandZoneTargetEffect; @@ -43,7 +43,7 @@ public final class BonehoardDracosaur extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, exile the top two cards of your library. You may play them this turn. If you exiled a land card this way, create a 3/1 red Dinosaur creature token. If you exiled a nonland card this way, create a Treasure token. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new BoneahoardDracosaurEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new BoneahoardDracosaurEffect())); } private BonehoardDracosaur(final BonehoardDracosaur card) { @@ -115,4 +115,4 @@ class BoneahoardDracosaurEffect extends OneShotEffect { return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/b/BottledCloister.java b/Mage.Sets/src/mage/cards/b/BottledCloister.java index 91abfd1f7c3..553b63d1727 100644 --- a/Mage.Sets/src/mage/cards/b/BottledCloister.java +++ b/Mage.Sets/src/mage/cards/b/BottledCloister.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -28,12 +28,12 @@ public final class BottledCloister extends CardImpl { // At the beginning of each opponent's upkeep, exile all cards from your hand face down. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new BottledCloisterExileEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new BottledCloisterExileEffect(), false )); // At the beginning of your upkeep, return all cards you own exiled with Bottled Cloister to your hand, then draw a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new BottledCloisterReturnEffect(), TargetController.YOU, false + new BottledCloisterReturnEffect() )); } diff --git a/Mage.Sets/src/mage/cards/b/BottomlessPit.java b/Mage.Sets/src/mage/cards/b/BottomlessPit.java index 58470d33ebe..ede64fa4a9d 100644 --- a/Mage.Sets/src/mage/cards/b/BottomlessPit.java +++ b/Mage.Sets/src/mage/cards/b/BottomlessPit.java @@ -2,7 +2,7 @@ package mage.cards.b; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -20,7 +20,7 @@ public final class BottomlessPit extends CardImpl { // At the beginning of each player's upkeep, that player discards a card at random. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1, true), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new DiscardTargetEffect(1, true), false)); } private BottomlessPit(final BottomlessPit card) { diff --git a/Mage.Sets/src/mage/cards/b/BottomlessVault.java b/Mage.Sets/src/mage/cards/b/BottomlessVault.java index a545651b2b8..42b8708e54e 100644 --- a/Mage.Sets/src/mage/cards/b/BottomlessVault.java +++ b/Mage.Sets/src/mage/cards/b/BottomlessVault.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SkipUntapOptionalAbility; import mage.abilities.condition.common.SourceTappedCondition; @@ -20,8 +20,6 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -40,7 +38,7 @@ public final class BottomlessVault extends CardImpl { // At the beginning of your upkeep, if Bottomless Vault is tapped, put a storage counter on it. OneShotEffect addStorageCounter = new AddCountersSourceEffect(CounterType.STORAGE.createInstance()); Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.TAPPED, "if {this} is tapped, put a storage counter on it"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // {tap}, Remove any number of storage counters from Bottomless Vault: Add {B} for each storage counter removed this way. Ability ability = new DynamicManaAbility( Mana.BlackMana(1), diff --git a/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java b/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java index bbed126fb6f..176945f33ef 100644 --- a/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java +++ b/Mage.Sets/src/mage/cards/b/BraidsCabalMinion.java @@ -1,8 +1,7 @@ - package mage.cards.b; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -35,7 +34,8 @@ public final class BraidsCabalMinion extends CardImpl { this.toughness = new MageInt(2); // At the beginning of each player's upkeep, that player sacrifices an artifact, creature, or land. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeEffect(filter, 1, "that player"), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, + new SacrificeEffect(filter, 1, "that player"), false)); } diff --git a/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java b/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java index bbbd7d91282..90123773be8 100644 --- a/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java +++ b/Mage.Sets/src/mage/cards/b/BraidsConjurerAdept.java @@ -3,7 +3,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -37,7 +37,7 @@ public final class BraidsConjurerAdept extends CardImpl { this.toughness = new MageInt(2); // At the beginning of each player's upkeep, that player may put an artifact, creature, or land card from their hand onto the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PutCardFromHandOntoBattlefieldEffect(filter, true), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new PutCardFromHandOntoBattlefieldEffect(filter, true), false)); } private BraidsConjurerAdept(final BraidsConjurerAdept card) { diff --git a/Mage.Sets/src/mage/cards/b/BrassGnat.java b/Mage.Sets/src/mage/cards/b/BrassGnat.java index c1b549a48f9..e953259c031 100644 --- a/Mage.Sets/src/mage/cards/b/BrassGnat.java +++ b/Mage.Sets/src/mage/cards/b/BrassGnat.java @@ -3,7 +3,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -35,10 +34,8 @@ public final class BrassGnat extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); // At the beginning of your upkeep, you may pay {1}. If you do, untap Brass Gnat. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1)), - TargetController.YOU, - false)); + new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1)) + )); } private BrassGnat(final BrassGnat card) { diff --git a/Mage.Sets/src/mage/cards/b/BrassMan.java b/Mage.Sets/src/mage/cards/b/BrassMan.java index 9ba036b476e..5d625029a0d 100644 --- a/Mage.Sets/src/mage/cards/b/BrassMan.java +++ b/Mage.Sets/src/mage/cards/b/BrassMan.java @@ -3,7 +3,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -33,10 +32,8 @@ public final class BrassMan extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); // At the beginning of your upkeep, you may pay {1}. If you do, untap Brass Man. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1)), - TargetController.YOU, - false)); + new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(1)) + )); } private BrassMan(final BrassMan card) { diff --git a/Mage.Sets/src/mage/cards/b/BreedingPit.java b/Mage.Sets/src/mage/cards/b/BreedingPit.java index 9fbb5e661df..61e7304ff7f 100644 --- a/Mage.Sets/src/mage/cards/b/BreedingPit.java +++ b/Mage.Sets/src/mage/cards/b/BreedingPit.java @@ -2,7 +2,7 @@ package mage.cards.b; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.CreateTokenEffect; @@ -10,8 +10,6 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.permanent.token.BreedingPitThrullToken; /** @@ -24,7 +22,7 @@ public final class BreedingPit extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}"); // At the beginning of your upkeep, sacrifice Breeding Pit unless you pay {B}{B}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}")))); // At the beginning of your end step, create a 0/1 black Thrull creature token. this.addAbility(new BeginningOfYourEndStepTriggeredAbility(new CreateTokenEffect(new BreedingPitThrullToken()), false)); diff --git a/Mage.Sets/src/mage/cards/b/BringerOfTheBlackDawn.java b/Mage.Sets/src/mage/cards/b/BringerOfTheBlackDawn.java index 3f6da98cef6..63ec24192bf 100644 --- a/Mage.Sets/src/mage/cards/b/BringerOfTheBlackDawn.java +++ b/Mage.Sets/src/mage/cards/b/BringerOfTheBlackDawn.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -15,8 +15,6 @@ 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 mage.target.common.TargetCardInLibrary; /** @@ -37,7 +35,7 @@ public final class BringerOfTheBlackDawn extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, you may pay 2 life. If you do, search your library for a card, then shuffle your library and put that card on top of it. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DoIfCostPaid(new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(), false), new PayLifeCost(2)), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new SearchLibraryPutOnLibraryEffect(new TargetCardInLibrary(), false), new PayLifeCost(2))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BringerOfTheBlueDawn.java b/Mage.Sets/src/mage/cards/b/BringerOfTheBlueDawn.java index 5a92ae1edf8..de5d54ac302 100644 --- a/Mage.Sets/src/mage/cards/b/BringerOfTheBlueDawn.java +++ b/Mage.Sets/src/mage/cards/b/BringerOfTheBlueDawn.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -13,8 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -34,7 +32,7 @@ public final class BringerOfTheBlueDawn extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, you may draw two cards. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(2), true); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BringerOfTheGreenDawn.java b/Mage.Sets/src/mage/cards/b/BringerOfTheGreenDawn.java index e0360358225..bbfc12f1e21 100644 --- a/Mage.Sets/src/mage/cards/b/BringerOfTheGreenDawn.java +++ b/Mage.Sets/src/mage/cards/b/BringerOfTheGreenDawn.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.CreateTokenEffect; @@ -13,8 +13,6 @@ 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 mage.game.permanent.token.BeastToken; /** @@ -35,7 +33,7 @@ public final class BringerOfTheGreenDawn extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep,s you may create a 3/3 green Beast creature token. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken()), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new BeastToken()), true); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java b/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java index ce066575684..3695ff04ec7 100644 --- a/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java +++ b/Mage.Sets/src/mage/cards/b/BringerOfTheRedDawn.java @@ -4,7 +4,7 @@ package mage.cards.b; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; @@ -38,7 +38,7 @@ public final class BringerOfTheRedDawn extends CardImpl { // At the beginning of your upkeep, you may untap target creature and gain control of it until end of turn. That creature gains haste until end of turn. Effect effect = new UntapTargetEffect(); effect.setText("untap target creature"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, true); effect = new GainControlTargetEffect(Duration.EndOfTurn); effect.setText("and gain control of it until end of turn"); diff --git a/Mage.Sets/src/mage/cards/b/BringerOfTheWhiteDawn.java b/Mage.Sets/src/mage/cards/b/BringerOfTheWhiteDawn.java index c3457e1241b..8b5507a7e46 100644 --- a/Mage.Sets/src/mage/cards/b/BringerOfTheWhiteDawn.java +++ b/Mage.Sets/src/mage/cards/b/BringerOfTheWhiteDawn.java @@ -2,7 +2,7 @@ package mage.cards.b; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.AlternativeCostSourceAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; @@ -11,8 +11,6 @@ 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 mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; @@ -35,7 +33,7 @@ public final class BringerOfTheWhiteDawn extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, you may return target artifact card from your graveyard to the battlefield. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_ARTIFACT_FROM_YOUR_GRAVEYARD)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java b/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java index 520ec55815d..a0181157d5a 100644 --- a/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java +++ b/Mage.Sets/src/mage/cards/b/BrinkOfMadness.java @@ -1,7 +1,7 @@ package mage.cards.b; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -22,7 +22,7 @@ public final class BrinkOfMadness extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}"); // At the beginning of your upkeep, if you have no cards in hand, sacrifice Brink of Madness and target opponent discards their hand. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()); ability.addEffect(new DiscardHandTargetEffect()); ability.addTarget(new TargetOpponent()); CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.EQUAL_TO, 0); diff --git a/Mage.Sets/src/mage/cards/b/Bulwark.java b/Mage.Sets/src/mage/cards/b/Bulwark.java index cc2c9e5b825..1d72f95d868 100644 --- a/Mage.Sets/src/mage/cards/b/Bulwark.java +++ b/Mage.Sets/src/mage/cards/b/Bulwark.java @@ -1,13 +1,12 @@ package mage.cards.b; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetOpponent; @@ -25,7 +24,7 @@ public final class Bulwark extends CardImpl { // At the beginning of your upkeep, Bulwark deals X damage to target opponent, where X is // the number of cards in your hand minus the number of cards in that player's hand. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new BulwarkDamageEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new BulwarkDamageEffect()); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CabarettiAscendancy.java b/Mage.Sets/src/mage/cards/c/CabarettiAscendancy.java index eeeb57fda73..cb3cf2dde63 100644 --- a/Mage.Sets/src/mage/cards/c/CabarettiAscendancy.java +++ b/Mage.Sets/src/mage/cards/c/CabarettiAscendancy.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -27,7 +26,7 @@ public final class CabarettiAscendancy extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{R}{G}{W}"); // At the beginning of your upkeep, look at the top card of your library. If it's a creature or planeswalker card, you may reveal it and put it in your hand. If you don't, you may put it on the bottom of your library. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CabarettiAscendencyEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CabarettiAscendencyEffect())); } private CabarettiAscendancy(final CabarettiAscendancy card) { diff --git a/Mage.Sets/src/mage/cards/c/CacheRaiders.java b/Mage.Sets/src/mage/cards/c/CacheRaiders.java index b7466266d85..8166e50822c 100644 --- a/Mage.Sets/src/mage/cards/c/CacheRaiders.java +++ b/Mage.Sets/src/mage/cards/c/CacheRaiders.java @@ -3,13 +3,12 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; /** @@ -27,7 +26,7 @@ public final class CacheRaiders extends CardImpl { this.toughness = new MageInt(4); //At the beginning of your upkeep, return a permanent you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledPermanent()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledPermanent()))); } private CacheRaiders(final CacheRaiders card) { diff --git a/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java b/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java index 7798edcb5a2..fb342a56be5 100644 --- a/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java +++ b/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java @@ -4,7 +4,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -46,7 +46,7 @@ public final class CallOfTheFullMoon extends CardImpl { this.addAbility(ability); // At the beginning of each upkeep, if a player cast two or more spells last turn, sacrifice Call of the Full Moon. - TriggeredAbility ability2 = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect(), TargetController.ANY, false); + TriggeredAbility ability2 = new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new SacrificeSourceEffect(), false); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability2, TwoOrMoreSpellsWereCastLastTurnCondition.instance, "At the beginning of each upkeep, if a player cast two or more spells last turn, sacrifice {this}.")); } diff --git a/Mage.Sets/src/mage/cards/c/CallOfTheRing.java b/Mage.Sets/src/mage/cards/c/CallOfTheRing.java index 17719c40976..ecbb9498675 100644 --- a/Mage.Sets/src/mage/cards/c/CallOfTheRing.java +++ b/Mage.Sets/src/mage/cards/c/CallOfTheRing.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -9,7 +9,6 @@ import mage.abilities.effects.keyword.TheRingTemptsYouEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -26,7 +25,7 @@ public final class CallOfTheRing extends CardImpl { // At the beginning of your upkeep, the Ring tempts you. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new TheRingTemptsYouEffect(), TargetController.YOU, false + new TheRingTemptsYouEffect() )); // Whenever you choose a creature as your Ring-bearer, you may pay 2 life. If you do, draw a card. diff --git a/Mage.Sets/src/mage/cards/c/CallToTheGrave.java b/Mage.Sets/src/mage/cards/c/CallToTheGrave.java index 31b045c048d..4ccc7548b6b 100644 --- a/Mage.Sets/src/mage/cards/c/CallToTheGrave.java +++ b/Mage.Sets/src/mage/cards/c/CallToTheGrave.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.OnEventTriggeredAbility; import mage.abilities.condition.common.CreatureCountCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -37,8 +37,9 @@ public final class CallToTheGrave extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{B}"); // At the beginning of each player's upkeep, that player sacrifices a non-Zombie creature. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(filter, 1, "that player"), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new SacrificeEffect(filter, 1, "that player"), false); this.addAbility(ability); + // At the beginning of the end step, if no creatures are on the battlefield, sacrifice Call to the Grave. TriggeredAbility triggered = new OnEventTriggeredAbility(GameEvent.EventType.END_TURN_STEP_PRE, "beginning of the end step", true, new SacrificeSourceEffect()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggered, new CreatureCountCondition(0, TargetController.ANY), ruleText)); diff --git a/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java b/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java index 29ef8ca8fa5..34efa9a967c 100644 --- a/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java +++ b/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -43,7 +43,7 @@ public final class CapriciousEfreet extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, choose target nonland permanent you control and up to two target nonland permanents you don't control. Destroy one of them at random. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new CapriciousEfreetEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new CapriciousEfreetEffect()); ability.addTarget(new TargetPermanent(filterControlled)); ability.addTarget(new TargetPermanent(0, 2, filterNotControlled, false)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CaptiveAudience.java b/Mage.Sets/src/mage/cards/c/CaptiveAudience.java index 6d2c1f37fee..4bc4297b6b8 100644 --- a/Mage.Sets/src/mage/cards/c/CaptiveAudience.java +++ b/Mage.Sets/src/mage/cards/c/CaptiveAudience.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.common.CreateTokenAllEffect; import mage.abilities.effects.common.EntersBattlefieldUnderControlOfOpponentOfChoiceEffect; @@ -31,7 +31,7 @@ public final class CaptiveAudience extends CardImpl { // At the beginning of your upkeep, choose one that hasn't been chosen — // • Your life total becomes 4. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new SetPlayerLifeSourceEffect(4), TargetController.YOU, false + new SetPlayerLifeSourceEffect(4) ); ability.setModeTag("life total becomes 4"); ability.getModes().setLimitUsageByOnce(false); diff --git a/Mage.Sets/src/mage/cards/c/Carnophage.java b/Mage.Sets/src/mage/cards/c/Carnophage.java index 93a921d3ff0..c958ba24acc 100644 --- a/Mage.Sets/src/mage/cards/c/Carnophage.java +++ b/Mage.Sets/src/mage/cards/c/Carnophage.java @@ -3,14 +3,13 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.TapSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -26,7 +25,7 @@ public final class Carnophage extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, tap Carnophage unless you pay 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(1)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(1)))); } private Carnophage(final Carnophage card) { diff --git a/Mage.Sets/src/mage/cards/c/CaseOfTheCrimsonPulse.java b/Mage.Sets/src/mage/cards/c/CaseOfTheCrimsonPulse.java index 56c08e5bd27..b41bf1a0b57 100644 --- a/Mage.Sets/src/mage/cards/c/CaseOfTheCrimsonPulse.java +++ b/Mage.Sets/src/mage/cards/c/CaseOfTheCrimsonPulse.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.CaseAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.HellbentCondition; @@ -17,7 +17,6 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -43,7 +42,7 @@ public final class CaseOfTheCrimsonPulse extends CardImpl { // To solve -- You have no cards in hand. // Solved -- At the beginning of your upkeep, discard your hand, then draw two cards. Ability solvedAbility = new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility( - new DiscardHandControllerEffect(), TargetController.YOU, false), + new DiscardHandControllerEffect()), SolvedSourceCondition.SOLVED, null); solvedAbility.addEffect(new DrawCardSourceControllerEffect(2).concatBy(", then")); diff --git a/Mage.Sets/src/mage/cards/c/CaseOfTheShiftingVisage.java b/Mage.Sets/src/mage/cards/c/CaseOfTheShiftingVisage.java index 4fed440cd80..1ea4d5622ae 100644 --- a/Mage.Sets/src/mage/cards/c/CaseOfTheShiftingVisage.java +++ b/Mage.Sets/src/mage/cards/c/CaseOfTheShiftingVisage.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.CaseAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.Condition; @@ -38,7 +38,7 @@ public final class CaseOfTheShiftingVisage extends CardImpl { this.subtype.add(SubType.CASE); // At the beginning of your upkeep, surveil 1. - Ability initialAbility = new BeginningOfUpkeepTriggeredAbility(new SurveilEffect(1, false), TargetController.YOU, false); + Ability initialAbility = new BeginningOfUpkeepTriggeredAbility(new SurveilEffect(1, false)); // To solve — There are fifteen or more cards in your graveyard. Condition toSolveCondition = new CardsInControllerGraveyardCondition(15); // Solved — Whenever you cast a nonlegendary creature spell, copy that spell. diff --git a/Mage.Sets/src/mage/cards/c/CelestialConvergence.java b/Mage.Sets/src/mage/cards/c/CelestialConvergence.java index ed0959b0b18..4fb7d8e2221 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialConvergence.java +++ b/Mage.Sets/src/mage/cards/c/CelestialConvergence.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -11,8 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -34,7 +32,7 @@ public final class CelestialConvergence extends CardImpl { // At the beginning of your upkeep, remove an omen counter from Celestial Convergence. If there are no omen counters on Celestial Convergence, the player with the highest life total wins the game. If two or more players are tied for highest life total, the game is a draw. Ability ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new RemoveCounterSourceEffect(CounterType.OMEN.createInstance(1)), TargetController.YOU, false); + new RemoveCounterSourceEffect(CounterType.OMEN.createInstance(1))); ability.addEffect(new CelestialConvergenceEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CelestialForce.java b/Mage.Sets/src/mage/cards/c/CelestialForce.java index c43953f7060..a3e9ec69c86 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialForce.java +++ b/Mage.Sets/src/mage/cards/c/CelestialForce.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -25,7 +25,7 @@ public final class CelestialForce extends CardImpl { this.toughness = new MageInt(7); // At the beginning of each upkeep, you gain 3 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(3), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new GainLifeEffect(3), false)); } private CelestialForce(final CelestialForce card) { diff --git a/Mage.Sets/src/mage/cards/c/CemeteryTampering.java b/Mage.Sets/src/mage/cards/c/CemeteryTampering.java index a34d2d3d826..1d79cd569ac 100644 --- a/Mage.Sets/src/mage/cards/c/CemeteryTampering.java +++ b/Mage.Sets/src/mage/cards/c/CemeteryTampering.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.HideawayPlayEffect; import mage.abilities.keyword.HideawayAbility; @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -28,7 +27,7 @@ public final class CemeteryTampering extends CardImpl { // At the beginning of your upkeep, you may mill three cards. Then if there are twenty or more cards in your graveyard, you may play the exiled card without paying its mana cost. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CemeteryTamperingEffect(), TargetController.YOU, false + new CemeteryTamperingEffect() )); } diff --git a/Mage.Sets/src/mage/cards/c/CephalidVandal.java b/Mage.Sets/src/mage/cards/c/CephalidVandal.java index dffa2719ab8..9adbb57cb5f 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidVandal.java +++ b/Mage.Sets/src/mage/cards/c/CephalidVandal.java @@ -4,7 +4,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -34,7 +33,7 @@ public final class CephalidVandal extends CardImpl { // At the beginning of your upkeep, put a shred counter on Cephalid Vandal. Then put the top card of your library into your graveyard for each shred counter on Cephalid Vandal. Effect effect = new CephalidVandalEffect(); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SHRED.createInstance(), false), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SHRED.createInstance(), false)); ability.addEffect(effect); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java index b9687d8e7b9..547ec691c43 100644 --- a/Mage.Sets/src/mage/cards/c/ChanceEncounter.java +++ b/Mage.Sets/src/mage/cards/c/ChanceEncounter.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.WinGameSourceControllerEffect; @@ -11,7 +11,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -32,7 +31,7 @@ public final class ChanceEncounter extends CardImpl { this.addAbility(new ChanceEncounterTriggeredAbility()); // At the beginning of your upkeep, if Chance Encounter has ten or more luck counters on it, you win the game. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WinGameSourceControllerEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceHasCounterCondition(CounterType.LUCK, 10, Integer.MAX_VALUE), "At the beginning of your upkeep, if {this} has ten or more luck counters on it, you win the game.")); } diff --git a/Mage.Sets/src/mage/cards/c/ChaosLord.java b/Mage.Sets/src/mage/cards/c/ChaosLord.java index 69b94337662..bdffba28598 100644 --- a/Mage.Sets/src/mage/cards/c/ChaosLord.java +++ b/Mage.Sets/src/mage/cards/c/ChaosLord.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.ControlsPermanentsComparedToOpponentsCondition; @@ -61,10 +61,7 @@ public final class ChaosLord extends CardImpl { class ChaosLordTriggeredAbility extends BeginningOfUpkeepTriggeredAbility { ChaosLordTriggeredAbility() { - super(Zone.BATTLEFIELD, - new TargetPlayerGainControlSourceEffect(), - TargetController.YOU, - false); + super(new TargetPlayerGainControlSourceEffect()); } private ChaosLordTriggeredAbility(final ChaosLordTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/cards/c/ChaosMoon.java b/Mage.Sets/src/mage/cards/c/ChaosMoon.java index 741fe3c927e..627486a566a 100644 --- a/Mage.Sets/src/mage/cards/c/ChaosMoon.java +++ b/Mage.Sets/src/mage/cards/c/ChaosMoon.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.Mana; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; @@ -35,7 +35,7 @@ public final class ChaosMoon extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); // At the beginning of each upkeep, count the number of permanents. If the number is odd, until end of turn, red creatures get +1/+1 and whenever a player taps a Mountain for mana, that player adds {R} (in addition to the mana the land produces). If the number is even, until end of turn, red creatures get -1/-1 and if a player taps a Mountain for mana, that Mountain produces colorless mana instead of any other type. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ChaosMoonEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new ChaosMoonEffect(), false)); } private ChaosMoon(final ChaosMoon card) { @@ -60,7 +60,7 @@ class ChaosMoonEffect extends OneShotEffect { super(Outcome.Neutral); this.staticText = "count the number of permanents. If the number is odd, " + "until end of turn, red creatures get +1/+1 and whenever a player taps a Mountain for mana, " + - "that player adds {R} (in addition to the mana the land produces). If the number is even, " + + "that player adds an additional {R}. If the number is even, " + "until end of turn, red creatures get -1/-1 and if a player taps a Mountain for mana, " + "that Mountain produces colorless mana instead of any other type"; } diff --git a/Mage.Sets/src/mage/cards/c/ChaoticGoo.java b/Mage.Sets/src/mage/cards/c/ChaoticGoo.java index cb371e71375..c8b8f77b51b 100644 --- a/Mage.Sets/src/mage/cards/c/ChaoticGoo.java +++ b/Mage.Sets/src/mage/cards/c/ChaoticGoo.java @@ -4,7 +4,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -14,8 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -38,7 +36,7 @@ public final class ChaoticGoo extends CardImpl { "{this} enters with three +1/+1 counters on it")); // At the beginning of your upkeep, you may flip a coin. If you win the flip, put a +1/+1 counter on Chaotic Goo. If you lose the flip, remove a +1/+1 counter from Chaotic Goo. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ChaoticGooEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ChaoticGooEffect(), true)); } private ChaoticGoo(final ChaoticGoo card) { diff --git a/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java b/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java index 82b1407e919..fa1981c5bdd 100644 --- a/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java +++ b/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardAtRandomEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect; @@ -26,8 +26,7 @@ public final class CharmbreakerDevils extends CardImpl { // At the beginning of your upkeep, return an instant or sorcery card at random from your graveyard to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardAtRandomEffect(StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY, Zone.HAND), - TargetController.YOU, false + new ReturnFromGraveyardAtRandomEffect(StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY, Zone.HAND) )); // Whenever you cast an instant or sorcery spell, Charmbreaker Devils gets +4/+0 until end of turn. diff --git a/Mage.Sets/src/mage/cards/c/CharnelTroll.java b/Mage.Sets/src/mage/cards/c/CharnelTroll.java index ae8cb70363f..a1bce8d3da5 100644 --- a/Mage.Sets/src/mage/cards/c/CharnelTroll.java +++ b/Mage.Sets/src/mage/cards/c/CharnelTroll.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.costs.common.ExileFromGraveCost; @@ -16,7 +16,6 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -49,8 +48,7 @@ public final class CharnelTroll extends CardImpl { )), false ).setText("exile a creature card from your graveyard. " + "If you do, put a +1/+1 counter on {this}." - + " Otherwise, sacrifice it."), - TargetController.YOU, false + + " Otherwise, sacrifice it.") )); // {B}{G}, Discard a creature card: Put a +1/+1 counter on Morgue Troll. diff --git a/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java b/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java index 0254d639832..106c45379c1 100644 --- a/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java +++ b/Mage.Sets/src/mage/cards/c/ChevillBaneOfMonsters.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -61,8 +61,7 @@ public final class ChevillBaneOfMonsters extends CardImpl { // At the beginning of your upkeep, if your opponents control no permanents with bounty counters on them, put a bounty counter on target creature or planeswalker an opponent controls. Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), - TargetController.YOU, false + new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), false ), condition, "At the beginning of your upkeep, " + "if your opponents control no permanents with bounty counters on them, " + "put a bounty counter on target creature or planeswalker an opponent controls." diff --git a/Mage.Sets/src/mage/cards/c/ChickenEgg.java b/Mage.Sets/src/mage/cards/c/ChickenEgg.java index d1699a57267..899483cec15 100644 --- a/Mage.Sets/src/mage/cards/c/ChickenEgg.java +++ b/Mage.Sets/src/mage/cards/c/ChickenEgg.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.token.GiantBirdToken; import mage.players.Player; @@ -32,7 +31,7 @@ public final class ChickenEgg extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, roll a six-sided die. If you roll a 6, sacrifice Chicken Egg and create a 4/4 red Giant Bird creature token. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ChickenEggEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ChickenEggEffect())); } private ChickenEgg(final ChickenEgg card) { diff --git a/Mage.Sets/src/mage/cards/c/ChildOfGaea.java b/Mage.Sets/src/mage/cards/c/ChildOfGaea.java index d8d9affbfaa..d7c6cf87c13 100644 --- a/Mage.Sets/src/mage/cards/c/ChildOfGaea.java +++ b/Mage.Sets/src/mage/cards/c/ChildOfGaea.java @@ -4,7 +4,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.RegenerateSourceEffect; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -31,7 +30,7 @@ public final class ChildOfGaea extends CardImpl { this.toughness = new MageInt(7); this.addAbility(TrampleAbility.getInstance()); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")))); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}"))); } @@ -43,4 +42,4 @@ public final class ChildOfGaea extends CardImpl { public ChildOfGaea copy() { return new ChildOfGaea(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java b/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java index 76f7917d39d..749871b65ef 100644 --- a/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java +++ b/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java @@ -2,7 +2,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.RemoveCounterCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -44,7 +44,7 @@ public final class ChiseiHeartOfOceans extends CardImpl { // At the beginning of your upkeep, sacrifice Chisei, Heart of Oceans unless you remove a counter from a permanent you control. TargetPermanent target = new TargetPermanent(1, 1, filter, true); target.withTargetName("a permanent you control"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new RemoveCounterCost(target)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new RemoveCounterCost(target)))); } diff --git a/Mage.Sets/src/mage/cards/c/Chitterspitter.java b/Mage.Sets/src/mage/cards/c/Chitterspitter.java index fae95fefc53..78890ade11b 100644 --- a/Mage.Sets/src/mage/cards/c/Chitterspitter.java +++ b/Mage.Sets/src/mage/cards/c/Chitterspitter.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; @@ -19,13 +19,11 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.permanent.token.SquirrelToken; -import mage.target.common.TargetControlledPermanent; /** * @@ -48,9 +46,7 @@ public final class Chitterspitter extends CardImpl { new DoIfCostPaid( new AddCountersSourceEffect(CounterType.ACORN.createInstance()), new SacrificeTargetCost(filter) - ), - TargetController.YOU, - false + ) )); // Squirrels you control get +1/+1 for each acorn counter on Chitterspitter. diff --git a/Mage.Sets/src/mage/cards/c/Chlorophant.java b/Mage.Sets/src/mage/cards/c/Chlorophant.java index d4701a62c92..bc2c0f1bd95 100644 --- a/Mage.Sets/src/mage/cards/c/Chlorophant.java +++ b/Mage.Sets/src/mage/cards/c/Chlorophant.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -28,15 +28,14 @@ public final class Chlorophant extends CardImpl { // At the beginning of your upkeep, you may put a +1/+1 counter on Chlorophant. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true + new AddCountersSourceEffect(CounterType.P1P1.createInstance()), true )); // Threshold - As long as seven or more cards are in your graveyard, Chlorophant has "At the beginning of your upkeep, you may put another +1/+1 counter on Chlorophant." this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( new GainAbilitySourceEffect(new BeginningOfUpkeepTriggeredAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance()) - .setText("put another +1/+1 counter on {this}"), - TargetController.YOU, true + .setText("put another +1/+1 counter on {this}"), true ), Duration.WhileOnBattlefield), ThresholdCondition.instance, "as long as seven or more cards " + "are in your graveyard, {this} has \"At the beginning of your upkeep, you may put another +1/+1 counter on {this}.\"" )).setAbilityWord(AbilityWord.THRESHOLD)); diff --git a/Mage.Sets/src/mage/cards/c/Chromium.java b/Mage.Sets/src/mage/cards/c/Chromium.java index 746dcbc964a..972abedd554 100644 --- a/Mage.Sets/src/mage/cards/c/Chromium.java +++ b/Mage.Sets/src/mage/cards/c/Chromium.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; /** * @@ -35,7 +34,7 @@ public final class Chromium extends CardImpl { this.addAbility(new RampageAbility(2)); // At the beginning of your upkeep, sacrifice Chromium unless you pay {W}{U}{B}. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect( - new ManaCostsImpl<>("{W}{U}{B}")), TargetController.YOU, false)); + new ManaCostsImpl<>("{W}{U}{B}")))); } private Chromium(final Chromium card) { diff --git a/Mage.Sets/src/mage/cards/c/ChurningReservoir.java b/Mage.Sets/src/mage/cards/c/ChurningReservoir.java index 9c86d746594..1a0b02282db 100644 --- a/Mage.Sets/src/mage/cards/c/ChurningReservoir.java +++ b/Mage.Sets/src/mage/cards/c/ChurningReservoir.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; @@ -11,7 +11,6 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.WatcherScope; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +52,7 @@ public final class ChurningReservoir extends CardImpl { // At the beginning of your upkeep, put an oil counter on another target nontoken artifact or creature you control. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new AddCountersTargetEffect(CounterType.OIL.createInstance()), - TargetController.YOU, false + new AddCountersTargetEffect(CounterType.OIL.createInstance()) ); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CinderGiant.java b/Mage.Sets/src/mage/cards/c/CinderGiant.java index 026e06304bc..aa3162ae70b 100644 --- a/Mage.Sets/src/mage/cards/c/CinderGiant.java +++ b/Mage.Sets/src/mage/cards/c/CinderGiant.java @@ -3,13 +3,12 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -31,7 +30,7 @@ public final class CinderGiant extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, Cinder Giant deals 2 damage to each other creature you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageAllEffect(2, filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageAllEffect(2, filter))); } private CinderGiant(final CinderGiant card) { diff --git a/Mage.Sets/src/mage/cards/c/CirclingVultures.java b/Mage.Sets/src/mage/cards/c/CirclingVultures.java index e523b16ec2d..64eb43011f6 100644 --- a/Mage.Sets/src/mage/cards/c/CirclingVultures.java +++ b/Mage.Sets/src/mage/cards/c/CirclingVultures.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.SpecialAction; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.ExileTopCreatureCardOfGraveyardCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -36,7 +36,7 @@ public final class CirclingVultures extends CardImpl { this.addAbility(new CirclingVulturesSpecialAction()); // At the beginning of your upkeep, sacrifice Circling Vultures unless you exile the top creature card of your graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ExileTopCreatureCardOfGraveyardCost(1)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ExileTopCreatureCardOfGraveyardCost(1)))); } private CirclingVultures(final CirclingVultures card) { diff --git a/Mage.Sets/src/mage/cards/c/ClawingTorment.java b/Mage.Sets/src/mage/cards/c/ClawingTorment.java index 59fc56c0fda..5ac9a26aea2 100644 --- a/Mage.Sets/src/mage/cards/c/ClawingTorment.java +++ b/Mage.Sets/src/mage/cards/c/ClawingTorment.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.AttachedToMatchesFilterCondition; @@ -52,7 +52,7 @@ public final class ClawingTorment extends CardImpl { // Enchanted permanent has "At the beginning of your upkeep, you lose 1 life." this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect( new BeginningOfUpkeepTriggeredAbility( - new LoseLifeSourceControllerEffect(1), TargetController.YOU, false + new LoseLifeSourceControllerEffect(1), false ), AttachmentType.AURA, Duration.WhileOnBattlefield, "enchanted permanent has \"At the beginning of your upkeep, you lose 1 life.\"" ))); diff --git a/Mage.Sets/src/mage/cards/c/ClearwaterGoblet.java b/Mage.Sets/src/mage/cards/c/ClearwaterGoblet.java index 12469275b98..9cc12331561 100644 --- a/Mage.Sets/src/mage/cards/c/ClearwaterGoblet.java +++ b/Mage.Sets/src/mage/cards/c/ClearwaterGoblet.java @@ -2,15 +2,13 @@ package mage.cards.c; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -25,7 +23,7 @@ public final class ClearwaterGoblet extends CardImpl { // Sunburst this.addAbility(new SunburstAbility(this)); // At the beginning of your upkeep, you may gain life equal to the number of charge counters on Clearwater Goblet. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(new CountersSourceCount(CounterType.CHARGE)), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(new CountersSourceCount(CounterType.CHARGE)), true)); } private ClearwaterGoblet(final ClearwaterGoblet card) { diff --git a/Mage.Sets/src/mage/cards/c/CloisteredYouth.java b/Mage.Sets/src/mage/cards/c/CloisteredYouth.java index d98ba02068c..def252da59e 100644 --- a/Mage.Sets/src/mage/cards/c/CloisteredYouth.java +++ b/Mage.Sets/src/mage/cards/c/CloisteredYouth.java @@ -4,14 +4,13 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @author Loki @@ -29,7 +28,7 @@ public final class CloisteredYouth extends CardImpl { // At the beginning of your upkeep, you may transform Cloistered Youth. this.addAbility(new TransformAbility()); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), true)); } private CloisteredYouth(final CloisteredYouth card) { diff --git a/Mage.Sets/src/mage/cards/c/Cocoon.java b/Mage.Sets/src/mage/cards/c/Cocoon.java index a109e0c5d30..221d948726e 100644 --- a/Mage.Sets/src/mage/cards/c/Cocoon.java +++ b/Mage.Sets/src/mage/cards/c/Cocoon.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -54,7 +54,7 @@ public final class Cocoon extends CardImpl { new SourceHasCounterCondition(CounterType.PUPA)).setText("Enchanted creature doesn't untap during its controller's untap step if Cocoon has a pupa counter on it"))); // At the beginning of your upkeep, remove a pupa counter from Cocoon. If you can’t, sacrifice it, put a +1/+1 counter on enchanted creature, and that creature gains flying. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CocoonEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CocoonEffect())); } diff --git a/Mage.Sets/src/mage/cards/c/CoercivePortal.java b/Mage.Sets/src/mage/cards/c/CoercivePortal.java index dd572d3951b..0c02d60d8d5 100644 --- a/Mage.Sets/src/mage/cards/c/CoercivePortal.java +++ b/Mage.Sets/src/mage/cards/c/CoercivePortal.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; @@ -25,8 +25,7 @@ public final class CoercivePortal extends CardImpl { // Will of the council - At the beginning of your upkeep, starting with you, each player votes for carnage or homage. If carnage gets more votes, sacrifice Coercive Portal and destroy all nonland permanents. If homage gets more votes or the vote is tied, draw a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new CoercivePortalEffect(), TargetController.YOU, - false, false + new CoercivePortalEffect() ).setAbilityWord(AbilityWord.WILL_OF_THE_COUNCIL)); } diff --git a/Mage.Sets/src/mage/cards/c/ColdSnap.java b/Mage.Sets/src/mage/cards/c/ColdSnap.java index 0d87c6a49c9..c43a2742c05 100644 --- a/Mage.Sets/src/mage/cards/c/ColdSnap.java +++ b/Mage.Sets/src/mage/cards/c/ColdSnap.java @@ -1,8 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.CumulativeUpkeepAbility; @@ -27,7 +26,7 @@ public final class ColdSnap extends CardImpl { this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{2}"))); // At the beginning of each player's upkeep, Cold Snap deals damage to that player equal to the number of snow lands they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ColdSnapDamageTargetEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new ColdSnapDamageTargetEffect(), false)); } private ColdSnap(final ColdSnap card) { diff --git a/Mage.Sets/src/mage/cards/c/CollapsingBorders.java b/Mage.Sets/src/mage/cards/c/CollapsingBorders.java index 934e031adc2..690742318c3 100644 --- a/Mage.Sets/src/mage/cards/c/CollapsingBorders.java +++ b/Mage.Sets/src/mage/cards/c/CollapsingBorders.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.DomainValue; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; @@ -26,7 +26,7 @@ public final class CollapsingBorders extends CardImpl { // Domain - At the beginning of each player's upkeep, that player gains 1 life for each basic land type among lands they control. Then Collapsing Borders deals 3 damage to that player. Effect effect = new GainLifeTargetEffect(DomainValue.TARGET); effect.setText("that player gains 1 life for each basic land type among lands they control"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, effect, false); effect = new DamageTargetEffect(3); effect.setText("Then {this} deals 3 damage to that player"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/c/ColossalMajesty.java b/Mage.Sets/src/mage/cards/c/ColossalMajesty.java index d47f5441dee..3b9395291dd 100644 --- a/Mage.Sets/src/mage/cards/c/ColossalMajesty.java +++ b/Mage.Sets/src/mage/cards/c/ColossalMajesty.java @@ -1,6 +1,6 @@ package mage.cards.c; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.FerociousCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -8,7 +8,6 @@ import mage.abilities.hint.common.FerociousHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -23,8 +22,7 @@ public final class ColossalMajesty extends CardImpl { // At the beginning of your upkeep, if you control a creature with power 4 or greater, draw a card. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new DrawCardSourceControllerEffect(1), - TargetController.YOU, false + new DrawCardSourceControllerEffect(1), false ), FerociousCondition.instance, "At the beginning of your upkeep, " diff --git a/Mage.Sets/src/mage/cards/c/CommanderCody.java b/Mage.Sets/src/mage/cards/c/CommanderCody.java index 4ab0e16fd90..f6edbe75b6d 100644 --- a/Mage.Sets/src/mage/cards/c/CommanderCody.java +++ b/Mage.Sets/src/mage/cards/c/CommanderCody.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; @@ -36,7 +36,7 @@ public final class CommanderCody extends CardImpl { // Non-token Trooper creatures you control have "At the beginning of your upkeep, create a 1/1 white Trooper creature token." this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect( - new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new TrooperToken()), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new TrooperToken())), Duration.WhileOnBattlefield, filter, false) .withForceQuotes() )); diff --git a/Mage.Sets/src/mage/cards/c/CommandersAuthority.java b/Mage.Sets/src/mage/cards/c/CommandersAuthority.java index 1aa304b00fd..30fda08a7a4 100644 --- a/Mage.Sets/src/mage/cards/c/CommandersAuthority.java +++ b/Mage.Sets/src/mage/cards/c/CommandersAuthority.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.CreateTokenEffect; @@ -34,7 +34,7 @@ public final class CommandersAuthority extends CardImpl { Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted creature has "At the beginning of your upkeep, create a 1/1 white Human creature token." - ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new HumanToken()), TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new HumanToken())); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.AURA))); } diff --git a/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java b/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java index 2cde2374ab6..39fb2aa589f 100644 --- a/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java +++ b/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; @@ -39,8 +38,7 @@ public final class ComplexAutomaton extends CardImpl { // At the beginning of your upkeep, if you control seven or more permanents, return Complex Automaton to its owner's hand. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new ReturnToHandSourceEffect(true), - TargetController.YOU, false + new ReturnToHandSourceEffect(true), false ), condition, "At the beginning of your upkeep, " + "if you control seven or more permanents, return {this} to its owner's hand." ).addHint(new ValueHint("Permanents you control", new PermanentsOnBattlefieldCount(new FilterControlledPermanent())))); diff --git a/Mage.Sets/src/mage/cards/c/ConcertedEffort.java b/Mage.Sets/src/mage/cards/c/ConcertedEffort.java index 1a348822402..5592af999c4 100644 --- a/Mage.Sets/src/mage/cards/c/ConcertedEffort.java +++ b/Mage.Sets/src/mage/cards/c/ConcertedEffort.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.keyword.*; @@ -27,7 +27,7 @@ public final class ConcertedEffort extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); // At the beginning of each upkeep, creatures you control gain flying until end of turn if a creature you control has flying. The same is true for fear, first strike, double strike, landwalk, protection, trample, and vigilance. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ConcertedEffortEffect(), TargetController.EACH_PLAYER, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new ConcertedEffortEffect(), false)); } private ConcertedEffort(final ConcertedEffort card) { diff --git a/Mage.Sets/src/mage/cards/c/ConjuredCurrency.java b/Mage.Sets/src/mage/cards/c/ConjuredCurrency.java index d3f90a073c5..5bc27d33def 100644 --- a/Mage.Sets/src/mage/cards/c/ConjuredCurrency.java +++ b/Mage.Sets/src/mage/cards/c/ConjuredCurrency.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.continuous.ExchangeControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -32,7 +32,7 @@ public final class ConjuredCurrency extends CardImpl { this.color.setBlue(true); // At the beginning of your upkeep, you may exchange control of Conjured Currency and target permanent you neither own nor control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new ExchangeControlTargetEffect(Duration.EndOfGame, rule, true), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ExchangeControlTargetEffect(Duration.EndOfGame, rule, true), true); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java b/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java index 7ab65467a5d..2c4e82a7e69 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -51,7 +51,7 @@ public final class ConsumingFerocity extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0, Duration.WhileOnBattlefield))); // At the beginning of your upkeep, put a +1/+0 counter on enchanted creature. If that creature has three or more +1/+0 counters on it, it deals damage equal to its power to its controller, then destroy that creature and it can't be regenerated. - Ability upkeepAbility = new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect(CounterType.P1P0.createInstance(), "enchanted creature"), TargetController.YOU, false); + Ability upkeepAbility = new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect(CounterType.P1P0.createInstance(), "enchanted creature")); upkeepAbility.addEffect(new ConsumingFerocityEffect()); this.addAbility(upkeepAbility); } diff --git a/Mage.Sets/src/mage/cards/c/ConsumingFervor.java b/Mage.Sets/src/mage/cards/c/ConsumingFervor.java index 29b3273aa73..79e55ede901 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingFervor.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingFervor.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; @@ -18,7 +18,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.TargetPermanent; @@ -44,7 +43,7 @@ public final class ConsumingFervor extends CardImpl { // Enchanted creature gets +3/+3 and has "At the beginning of your upkeep, put a -1/-1 counter on this creature." ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield)); - Ability grantedAbility = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(1)), TargetController.YOU, false); + Ability grantedAbility = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(1))); Effect effect = new GainAbilityAttachedEffect(grantedAbility, AttachmentType.AURA); effect.setText("and has \"At the beginning of your upkeep, put a -1/-1 counter on this creature.\""); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/c/ConsumingSepulcher.java b/Mage.Sets/src/mage/cards/c/ConsumingSepulcher.java index a20c5a6a620..7499d76d724 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingSepulcher.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingSepulcher.java @@ -1,13 +1,12 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -23,7 +22,7 @@ public final class ConsumingSepulcher extends CardImpl { // At the beginning of your upkeep, each opponent loses 1 life and you gain 1 life. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new LoseLifeOpponentsEffect(1), TargetController.YOU, false + new LoseLifeOpponentsEffect(1) ); ability.addEffect(new GainLifeEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/Contamination.java b/Mage.Sets/src/mage/cards/c/Contamination.java index d9925dfaec0..92914384eee 100644 --- a/Mage.Sets/src/mage/cards/c/Contamination.java +++ b/Mage.Sets/src/mage/cards/c/Contamination.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.ReplacementEffectImpl; @@ -16,7 +16,6 @@ import mage.game.events.GameEvent; import mage.game.events.ManaEvent; import mage.game.events.TappedForManaEvent; import mage.game.permanent.Permanent; -import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -30,7 +29,7 @@ public final class Contamination extends CardImpl { // At the beginning of your upkeep, sacrifice Contamination unless you sacrifice a creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)), TargetController.YOU, false) + new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE))) ); // If a land is tapped for mana, it produces {B} instead of any other type and amount. diff --git a/Mage.Sets/src/mage/cards/c/Convalescence.java b/Mage.Sets/src/mage/cards/c/Convalescence.java index 19473f94298..dc0aeb375c8 100644 --- a/Mage.Sets/src/mage/cards/c/Convalescence.java +++ b/Mage.Sets/src/mage/cards/c/Convalescence.java @@ -3,13 +3,12 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -24,7 +23,7 @@ public final class Convalescence extends CardImpl { // At the beginning of your upkeep, if you have 10 or less life, you gain 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ConvalescenceEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ConvalescenceEffect())); } private Convalescence(final Convalescence card) { diff --git a/Mage.Sets/src/mage/cards/c/ConvalescentCare.java b/Mage.Sets/src/mage/cards/c/ConvalescentCare.java index e946df03467..6df37fb1d05 100644 --- a/Mage.Sets/src/mage/cards/c/ConvalescentCare.java +++ b/Mage.Sets/src/mage/cards/c/ConvalescentCare.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.FatefulHourCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -9,7 +9,6 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -23,7 +22,7 @@ public final class ConvalescentCare extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{W}"); // At the beginning of your upkeep, if you have 5 or less life, you gain 3 life and draw a card. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(3), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(3)); ability.addEffect(new DrawCardSourceControllerEffect(1)); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, FatefulHourCondition.instance, "At the beginning of your upkeep, if you have 5 or less life, you gain 3 life and draw a card.")); diff --git a/Mage.Sets/src/mage/cards/c/Conversion.java b/Mage.Sets/src/mage/cards/c/Conversion.java index 101a136242c..fb19f7aec79 100644 --- a/Mage.Sets/src/mage/cards/c/Conversion.java +++ b/Mage.Sets/src/mage/cards/c/Conversion.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.ContinuousEffect; @@ -32,9 +32,8 @@ public final class Conversion extends CardImpl { // At the beginning of your upkeep, sacrifice Conversion unless you pay {W}{W}. this.addAbility(new BeginningOfUpkeepTriggeredAbility( new SacrificeSourceUnlessPaysEffect( - new ManaCostsImpl<>("{W}{W}")), - TargetController.YOU, - false)); + new ManaCostsImpl<>("{W}{W}")) + )); // All Mountains are Plains. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConversionEffect())); diff --git a/Mage.Sets/src/mage/cards/c/CopperTablet.java b/Mage.Sets/src/mage/cards/c/CopperTablet.java index a05d25808ee..308d02063d0 100644 --- a/Mage.Sets/src/mage/cards/c/CopperTablet.java +++ b/Mage.Sets/src/mage/cards/c/CopperTablet.java @@ -2,13 +2,12 @@ package mage.cards.c; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -21,7 +20,7 @@ public final class CopperTablet extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); // At the beginning of each player's upkeep, Copper Tablet deals 1 damage to that player. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1, true, "that player"), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new DamageTargetEffect(1, true, "that player"), false)); } private CopperTablet(final CopperTablet card) { diff --git a/Mage.Sets/src/mage/cards/c/CoralNet.java b/Mage.Sets/src/mage/cards/c/CoralNet.java index f34a531f09a..c9166b6a789 100644 --- a/Mage.Sets/src/mage/cards/c/CoralNet.java +++ b/Mage.Sets/src/mage/cards/c/CoralNet.java @@ -4,7 +4,7 @@ package mage.cards.c; import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.common.AttachEffect; @@ -48,7 +48,7 @@ public final class CoralNet extends CardImpl { // Enchanted creature has "At the beginning of your upkeep, sacrifice this creature unless you discard a card." Ability abilityToGain = new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new DiscardCardCost()), TargetController.YOU, false); + new SacrificeSourceUnlessPaysEffect(new DiscardCardCost())); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(abilityToGain, AttachmentType.AURA, Duration.WhileOnBattlefield, rule))); } diff --git a/Mage.Sets/src/mage/cards/c/Corrosion.java b/Mage.Sets/src/mage/cards/c/Corrosion.java index fc63a4c1468..3c15d5e4961 100644 --- a/Mage.Sets/src/mage/cards/c/Corrosion.java +++ b/Mage.Sets/src/mage/cards/c/Corrosion.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.LeavesBattlefieldTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterArtifactPermanent; import mage.game.Game; @@ -33,7 +32,7 @@ public final class Corrosion extends CardImpl { this.addAbility(new CumulativeUpkeepAbility(new GenericManaCost(1))); // At the beginning of your upkeep, put a rust counter on each artifact target opponent controls. Then destroy each artifact with converted mana cost less than or equal to the number of rust counters on it. Artifacts destroyed this way can't be regenerated. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new CorrosionUpkeepEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new CorrosionUpkeepEffect()); ability.addTarget(new TargetOpponent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CosimaGodOfTheVoyage.java b/Mage.Sets/src/mage/cards/c/CosimaGodOfTheVoyage.java index 1e7457dc2d1..55dba3ec118 100644 --- a/Mage.Sets/src/mage/cards/c/CosimaGodOfTheVoyage.java +++ b/Mage.Sets/src/mage/cards/c/CosimaGodOfTheVoyage.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsDamageToAPlayerAllTriggeredAbility; import mage.abilities.effects.AsThoughEffectImpl; import mage.abilities.effects.ContinuousEffectImpl; @@ -47,7 +47,7 @@ public final class CosimaGodOfTheVoyage extends ModalDoubleFacedCard { // At the beginning of your upkeep, you may exile Cosima. If you do, it gains "Whenever a land you control enters, if Cosima is exiled, you may put a voyage counter on it. If you don't, return Cosima to the battlefield with X +1/+1 counters on it and draw X cards, where X is the number of voyage counters on it. this.getLeftHalfCard().addAbility(new BeginningOfUpkeepTriggeredAbility( - new CosimaGodOfTheVoyageEffect(), TargetController.YOU, true + new CosimaGodOfTheVoyageEffect(), true )); // 2. diff --git a/Mage.Sets/src/mage/cards/c/CosmicHorror.java b/Mage.Sets/src/mage/cards/c/CosmicHorror.java index d123bf31b41..4d01d7a3a47 100644 --- a/Mage.Sets/src/mage/cards/c/CosmicHorror.java +++ b/Mage.Sets/src/mage/cards/c/CosmicHorror.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -35,7 +34,7 @@ public final class CosmicHorror extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, destroy Cosmic Horror unless you pay {3}{B}{B}{B}. If Cosmic Horror is destroyed this way, it deals 7 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CosmicHorrorEffect(new ManaCostsImpl<>("{3}{B}{B}{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CosmicHorrorEffect(new ManaCostsImpl<>("{3}{B}{B}{B}")))); } private CosmicHorror(final CosmicHorror card) { diff --git a/Mage.Sets/src/mage/cards/c/CosmicLarva.java b/Mage.Sets/src/mage/cards/c/CosmicLarva.java index e0ee63261ca..20a84bd3130 100644 --- a/Mage.Sets/src/mage/cards/c/CosmicLarva.java +++ b/Mage.Sets/src/mage/cards/c/CosmicLarva.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.TrampleAbility; @@ -11,10 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledLandPermanent; -import mage.target.common.TargetControlledPermanent; /** * @@ -33,7 +30,7 @@ public final class CosmicLarva extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice Cosmic Larva unless you sacrifice two lands. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect( - new SacrificeTargetCost(2, StaticFilters.FILTER_LANDS)), TargetController.YOU, false)); + new SacrificeTargetCost(2, StaticFilters.FILTER_LANDS)))); } private CosmicLarva(final CosmicLarva card) { diff --git a/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java b/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java index a2de61a7548..3450e3e57a2 100644 --- a/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java +++ b/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutCardIntoGraveFromAnywhereAllTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -32,7 +32,7 @@ public final class CountrysideCrusher extends CardImpl { // At the beginning of your upkeep, reveal the top card of your library. If it's a land card, put it into your graveyard and repeat this process. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CountrysideCrusherEffect(), TargetController.YOU, false + new CountrysideCrusherEffect() )); // Whenever a land card is put into your graveyard from anywhere, put a +1/+1 counter on Countryside Crusher. diff --git a/Mage.Sets/src/mage/cards/c/CourtOfAmbition.java b/Mage.Sets/src/mage/cards/c/CourtOfAmbition.java index e865d8c1d6a..ea3d8137893 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfAmbition.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfAmbition.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.BecomesMonarchSourceEffect; @@ -12,7 +12,6 @@ import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; @@ -36,7 +35,7 @@ public final class CourtOfAmbition extends CardImpl { // At the beginning of your upkeep, each opponent loses 3 life unless they discard a card. If you're the monarch, instead each opponent loses 6 life unless they discard two cards. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CourtOfAmbitionEffect(), TargetController.YOU, false + new CourtOfAmbitionEffect() )); } diff --git a/Mage.Sets/src/mage/cards/c/CourtOfArdenvale.java b/Mage.Sets/src/mage/cards/c/CourtOfArdenvale.java index 70b8c1f7e15..63ad0ad944d 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfArdenvale.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfArdenvale.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ManaValuePredicate; @@ -45,7 +44,7 @@ public final class CourtOfArdenvale extends CardImpl { new ReturnFromGraveyardToHandTargetEffect(), MonarchIsSourceControllerCondition.instance, "return target permanent card with mana value 3 or less from your graveyard to your hand. If you're the monarch, return that permanent card to the battlefield instead." - ), TargetController.YOU, false + ) ); ability.addTarget(new TargetCardInYourGraveyard(filter)); ability.addHint(MonarchHint.instance); @@ -60,4 +59,4 @@ public final class CourtOfArdenvale extends CardImpl { public CourtOfArdenvale copy() { return new CourtOfArdenvale(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/c/CourtOfBounty.java b/Mage.Sets/src/mage/cards/c/CourtOfBounty.java index c520edf528d..43fab7c00d2 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfBounty.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfBounty.java @@ -1,6 +1,6 @@ package mage.cards.c; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -10,7 +10,6 @@ import mage.abilities.hint.common.MonarchHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import java.util.UUID; @@ -33,7 +32,7 @@ public final class CourtOfBounty extends CardImpl { MonarchIsSourceControllerCondition.instance, "you may put a land card " + "from your hand onto the battlefield. If you're the monarch, " + "instead you may put a creature or land card from your hand onto the battlefield" - ), TargetController.YOU, false) + )) .addHint(MonarchHint.instance)); } diff --git a/Mage.Sets/src/mage/cards/c/CourtOfCunning.java b/Mage.Sets/src/mage/cards/c/CourtOfCunning.java index a4574433e27..66beeb142c6 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfCunning.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfCunning.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.BecomesMonarchSourceEffect; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; import mage.target.Target; @@ -34,7 +33,7 @@ public final class CourtOfCunning extends CardImpl { // At the beginning of your upkeep, any number of target players each mill two cards. If you're the monarch, each of those players mills ten cards instead. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new CourtOfCunningEffect(), TargetController.YOU, false + new CourtOfCunningEffect() ); ability.addTarget(new TargetPlayer(0, Integer.MAX_VALUE, false)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CourtOfEmbereth.java b/Mage.Sets/src/mage/cards/c/CourtOfEmbereth.java index e1bbb5962d2..2ee2e52d19b 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfEmbereth.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfEmbereth.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -33,8 +33,7 @@ public final class CourtOfEmbereth extends CardImpl { // At the beginning of your upkeep, create a 3/1 red Knight creature token. Then if you're the monarch, Court of Embereth deals X damage to each opponent, where X is the number of creatures you control. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new Knight31RedToken()), - TargetController.YOU, false + new CreateTokenEffect(new Knight31RedToken()) ); ability.addEffect(new ConditionalOneShotEffect( new DamagePlayersEffect(CreaturesYouControlCount.instance, TargetController.OPPONENT) diff --git a/Mage.Sets/src/mage/cards/c/CourtOfGarenbrig.java b/Mage.Sets/src/mage/cards/c/CourtOfGarenbrig.java index 2a2858c2837..f932580a229 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfGarenbrig.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfGarenbrig.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -12,7 +12,6 @@ import mage.abilities.hint.common.MonarchHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanentAmount; @@ -35,7 +34,7 @@ public final class CourtOfGarenbrig extends CardImpl { Ability ability = new BeginningOfUpkeepTriggeredAbility( new DistributeCountersEffect( CounterType.P1P1, 2, false, "up to two target creatures" - ), TargetController.YOU, false + ) ); TargetCreaturePermanentAmount target = new TargetCreaturePermanentAmount(2); target.setMinNumberOfTargets(0); diff --git a/Mage.Sets/src/mage/cards/c/CourtOfGrace.java b/Mage.Sets/src/mage/cards/c/CourtOfGrace.java index 8b6b55d88c3..ce61efc69c6 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfGrace.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfGrace.java @@ -1,6 +1,6 @@ package mage.cards.c; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -10,7 +10,6 @@ import mage.abilities.hint.common.MonarchHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.game.permanent.token.AngelToken; import mage.game.permanent.token.SpiritWhiteToken; @@ -32,7 +31,7 @@ public final class CourtOfGrace extends CardImpl { new CreateTokenEffect(new AngelToken()), new CreateTokenEffect(new SpiritWhiteToken()), MonarchIsSourceControllerCondition.instance, "create a 1/1 white Spirit creature token with flying. " + "If you're the monarch, create a 4/4 white Angel creature token with flying instead" - ), TargetController.YOU, false)); + ))); } private CourtOfGrace(final CourtOfGrace card) { diff --git a/Mage.Sets/src/mage/cards/c/CourtOfIre.java b/Mage.Sets/src/mage/cards/c/CourtOfIre.java index 4e6dab3a50f..98f596dc97d 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfIre.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfIre.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -11,7 +11,6 @@ import mage.abilities.hint.common.MonarchHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.target.common.TargetAnyTarget; import java.util.UUID; @@ -32,7 +31,7 @@ public final class CourtOfIre extends CardImpl { new DamageTargetEffect(7), new DamageTargetEffect(2), MonarchIsSourceControllerCondition.instance, "{this} deals 2 damage to any target. " + "If you're the monarch, it deals 7 damage instead" - ), TargetController.YOU, false); + )); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CourtOfLocthwain.java b/Mage.Sets/src/mage/cards/c/CourtOfLocthwain.java index ad7987823f2..8cf9f4510b2 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfLocthwain.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfLocthwain.java @@ -4,7 +4,7 @@ import mage.MageIdentifier; import mage.MageObject; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -46,8 +46,7 @@ public final class CourtOfLocthwain extends CardImpl { // At the beginning of your upkeep, exile the top card of target opponent's library. You may play that card for as long as it remains exiled, and mana of any type can be spent to cast it. If you're the monarch, until end of turn, you may cast a spell from among cards exiled with Court of Locthwain without paying its mana cost. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new CourtOfLocthwainFirstEffect(), - TargetController.YOU, false + new CourtOfLocthwainFirstEffect() ); ability.addTarget(new TargetOpponent()); ability.addEffect(new ConditionalOneShotEffect( diff --git a/Mage.Sets/src/mage/cards/c/CourtOfVantress.java b/Mage.Sets/src/mage/cards/c/CourtOfVantress.java index f34793a4c9d..72017d32b1b 100644 --- a/Mage.Sets/src/mage/cards/c/CourtOfVantress.java +++ b/Mage.Sets/src/mage/cards/c/CourtOfVantress.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.BecomesMonarchSourceEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -58,7 +57,7 @@ public final class CourtOfVantress extends CardImpl { static Ability makeAbility() { Ability ability = new BeginningOfUpkeepTriggeredAbility( - new CourtOfVantressEffect(), TargetController.YOU, false + new CourtOfVantressEffect() ); ability.addTarget(new TargetPermanent(0, 1, filter)); return ability; diff --git a/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java b/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java index b39d48ac1e0..ee16444f52a 100644 --- a/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java +++ b/Mage.Sets/src/mage/cards/c/CrawlingInfestation.java @@ -3,14 +3,13 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.MillCardsControllerEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -26,7 +25,7 @@ public final class CrawlingInfestation extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); // At the beginning of your upkeep, you may mill two cards. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(2), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(2), true)); // Whenever one or more creature cards are put into your graveyard from anywhere during your turn, create a 1/1 green Insect creature token. This ability triggers only once each turn. this.addAbility(new CrawlingInfestationTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java b/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java index 44ea3a4bf0a..e2b8a47cbf8 100644 --- a/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java +++ b/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java @@ -4,7 +4,7 @@ package mage.cards.c; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -45,7 +44,7 @@ public final class CreakwoodLiege extends CardImpl { // Other green creatures you control get +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterGreenCreature, true))); // At the beginning of your upkeep, you may create a 1/1 black and green Worm creature token. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new BlackGreenWormToken(), 1), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new BlackGreenWormToken(), 1), true)); } private CreakwoodLiege(final CreakwoodLiege card) { diff --git a/Mage.Sets/src/mage/cards/c/CreepingBloodsucker.java b/Mage.Sets/src/mage/cards/c/CreepingBloodsucker.java index 8b0b360f25e..e72b026cb1b 100644 --- a/Mage.Sets/src/mage/cards/c/CreepingBloodsucker.java +++ b/Mage.Sets/src/mage/cards/c/CreepingBloodsucker.java @@ -3,14 +3,13 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -30,7 +29,7 @@ public final class CreepingBloodsucker extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, Creeping Bloodsucker deals 1 damage to each opponent. You gain life equal to the damage dealt this way. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreepingBloodsuckerEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreepingBloodsuckerEffect())); } private CreepingBloodsucker(final CreepingBloodsucker card) { @@ -73,4 +72,4 @@ class CreepingBloodsuckerEffect extends OneShotEffect { return new CreepingBloodsuckerEffect(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/c/CreepingDread.java b/Mage.Sets/src/mage/cards/c/CreepingDread.java index b686c599958..faf872856cb 100644 --- a/Mage.Sets/src/mage/cards/c/CreepingDread.java +++ b/Mage.Sets/src/mage/cards/c/CreepingDread.java @@ -3,14 +3,13 @@ package mage.cards.c; import java.util.*; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; import mage.game.Game; @@ -27,7 +26,7 @@ public final class CreepingDread extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); // At the beginning of your upkeep, each player discards a card. Each opponent who discarded a card that shares a card type with the card you discarded loses 3 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreepingDreadEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreepingDreadEffect())); } private CreepingDread(final CreepingDread card) { diff --git a/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java b/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java index 16e7f9b2960..5fa16fe8709 100644 --- a/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java +++ b/Mage.Sets/src/mage/cards/c/CrescendoOfWar.java @@ -1,7 +1,7 @@ package mage.cards.c; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.dynamicvalue.common.StaticValue; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -29,7 +28,7 @@ public final class CrescendoOfWar extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}"); // At the beginning of each upkeep, put a strife counter on Crescendo of War. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.STRIFE.createInstance(1), true), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new AddCountersSourceEffect(CounterType.STRIFE.createInstance(1), true), false)); // Attacking creatures get +1/+0 for each strife counter on Crescendo of War. this.addAbility(new SimpleStaticAbility(new BoostAllEffect(xValue, StaticValue.get(0), diff --git a/Mage.Sets/src/mage/cards/c/CropSigil.java b/Mage.Sets/src/mage/cards/c/CropSigil.java index 0c1305ceb94..7ea00a9e010 100644 --- a/Mage.Sets/src/mage/cards/c/CropSigil.java +++ b/Mage.Sets/src/mage/cards/c/CropSigil.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; @@ -30,7 +29,7 @@ public final class CropSigil extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}"); // At the beginning of your upkeep, you may mill a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(1), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(1), true)); // Delirium — {2}{G}, Sacrifice Crop Sigil: Return up to one target creature card and up to one target land card from your graveyard to your hand. // Activate this ability only if there are four or more card types among cards in your graveyard. diff --git a/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java b/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java index 2e13984315b..02d38c43b27 100644 --- a/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java +++ b/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java @@ -2,7 +2,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -39,7 +39,7 @@ public final class CrovaxTheCursed extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(4)), "with four +1/+1 counters on it")); // At the beginning of your upkeep, you may sacrifice a creature. If you do, put a +1/+1 counter on Crovax. If you don't, remove a +1/+1 counter from Crovax. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CrovaxTheCursedEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new CrovaxTheCursedEffect()); this.addAbility(ability); // {B}: Crovax gains flying until end of turn. diff --git a/Mage.Sets/src/mage/cards/c/CruelReality.java b/Mage.Sets/src/mage/cards/c/CruelReality.java index 3470bcf2aea..eeba5e24439 100644 --- a/Mage.Sets/src/mage/cards/c/CruelReality.java +++ b/Mage.Sets/src/mage/cards/c/CruelReality.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -17,7 +17,6 @@ import mage.filter.predicate.Predicates; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.TargetPermanent; import mage.target.TargetPlayer; import mage.target.common.TargetSacrifice; @@ -40,7 +39,7 @@ public final class CruelReality extends CardImpl { this.addAbility(new EnchantAbility(auraTarget)); //At the beginning of enchanted player's upkeep, that player sacrifices a creature or planeswalker. If the player can't, they lose 5 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CruelRealityEffect(), TargetController.ENCHANTED, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ENCHANTED, new CruelRealityEffect(), false)); } private CruelReality(final CruelReality card) { diff --git a/Mage.Sets/src/mage/cards/c/CrumblingAshes.java b/Mage.Sets/src/mage/cards/c/CrumblingAshes.java index e812863edc2..eba3857a9a1 100644 --- a/Mage.Sets/src/mage/cards/c/CrumblingAshes.java +++ b/Mage.Sets/src/mage/cards/c/CrumblingAshes.java @@ -3,13 +3,11 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.target.Target; @@ -32,7 +30,7 @@ public final class CrumblingAshes extends CardImpl { // At the beginning of your upkeep, destroy target creature with a -1/-1 counter on it. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DestroyTargetEffect()); Target target = new TargetCreaturePermanent(filter); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CryptolithFragment.java b/Mage.Sets/src/mage/cards/c/CryptolithFragment.java index 075d662b2ca..5203e1feac5 100644 --- a/Mage.Sets/src/mage/cards/c/CryptolithFragment.java +++ b/Mage.Sets/src/mage/cards/c/CryptolithFragment.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.condition.common.LifeCompareCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -38,7 +38,7 @@ public final class CryptolithFragment extends CardImpl { // At the beginning of your upkeep, if each player has 10 or less life, transform Cryptolith Fragment. this.addAbility(new TransformAbility()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect()), new LifeCompareCondition(TargetController.EACH_PLAYER, ComparisonType.OR_LESS, 10), "At the beginning of your upkeep, if each player has 10 or less life, transform {this}.")); } diff --git a/Mage.Sets/src/mage/cards/c/Cryptoplasm.java b/Mage.Sets/src/mage/cards/c/Cryptoplasm.java index 9045046ba4d..cf026f39adf 100644 --- a/Mage.Sets/src/mage/cards/c/Cryptoplasm.java +++ b/Mage.Sets/src/mage/cards/c/Cryptoplasm.java @@ -4,14 +4,13 @@ package mage.cards.c; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.Game; @@ -40,7 +39,7 @@ public final class Cryptoplasm extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, you may have Cryptoplasm become a copy of another target creature. If you do, Cryptoplasm gains this ability. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new CryptoplasmEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new CryptoplasmEffect(), true); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } @@ -79,7 +78,7 @@ class CryptoplasmEffect extends OneShotEffect { CopyApplier applier = new CopyApplier() { @Override public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) { - Ability upkeepAbility = new BeginningOfUpkeepTriggeredAbility(new CryptoplasmEffect(), TargetController.YOU, true); + Ability upkeepAbility = new BeginningOfUpkeepTriggeredAbility(new CryptoplasmEffect(), true); upkeepAbility.addTarget(new TargetCreaturePermanent()); blueprint.getAbilities().add(upkeepAbility); return true; diff --git a/Mage.Sets/src/mage/cards/c/CullingScales.java b/Mage.Sets/src/mage/cards/c/CullingScales.java index 4bc2f2fa2b5..896560a8f73 100644 --- a/Mage.Sets/src/mage/cards/c/CullingScales.java +++ b/Mage.Sets/src/mage/cards/c/CullingScales.java @@ -1,13 +1,12 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterNonlandPermanent; import mage.filter.predicate.ObjectSourcePlayer; @@ -36,7 +35,7 @@ public final class CullingScales extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // At the beginning of your upkeep, destroy target nonland permanent with the lowest converted mana cost. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DestroyTargetEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DestroyTargetEffect()); ability.addTarget(new TargetPermanent(filterNonlandPermanentWithLowestCmc)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CultistOfTheAbsolute.java b/Mage.Sets/src/mage/cards/c/CultistOfTheAbsolute.java index 6bb57010eb8..6b09a593433 100644 --- a/Mage.Sets/src/mage/cards/c/CultistOfTheAbsolute.java +++ b/Mage.Sets/src/mage/cards/c/CultistOfTheAbsolute.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.SacrificeControllerEffect; @@ -48,7 +48,7 @@ public final class CultistOfTheAbsolute extends CardImpl { ability.addEffect(new GainAbilityAllEffect( new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect( StaticFilters.FILTER_PERMANENT_CREATURE, 1, null - ), TargetController.YOU, false), + )), Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER ).setText("and \"At the beginning of your upkeep, sacrifice a creature.\"")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java b/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java index 3c67f2eb171..7e04a100d66 100644 --- a/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java +++ b/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -17,7 +17,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterInstantOrSorceryCard; import mage.game.Game; import mage.players.Player; @@ -41,7 +40,7 @@ public final class CuriousHomunculus extends CardImpl { // At the beginning of your upkeep, if there are three or more instant and/or sorcery cards in your graveyard, transform Curious Homunculus. this.addAbility(new TransformAbility()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect()), new InstantOrSorceryCardsInControllerGraveyardCondition(3), "At the beginning of your upkeep, if there are three or more instant and/or sorcery cards in your graveyard, transform {this}")); } diff --git a/Mage.Sets/src/mage/cards/c/CurseArtifact.java b/Mage.Sets/src/mage/cards/c/CurseArtifact.java index 0b3197e8cfc..eb8059c4d1d 100644 --- a/Mage.Sets/src/mage/cards/c/CurseArtifact.java +++ b/Mage.Sets/src/mage/cards/c/CurseArtifact.java @@ -1,6 +1,6 @@ package mage.cards.c; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.SacrificeAttachedCost; import mage.abilities.effects.Effect; @@ -37,7 +37,7 @@ public final class CurseArtifact extends CardImpl { cost.setText("sacrifice attached artifact"); Effect effect = new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new DamageTargetEffect(2), cost, "Sacrifice enchanted artifact? (otherwise {this} deals 2 damage to you)"); effect.setText("{this} deals 2 damage to that player unless they sacrifice that artifact"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.CONTROLLER_ATTACHED_TO, false, true) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, false) .setTriggerPhrase("At the beginning of the upkeep of enchanted artifact's controller, ")); } diff --git a/Mage.Sets/src/mage/cards/c/CurseOfChains.java b/Mage.Sets/src/mage/cards/c/CurseOfChains.java index 0c814217970..8c5128978a0 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfChains.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfChains.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.TapEnchantedEffect; import mage.abilities.keyword.EnchantAbility; @@ -35,7 +35,7 @@ public final class CurseOfChains extends CardImpl { this.addAbility(ability); // At the beginning of each upkeep, tap enchanted creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapEnchantedEffect(), TargetController.EACH_PLAYER, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new TapEnchantedEffect(), false)); } private CurseOfChains(final CurseOfChains card) { diff --git a/Mage.Sets/src/mage/cards/c/CurseOfLeeches.java b/Mage.Sets/src/mage/cards/c/CurseOfLeeches.java index ba8c8908a9a..1cbb930c7bd 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfLeeches.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfLeeches.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.AttachEffect; @@ -44,8 +44,8 @@ public final class CurseOfLeeches extends CardImpl { // At the beginning of enchanted player's upkeep, they lose 1 life and you gain 1 life. ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new LoseLifeTargetEffect(1).setText("they lose 1 life"), - TargetController.ENCHANTED, false, true + TargetController.ENCHANTED, new LoseLifeTargetEffect(1).setText("they lose 1 life"), + false ); ability.addEffect(new GainLifeEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java b/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java index 685bb82b450..5f4f2827423 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfOblivion.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.ExileFromZoneTargetEffect; import mage.abilities.keyword.EnchantAbility; @@ -30,9 +30,9 @@ public final class CurseOfOblivion extends CardImpl { this.addAbility(ability); // At the beginning of enchanted player's upkeep, that player exiles two cards from their graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ExileFromZoneTargetEffect( + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ENCHANTED, new ExileFromZoneTargetEffect( Zone.GRAVEYARD, StaticFilters.FILTER_CARD_CARDS, 2, false - ), TargetController.ENCHANTED, false)); + ), false)); } private CurseOfOblivion(final CurseOfOblivion card) { diff --git a/Mage.Sets/src/mage/cards/c/CurseOfSurveillance.java b/Mage.Sets/src/mage/cards/c/CurseOfSurveillance.java index dd30c9765c6..df98be87ece 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfSurveillance.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfSurveillance.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; @@ -43,10 +43,10 @@ public final class CurseOfSurveillance extends CardImpl { // At the beginning of enchanted player's upkeep, any number of target players other than that player each draw cards equal to the number of Curses attached to that player. ability = new BeginningOfUpkeepTriggeredAbility( - new DrawCardTargetEffect(CurseOfSurveillanceValue.instance).setText( + TargetController.ENCHANTED, new DrawCardTargetEffect(CurseOfSurveillanceValue.instance).setText( "any number of target players other than that player each draw cards equal to the number of Curses attached to that player" ), - TargetController.ENCHANTED, false + false ); ability.setTargetAdjuster(CurseOfSurveillanceTargetAdjuster.instance); ability.addTarget(new TargetPlayer(0, Integer.MAX_VALUE, false)); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java b/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java index 72a37f24396..cdd601e6902 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfTheBloodyTome.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.MillCardsTargetEffect; import mage.abilities.keyword.EnchantAbility; @@ -33,9 +33,9 @@ public final class CurseOfTheBloodyTome extends CardImpl { // At the beginning of enchanted player's upkeep, that player puts the top two cards of their library into their graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new MillCardsTargetEffect(2) + TargetController.ENCHANTED, new MillCardsTargetEffect(2) .setText("that player mills two cards"), - TargetController.ENCHANTED, false + false )); } diff --git a/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java b/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java index 1e20dc95ac1..179dd87f298 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfTheCabal.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SuspendedCondition; import mage.abilities.costs.Cost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -104,8 +104,8 @@ class CurseOfTheCabalInterveningIfTriggeredAbility extends ConditionalIntervenin public CurseOfTheCabalInterveningIfTriggeredAbility() { super(new BeginningOfUpkeepTriggeredAbility( - Zone.EXILED, new CurseOfTheCabalTriggeredAbilityConditionalDelay(), - TargetController.ANY, false, true + Zone.EXILED, TargetController.ANY, new CurseOfTheCabalTriggeredAbilityConditionalDelay(), + false ), SuspendedCondition.instance, "At the beginning of each player's upkeep, if {this} is suspended, " diff --git a/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java b/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java index 3f69fae7843..828179f140d 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfThePiercedHeart.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -41,7 +41,7 @@ public final class CurseOfThePiercedHeart extends CardImpl { // At the beginning of enchanted player's upkeep, Curse of the Pierced Heart deals 1 damage to that player. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CurseOfThePiercedHeartEffect(), TargetController.ENCHANTED, false + TargetController.ENCHANTED, new CurseOfThePiercedHeartEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/c/CurseOfThirst.java b/Mage.Sets/src/mage/cards/c/CurseOfThirst.java index 9863448c5ae..96c5410ca1d 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfThirst.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfThirst.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; @@ -37,9 +37,9 @@ public final class CurseOfThirst extends CardImpl { // At the beginning of enchanted player's upkeep, Curse of Thirst deals damage to that player equal to the number of Curses attached to them. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DamageTargetEffect(CursesAttachedCount.instance) + TargetController.ENCHANTED, new DamageTargetEffect(CursesAttachedCount.instance) .setText("{this} deals damage to that player equal to the number of Curses attached to them"), - TargetController.ENCHANTED, false + false )); } diff --git a/Mage.Sets/src/mage/cards/c/CurseOfUnbinding.java b/Mage.Sets/src/mage/cards/c/CurseOfUnbinding.java index e1ccefb090f..6ac8f745493 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfUnbinding.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfUnbinding.java @@ -1,7 +1,7 @@ package mage.cards.c; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -33,7 +33,7 @@ public final class CurseOfUnbinding extends CardImpl { // At the beginning of enchanted player's upkeep, that player reveals cards from the top of their library until they reveal a creature card. Put that card onto the battlefield under your control. That player puts the rest of the revealed cards into their graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CurseOfUnbindingEffect(), TargetController.ENCHANTED, false + TargetController.ENCHANTED, new CurseOfUnbindingEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/c/CursedLand.java b/Mage.Sets/src/mage/cards/c/CursedLand.java index 1861621d032..dfd21571e24 100644 --- a/Mage.Sets/src/mage/cards/c/CursedLand.java +++ b/Mage.Sets/src/mage/cards/c/CursedLand.java @@ -2,7 +2,7 @@ package mage.cards.c; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageTargetEffect; @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; @@ -35,8 +34,8 @@ public final class CursedLand extends CardImpl { // At the beginning of the upkeep of enchanted land's controller, Cursed Land deals 1 damage to that player. Effect effect = new DamageTargetEffect(1); effect.setText("{this} deals 1 damage to that player"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, - TargetController.CONTROLLER_ATTACHED_TO, false, true) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, + false) .setTriggerPhrase("At the beginning of the upkeep of enchanted land's controller, ")); } diff --git a/Mage.Sets/src/mage/cards/c/CustodyBattle.java b/Mage.Sets/src/mage/cards/c/CustodyBattle.java index 859f072f82e..d7d0907cb45 100644 --- a/Mage.Sets/src/mage/cards/c/CustodyBattle.java +++ b/Mage.Sets/src/mage/cards/c/CustodyBattle.java @@ -2,10 +2,10 @@ package mage.cards.c; import java.util.UUID; -import mage.MageObject; + import mage.target.common.TargetCreaturePermanent; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -25,14 +25,12 @@ import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.SubLayer; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetOpponent; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; @@ -58,7 +56,7 @@ public final class CustodyBattle extends CardImpl { this.addAbility(ability); // Enchanted creature has "At the beginning of your upkeep, target opponent gains control of this creature unless you sacrifice a land." - ability = new BeginningOfUpkeepTriggeredAbility(new CustodyBattleUnlessPaysEffect(new SacrificeTargetCost(filter)), TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility(new CustodyBattleUnlessPaysEffect(new SacrificeTargetCost(filter))); ability.addTarget(new TargetOpponent()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.AURA))); diff --git a/Mage.Sets/src/mage/cards/c/Cyclone.java b/Mage.Sets/src/mage/cards/c/Cyclone.java index b933f9c028e..7f21d7eea62 100644 --- a/Mage.Sets/src/mage/cards/c/Cyclone.java +++ b/Mage.Sets/src/mage/cards/c/Cyclone.java @@ -3,7 +3,7 @@ package mage.cards.c; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -31,7 +30,7 @@ public final class Cyclone extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{G}"); // At the beginning of your upkeep, put a wind counter on Cyclone, then sacrifice Cyclone unless you pay {G} for each wind counter on it. If you pay, Cyclone deals damage equal to the number of wind counters on it to each creature and each player. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.WIND.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.WIND.createInstance())); ability.addEffect(new CycloneEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DaemogothWoeEater.java b/Mage.Sets/src/mage/cards/d/DaemogothWoeEater.java index 60a28d0a39a..b7b2b68fe5b 100644 --- a/Mage.Sets/src/mage/cards/d/DaemogothWoeEater.java +++ b/Mage.Sets/src/mage/cards/d/DaemogothWoeEater.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SacrificeSourceTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -32,7 +32,7 @@ public final class DaemogothWoeEater extends CardImpl { // At the beginning of your upkeep, sacrifice a creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect( StaticFilters.FILTER_PERMANENT_CREATURE, 1, "" - ), TargetController.YOU, false)); + ))); // When you sacrifice Daemogoth Woe-Eater, each opponent discards a card, you draw a card, and you gain 2 life. Ability ability = new SacrificeSourceTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java b/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java index 23ce66adf87..34a6cc5f232 100644 --- a/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java +++ b/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.IntPlusDynamicValue; import mage.abilities.dynamicvalue.MultipliedValue; @@ -59,7 +59,7 @@ public final class DamiaSageOfStone extends CardImpl { class DamiaSageOfStoneTriggeredAbility extends BeginningOfUpkeepTriggeredAbility { DamiaSageOfStoneTriggeredAbility() { - super(new DrawCardSourceControllerEffect(new IntPlusDynamicValue(7, new MultipliedValue(CardsInControllerHandCount.instance, -1))), TargetController.YOU, false); + super(TargetController.YOU, new DrawCardSourceControllerEffect(new IntPlusDynamicValue(7, new MultipliedValue(CardsInControllerHandCount.instance, -1))), false); } private DamiaSageOfStoneTriggeredAbility(final DamiaSageOfStoneTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/cards/d/DanceOfMany.java b/Mage.Sets/src/mage/cards/d/DanceOfMany.java index 98413a6aa75..1b266fb784e 100644 --- a/Mage.Sets/src/mage/cards/d/DanceOfMany.java +++ b/Mage.Sets/src/mage/cards/d/DanceOfMany.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.LeavesBattlefieldTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -55,7 +55,7 @@ public final class DanceOfMany extends CardImpl { this.addAbility(ability2); // At the beginning of your upkeep, sacrifice Dance of Many unless you pay {U}{U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}{U}")))); } diff --git a/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java b/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java index 69d1c870338..f8627daba2c 100644 --- a/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java +++ b/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.common.AnimateDeadTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; @@ -58,7 +58,7 @@ public final class DanceOfTheDead extends CardImpl { this.addAbility(ability); // At the beginning of the upkeep of enchanted creature's controller, that player may pay {1}{B}. If they do, untap that creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DanceOfTheDeadDoIfCostPaidEffect(), TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new DanceOfTheDeadDoIfCostPaidEffect(), false)); } private DanceOfTheDead(final DanceOfTheDead card) { diff --git a/Mage.Sets/src/mage/cards/d/Darba.java b/Mage.Sets/src/mage/cards/d/Darba.java index ff97c4e9242..f5fe58f3b80 100644 --- a/Mage.Sets/src/mage/cards/d/Darba.java +++ b/Mage.Sets/src/mage/cards/d/Darba.java @@ -3,14 +3,13 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -26,7 +25,7 @@ public final class Darba extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, sacrifice Darba unless you pay {G}{G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")))); } private Darba(final Darba card) { diff --git a/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java b/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java index b54f202098b..40d23c4106e 100644 --- a/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java +++ b/Mage.Sets/src/mage/cards/d/DarigaazReincarnated.java @@ -1,9 +1,8 @@ package mage.cards.d; import mage.MageInt; -import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -112,7 +111,7 @@ class DarigaazReincarnatedDiesEffect extends ReplacementEffectImpl { class DarigaazReincarnatedInterveningIfTriggeredAbility extends ConditionalInterveningIfTriggeredAbility { public DarigaazReincarnatedInterveningIfTriggeredAbility() { - super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new DarigaazReincarnatedReturnEffect(), TargetController.YOU, false), + super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, TargetController.YOU, new DarigaazReincarnatedReturnEffect(), false), DarigaazReincarnatedCondition.instance, "At the beginning of your upkeep, if {this} is exiled with an egg counter on it, " + "remove an egg counter from it. Then if {this} has no egg counters on it, return it to the battlefield"); diff --git a/Mage.Sets/src/mage/cards/d/DarkConfidant.java b/Mage.Sets/src/mage/cards/d/DarkConfidant.java index 89a2f10d5a9..8434d9344cd 100644 --- a/Mage.Sets/src/mage/cards/d/DarkConfidant.java +++ b/Mage.Sets/src/mage/cards/d/DarkConfidant.java @@ -1,13 +1,12 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.RevealPutInHandLoseLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -25,7 +24,7 @@ public final class DarkConfidant extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RevealPutInHandLoseLifeEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RevealPutInHandLoseLifeEffect())); } private DarkConfidant(final DarkConfidant card) { diff --git a/Mage.Sets/src/mage/cards/d/DarkSuspicions.java b/Mage.Sets/src/mage/cards/d/DarkSuspicions.java index 543572e3d74..277f693651c 100644 --- a/Mage.Sets/src/mage/cards/d/DarkSuspicions.java +++ b/Mage.Sets/src/mage/cards/d/DarkSuspicions.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -23,7 +23,7 @@ public final class DarkSuspicions extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}"); // At the beginning of each opponent's upkeep, that player loses X life, where X is the number of cards in that player's hand minus the number of cards in your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DarkSuspicionsEffect(), TargetController.OPPONENT, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new DarkSuspicionsEffect(), false)); } private DarkSuspicions(final DarkSuspicions card) { diff --git a/Mage.Sets/src/mage/cards/d/DarkTutelage.java b/Mage.Sets/src/mage/cards/d/DarkTutelage.java index 8298efee1ef..16965a6d147 100644 --- a/Mage.Sets/src/mage/cards/d/DarkTutelage.java +++ b/Mage.Sets/src/mage/cards/d/DarkTutelage.java @@ -1,11 +1,10 @@ package mage.cards.d; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.RevealPutInHandLoseLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -18,7 +17,7 @@ public final class DarkTutelage extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new RevealPutInHandLoseLifeEffect(), TargetController.YOU, false + new RevealPutInHandLoseLifeEffect() )); } diff --git a/Mage.Sets/src/mage/cards/d/DarkstarAugur.java b/Mage.Sets/src/mage/cards/d/DarkstarAugur.java index 4c58d3e9669..acf74a95870 100644 --- a/Mage.Sets/src/mage/cards/d/DarkstarAugur.java +++ b/Mage.Sets/src/mage/cards/d/DarkstarAugur.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.RevealPutInHandLoseLifeEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.OffspringAbility; @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -33,7 +32,7 @@ public final class DarkstarAugur extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, reveal the top card of your library and put that card into your hand. You lose life equal to its mana value. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RevealPutInHandLoseLifeEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RevealPutInHandLoseLifeEffect())); } private DarkstarAugur(final DarkstarAugur card) { diff --git a/Mage.Sets/src/mage/cards/d/DarksteelReactor.java b/Mage.Sets/src/mage/cards/d/DarksteelReactor.java index 6d5eabf812c..412e5ad0691 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelReactor.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelReactor.java @@ -3,14 +3,13 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.StateTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.WinGameSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -29,7 +28,7 @@ public final class DarksteelReactor extends CardImpl { // Darksteel Reactor is indestructible. this.addAbility(IndestructibleAbility.getInstance()); // At the beginning of your upkeep, you may put a charge counter on Darksteel Reactor. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), true)); // When Darksteel Reactor has twenty or more charge counters on it, you win the game. this.addAbility(new DarksteelReactorStateTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DavrielRogueShadowmage.java b/Mage.Sets/src/mage/cards/d/DavrielRogueShadowmage.java index 7684b428681..d73c39d5fdf 100644 --- a/Mage.Sets/src/mage/cards/d/DavrielRogueShadowmage.java +++ b/Mage.Sets/src/mage/cards/d/DavrielRogueShadowmage.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.abilities.Ability; import mage.abilities.LoyaltyAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; @@ -31,8 +31,8 @@ public final class DavrielRogueShadowmage extends CardImpl { // At the beginning of each opponent's upkeep, if that player has one or fewer cards in hand, Davriel, Rogue Shadowmage deals 2 damage to them. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new DamageTargetEffect(2), - TargetController.OPPONENT, false, true + Zone.BATTLEFIELD, TargetController.OPPONENT, new DamageTargetEffect(2), + false ), DavrielRogueShadowmageCondition.instance, "At the beginning of each opponent's upkeep, " + "if that player has one or fewer cards in hand, {this} deals 2 damage to them." )); @@ -61,4 +61,4 @@ enum DavrielRogueShadowmageCondition implements Condition { Player player = game.getPlayer(game.getActivePlayerId()); return player != null && player.getHand().size() < 2; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/d/DawnOfTheDead.java b/Mage.Sets/src/mage/cards/d/DawnOfTheDead.java index 9f48e3fc910..f4afb6f8b80 100644 --- a/Mage.Sets/src/mage/cards/d/DawnOfTheDead.java +++ b/Mage.Sets/src/mage/cards/d/DawnOfTheDead.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -33,11 +33,11 @@ public final class DawnOfTheDead extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}{B}"); // At the beginning of your upkeep, you lose 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseLifeSourceControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1))); // At the beginning of your upkeep, you may return target creature card from your graveyard to the battlefield. // That creature gains haste until end of turn. Exile it at the beginning of the next end step. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DawnOfTheDeadEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DawnOfTheDeadEffect(), true); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java b/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java index a84a556dfdf..4549dabd052 100644 --- a/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java +++ b/Mage.Sets/src/mage/cards/d/DeadbridgeChant.java @@ -2,7 +2,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.MillCardsControllerEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -29,7 +28,7 @@ public final class DeadbridgeChant extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new MillCardsControllerEffect(10))); // At the beginning of your upkeep, choose a card at random in your graveyard. If it's a creature card, put it onto the battlefield. Otherwise, put it into your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DeadbridgeChantEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DeadbridgeChantEffect())); } private DeadbridgeChant(final DeadbridgeChant card) { diff --git a/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java b/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java index fa4c65a8b3b..f632e9f3619 100644 --- a/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java +++ b/Mage.Sets/src/mage/cards/d/DeathOfAThousandStings.java @@ -1,6 +1,6 @@ package mage.cards.d; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -32,8 +32,8 @@ public final class DeathOfAThousandStings extends CardImpl { // At the beginning of your upkeep, if you have more cards in hand than each opponent, you may return Death of a Thousand Stings from your graveyard to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new ReturnSourceFromGraveyardToHandEffect(), - TargetController.YOU, true).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance)); + TargetController.YOU, new ReturnSourceFromGraveyardToHandEffect(), + true).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance)); } private DeathOfAThousandStings(final DeathOfAThousandStings card) { diff --git a/Mage.Sets/src/mage/cards/d/DeathSpark.java b/Mage.Sets/src/mage/cards/d/DeathSpark.java index b88f608392f..7cdca5d2a58 100644 --- a/Mage.Sets/src/mage/cards/d/DeathSpark.java +++ b/Mage.Sets/src/mage/cards/d/DeathSpark.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -38,8 +38,7 @@ public final class DeathSpark extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( Zone.GRAVEYARD, - new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect(), new GenericManaCost(1)), - TargetController.YOU, + TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect(), new GenericManaCost(1)), false), DeathSparkCondition.instance, "At the beginning of your upkeep, if {this} is in your graveyard with a creature card directly above it, you may pay {1}. If you do, return {this} to your hand.")); diff --git a/Mage.Sets/src/mage/cards/d/DeathbonnetHulk.java b/Mage.Sets/src/mage/cards/d/DeathbonnetHulk.java index df16cdc6491..5dabd16cdb4 100644 --- a/Mage.Sets/src/mage/cards/d/DeathbonnetHulk.java +++ b/Mage.Sets/src/mage/cards/d/DeathbonnetHulk.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -34,7 +34,7 @@ public final class DeathbonnetHulk extends CardImpl { // At the beginning of your upkeep, you may exile a card from a graveyard. If a creature card was exiled this way, put a +1/+1 counter on Deathbonnet Hulk. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DeathbonnetHulkEffect(), TargetController.YOU, false + new DeathbonnetHulkEffect() )); } diff --git a/Mage.Sets/src/mage/cards/d/DeathbonnetSprout.java b/Mage.Sets/src/mage/cards/d/DeathbonnetSprout.java index 9089004165e..a5ed010d194 100644 --- a/Mage.Sets/src/mage/cards/d/DeathbonnetSprout.java +++ b/Mage.Sets/src/mage/cards/d/DeathbonnetSprout.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -16,7 +16,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import java.util.UUID; @@ -44,7 +43,7 @@ public final class DeathbonnetSprout extends CardImpl { // At the beginning of your upkeep, mill a card. Then if there are three or more creature cards in your graveyard, transform Deathbonnet Sprout. this.addAbility(new TransformAbility()); Ability ability = new BeginningOfUpkeepTriggeredAbility( - new MillCardsControllerEffect(1), TargetController.YOU, false + new MillCardsControllerEffect(1) ); ability.addEffect(new ConditionalOneShotEffect( new TransformSourceEffect(), condition, diff --git a/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java b/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java index 7598a3d6e63..b7b810ff21a 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java +++ b/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -34,7 +34,7 @@ public final class DeathsporeThallid extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a spore counter on Deathspore Thallid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Deathspore Thallid: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), diff --git a/Mage.Sets/src/mage/cards/d/DebtorsKnell.java b/Mage.Sets/src/mage/cards/d/DebtorsKnell.java index da8c58450d3..74f7ae48951 100644 --- a/Mage.Sets/src/mage/cards/d/DebtorsKnell.java +++ b/Mage.Sets/src/mage/cards/d/DebtorsKnell.java @@ -3,15 +3,12 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; -import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInGraveyard; /** @@ -26,7 +23,7 @@ public final class DebtorsKnell extends CardImpl { // ({WB} can be paid with either {W} or {B}.) // At the beginning of your upkeep, put target creature card from a graveyard onto the battlefield under your control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect()); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DecayingSoil.java b/Mage.Sets/src/mage/cards/d/DecayingSoil.java index fb14d5d6f95..a36c56ab1f4 100644 --- a/Mage.Sets/src/mage/cards/d/DecayingSoil.java +++ b/Mage.Sets/src/mage/cards/d/DecayingSoil.java @@ -1,6 +1,6 @@ package mage.cards.d; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ThresholdCondition; @@ -39,10 +39,8 @@ public final class DecayingSoil extends CardImpl { // At the beginning of your upkeep, exile a card from your graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new ExileFromZoneTargetEffect(Zone.GRAVEYARD, false) - .setText("exile a card from your graveyard"), - TargetController.YOU, false, true + .setText("exile a card from your graveyard") )); // Threshold - As long as seven or more cards are in your graveyard, Decaying Soil has "Whenever a nontoken creature is put into your graveyard from the battlefield, you may pay {1}. If you do, return that card to your hand." diff --git a/Mage.Sets/src/mage/cards/d/DeepSpawn.java b/Mage.Sets/src/mage/cards/d/DeepSpawn.java index 53085285a8a..97146f30983 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSpawn.java +++ b/Mage.Sets/src/mage/cards/d/DeepSpawn.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.MillCardsCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -20,7 +20,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -40,7 +39,7 @@ public final class DeepSpawn extends CardImpl { // At the beginning of your upkeep, sacrifice Deep Spawn unless you put the top two cards of your library into your graveyard. Effect effect = new SacrificeSourceUnlessPaysEffect(new MillCardsCost(2)); effect.setText("sacrifice {this} unless you mill two cards"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // {U}: Deep Spawn gains shroud until end of turn and doesn't untap during your next untap step. Tap Deep Spawn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect( ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{U}")); diff --git a/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java b/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java index d1d06542bfd..7c5aa889e76 100644 --- a/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java +++ b/Mage.Sets/src/mage/cards/d/DefenseOfTheHeart.java @@ -4,7 +4,7 @@ import java.util.Set; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -12,8 +12,6 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; import mage.target.common.TargetCardInLibrary; @@ -28,7 +26,7 @@ public final class DefenseOfTheHeart extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}"); // At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice Defense of the Heart, search your library for up to two creature cards, and put those cards onto the battlefield. Then shuffle your library. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()); ability.addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_CREATURE), false)); DefenseOfTheHeartCondition contition = new DefenseOfTheHeartCondition(); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if an opponent controls three or more creatures, sacrifice {this}, search your library for up to two creature cards, put those cards onto the battlefield, then shuffle")); diff --git a/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java b/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java index ecf6f096ad3..8a51f59b8e0 100644 --- a/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java +++ b/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -9,7 +9,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.MonocoloredPredicate; @@ -21,7 +20,7 @@ import java.util.UUID; */ public final class DefilerOfSouls extends CardImpl { - private static FilterCreaturePermanent filter = new FilterCreaturePermanent("monocolored creature"); + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("monocolored creature"); static { filter.add(MonocoloredPredicate.instance); } @@ -37,8 +36,8 @@ public final class DefilerOfSouls extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of each player's upkeep, that player sacrifices a monocolored creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new SacrificeEffect(filter, 1, "that player"), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + TargetController.EACH_PLAYER, new SacrificeEffect(filter, 1, "that player"), false)); } private DefilerOfSouls(final DefilerOfSouls card) { diff --git a/Mage.Sets/src/mage/cards/d/DelayingShield.java b/Mage.Sets/src/mage/cards/d/DelayingShield.java index 6c96c95b81a..a2daebff08d 100644 --- a/Mage.Sets/src/mage/cards/d/DelayingShield.java +++ b/Mage.Sets/src/mage/cards/d/DelayingShield.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -34,7 +34,7 @@ public final class DelayingShield extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DelayingShieldReplacementEffect())); // At the beginning of your upkeep, remove all delay counters from Delaying Shield. For each delay counter removed this way, you lose 1 life unless you pay {1}{W}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DelayingShieldUpkeepEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DelayingShieldUpkeepEffect())); } private DelayingShield(final DelayingShield card) { diff --git a/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java b/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java index 44ccebee2e4..ec29df45be6 100644 --- a/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java +++ b/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.keyword.TransformAbility; @@ -13,7 +13,6 @@ import mage.cards.*; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.common.FilterInstantOrSorceryCard; import mage.game.Game; @@ -37,7 +36,7 @@ public final class DelverOfSecrets extends CardImpl { // At the beginning of your upkeep, look at the top card of your library. You may reveal that card. If an instant or sorcery card is revealed this way, transform Delver of Secrets. this.addAbility(new TransformAbility()); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DelverOfSecretsEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DelverOfSecretsEffect())); } private DelverOfSecrets(final DelverOfSecrets card) { diff --git a/Mage.Sets/src/mage/cards/d/DemonicAppetite.java b/Mage.Sets/src/mage/cards/d/DemonicAppetite.java index a127dcf44b7..1041cb6bf07 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicAppetite.java +++ b/Mage.Sets/src/mage/cards/d/DemonicAppetite.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.SacrificeControllerEffect; @@ -37,8 +37,8 @@ public final class DemonicAppetite extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield))); // At the beginning of your upkeep, sacrifice a creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_A_CREATURE, 1, ""), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_A_CREATURE, 1, "") + )); } private DemonicAppetite(final DemonicAppetite card) { diff --git a/Mage.Sets/src/mage/cards/d/DemonicHordes.java b/Mage.Sets/src/mage/cards/d/DemonicHordes.java index 376c3b5c03f..4e42f462993 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicHordes.java +++ b/Mage.Sets/src/mage/cards/d/DemonicHordes.java @@ -5,7 +5,7 @@ import java.util.Locale; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.TapSourceCost; @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -47,7 +46,7 @@ public final class DemonicHordes extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, unless you pay {B}{B}{B}, tap Demonic Hordes and sacrifice a land of an opponent's choice. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DemonicHordesEffect(new ManaCostsImpl<>("{B}{B}{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DemonicHordesEffect(new ManaCostsImpl<>("{B}{B}{B}")))); } private DemonicHordes(final DemonicHordes card) { diff --git a/Mage.Sets/src/mage/cards/d/DemonicPact.java b/Mage.Sets/src/mage/cards/d/DemonicPact.java index c74308e2c30..fa3332d6820 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicPact.java +++ b/Mage.Sets/src/mage/cards/d/DemonicPact.java @@ -3,7 +3,7 @@ package mage.cards.d; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -14,7 +14,6 @@ import mage.abilities.hint.common.ModesAlreadyUsedHint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.target.common.TargetAnyTarget; import mage.target.common.TargetOpponent; @@ -31,7 +30,7 @@ public final class DemonicPact extends CardImpl { // At the beginning of your upkeep, choose one that hasn't been chosen // - Demonic Pact deals 4 damage to any target and you gain 4 life; - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(4), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(4)); ability.setModeTag("deals damage and gain life"); ability.getModes().setLimitUsageByOnce(false); ability.addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java b/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java index 4fea076e2b9..d3059c545f2 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java +++ b/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java @@ -4,14 +4,13 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -37,7 +36,7 @@ public final class DemonicTaskmaster extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice a creature other than Demonic Taskmaster. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(filter, 1, ""), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(filter, 1, "")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java b/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java index 755edc5bdca..a4e073866f9 100644 --- a/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java +++ b/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -34,7 +33,7 @@ public final class DescendantOfMasumaro extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a +1/+1 counter on Descendant of Masumaro for each card in your hand, then remove a +1/+1 counter from Descendant of Masumaro for each card in target opponent's hand. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DescendantOfMasumaroEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DescendantOfMasumaroEffect()); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DescendantsPath.java b/Mage.Sets/src/mage/cards/d/DescendantsPath.java index 103ddc68a7e..ca765656f63 100644 --- a/Mage.Sets/src/mage/cards/d/DescendantsPath.java +++ b/Mage.Sets/src/mage/cards/d/DescendantsPath.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -9,7 +9,6 @@ import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -29,7 +28,7 @@ public final class DescendantsPath extends CardImpl { // At the beginning of your upkeep, reveal the top card of your library. // If it's a creature card that shares a creature type with a creature you control, // you may cast that card without paying its mana cost. Otherwise, put that card on the bottom of your library. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DescendantsPathEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DescendantsPathEffect())); } private DescendantsPath(final DescendantsPath card) { diff --git a/Mage.Sets/src/mage/cards/d/DescentIntoAvernus.java b/Mage.Sets/src/mage/cards/d/DescentIntoAvernus.java index 086991ac6a9..f66870d0121 100644 --- a/Mage.Sets/src/mage/cards/d/DescentIntoAvernus.java +++ b/Mage.Sets/src/mage/cards/d/DescentIntoAvernus.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.CreateTokenAllEffect; @@ -29,8 +29,7 @@ public final class DescentIntoAvernus extends CardImpl { // At the beginning of your upkeep, put two descent counters on Descent into Avernus. Then each player creates X Treasure tokens and Descent into Avernus deals X damage to each player, where X is the number of descent counters on Descent into Avernus. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.DESCENT.createInstance(2)), - TargetController.YOU, false + new AddCountersSourceEffect(CounterType.DESCENT.createInstance(2)) ); ability.addEffect(new CreateTokenAllEffect( new TreasureToken(), xValue, TargetController.EACH_PLAYER diff --git a/Mage.Sets/src/mage/cards/d/DescentIntoMadness.java b/Mage.Sets/src/mage/cards/d/DescentIntoMadness.java index dae416de5b2..62a1a604bcb 100644 --- a/Mage.Sets/src/mage/cards/d/DescentIntoMadness.java +++ b/Mage.Sets/src/mage/cards/d/DescentIntoMadness.java @@ -1,14 +1,13 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterCard; @@ -52,7 +51,7 @@ public final class DescentIntoMadness extends CardImpl { // At the beginning of your upkeep, put a despair counter on Descent into Madness, then each player exiles X permanents they control and/or cards from their hand, where X is the number of despair counters on Descent into Madness. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DescentIntoMadnessEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DescentIntoMadnessEffect())); } private DescentIntoMadness(final DescentIntoMadness card) { diff --git a/Mage.Sets/src/mage/cards/d/DestructiveFlow.java b/Mage.Sets/src/mage/cards/d/DestructiveFlow.java index 8047265dad7..d95f4d9fbad 100644 --- a/Mage.Sets/src/mage/cards/d/DestructiveFlow.java +++ b/Mage.Sets/src/mage/cards/d/DestructiveFlow.java @@ -2,7 +2,7 @@ package mage.cards.d; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -20,8 +20,8 @@ public final class DestructiveFlow extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{R}{G}"); // At the beginning of each player's upkeep, that player sacrifices a nonbasic land. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(FilterLandPermanent.nonbasicLand(), 1, "that player"), - TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new SacrificeEffect(FilterLandPermanent.nonbasicLand(), 1, "that player"), + false)); } diff --git a/Mage.Sets/src/mage/cards/d/DevouringStrossus.java b/Mage.Sets/src/mage/cards/d/DevouringStrossus.java index d2576b1e029..63fe6ee84f6 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringStrossus.java +++ b/Mage.Sets/src/mage/cards/d/DevouringStrossus.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.RegenerateSourceEffect; @@ -15,11 +15,9 @@ 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 mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; -import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -39,8 +37,8 @@ public final class DevouringStrossus extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice a creature. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(new FilterControlledCreaturePermanent("creature"), 1, null), - TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(new FilterControlledCreaturePermanent("creature"), 1, null) + ); this.addAbility(ability); // Sacrifice a creature: Regenerate Devouring Strossus. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), diff --git a/Mage.Sets/src/mage/cards/d/DevouringSugarmaw.java b/Mage.Sets/src/mage/cards/d/DevouringSugarmaw.java index 7d05d4df5db..b44702168ac 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringSugarmaw.java +++ b/Mage.Sets/src/mage/cards/d/DevouringSugarmaw.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.DoIfCostPaid; @@ -12,7 +12,6 @@ import mage.cards.AdventureCard; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.TokenPredicate; @@ -57,9 +56,7 @@ public final class DevouringSugarmaw extends AdventureCard { new TapSourceEffect(), new SacrificeTargetCost(filter), true - ), - TargetController.YOU, - false + ) )); // Have for Dinner diff --git a/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java b/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java index 5ad1fee36be..6bd7aa7bfd3 100644 --- a/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java +++ b/Mage.Sets/src/mage/cards/d/DiscerningFinancier.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.OpponentControlsMoreCondition; @@ -55,8 +55,7 @@ public final class DiscerningFinancier extends CardImpl { // At the beginning of your upkeep, if an opponent controls more lands than you, create a Treasure token. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new TreasureToken()), - TargetController.YOU, false + new CreateTokenEffect(new TreasureToken()), false ), condition, "At the beginning of your upkeep, if an opponent controls more lands than you, create a Treasure token." diff --git a/Mage.Sets/src/mage/cards/d/DiscordantDirge.java b/Mage.Sets/src/mage/cards/d/DiscordantDirge.java index 58953d8e1c6..3006b979edf 100644 --- a/Mage.Sets/src/mage/cards/d/DiscordantDirge.java +++ b/Mage.Sets/src/mage/cards/d/DiscordantDirge.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -30,8 +29,8 @@ public final class DiscordantDirge extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}{B}"); // At the beginning of your upkeep, you may put a verse counter on Discordant Dirge. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // {B}, Sacrifice Discordant Dirge: Look at target opponent's hand and choose up to X cards from it, where X is the number of verse counters on Discordant Dirge. That player discards those cards. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/d/DiseasedVermin.java b/Mage.Sets/src/mage/cards/d/DiseasedVermin.java index cac7ee707aa..cc0d2f0ee1e 100644 --- a/Mage.Sets/src/mage/cards/d/DiseasedVermin.java +++ b/Mage.Sets/src/mage/cards/d/DiseasedVermin.java @@ -5,7 +5,7 @@ import java.util.Set; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -14,9 +14,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.WatcherScope; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterOpponent; import mage.filter.predicate.ObjectSourcePlayer; @@ -49,10 +47,8 @@ public final class DiseasedVermin extends CardImpl { // At the beginning of your upkeep, Diseased Vermin deals X damage to target opponent previously dealt damage by it, where X is the number of infection counters on it. Ability ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new DiseasedVerminEffect(), - TargetController.YOU, - false); + new DiseasedVerminEffect() + ); ability.addWatcher(new DiseasedVerminWatcher()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DisruptionAura.java b/Mage.Sets/src/mage/cards/d/DisruptionAura.java index 25107c40bd8..10653f75037 100644 --- a/Mage.Sets/src/mage/cards/d/DisruptionAura.java +++ b/Mage.Sets/src/mage/cards/d/DisruptionAura.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.effects.Effect; @@ -38,7 +38,7 @@ public final class DisruptionAura extends CardImpl { Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted artifact has "At the beginning of your upkeep, sacrifice this artifact unless you pay its mana cost." - ability = new BeginningOfUpkeepTriggeredAbility(new DisruptionAuraEffect(), TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility(new DisruptionAuraEffect()); Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA); effect.setText("Enchanted artifact has \"At the beginning of your upkeep, sacrifice this artifact unless you pay its mana cost.\""); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); diff --git a/Mage.Sets/src/mage/cards/d/DivineIntervention.java b/Mage.Sets/src/mage/cards/d/DivineIntervention.java index 964928a4f2e..157bb983a15 100644 --- a/Mage.Sets/src/mage/cards/d/DivineIntervention.java +++ b/Mage.Sets/src/mage/cards/d/DivineIntervention.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -35,7 +34,7 @@ public final class DivineIntervention extends CardImpl { this.addAbility(new EntersBattlefieldAbility(effect, "with two intervention counters on it")); // At the beginning of your upkeep, remove an intervention counter from Divine Intervention. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.INTERVENTION.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.INTERVENTION.createInstance()))); // When you remove the last intervention counter from Divine Intervention, the game is a draw. this.addAbility(new DivineInterventionAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DominusOfFealty.java b/Mage.Sets/src/mage/cards/d/DominusOfFealty.java index dfc4b67c2a6..3207fc43586 100644 --- a/Mage.Sets/src/mage/cards/d/DominusOfFealty.java +++ b/Mage.Sets/src/mage/cards/d/DominusOfFealty.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.UntapTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.target.TargetPermanent; /** @@ -32,7 +31,7 @@ public final class DominusOfFealty extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new GainControlTargetEffect(Duration.EndOfTurn), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new GainControlTargetEffect(Duration.EndOfTurn), true); ability.addEffect(new UntapTargetEffect().setText("If you do, untap it")); ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("and it gains haste until end of turn")); ability.addTarget(new TargetPermanent()); diff --git a/Mage.Sets/src/mage/cards/d/DoomForetold.java b/Mage.Sets/src/mage/cards/d/DoomForetold.java index 2264f51dbd6..757f9ec0636 100644 --- a/Mage.Sets/src/mage/cards/d/DoomForetold.java +++ b/Mage.Sets/src/mage/cards/d/DoomForetold.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; @@ -32,7 +32,7 @@ public final class DoomForetold extends CardImpl { // At the beginning of each player's upkeep, that player sacrifices a nonland, nontoken permanent. If that player can't, they discard a card, they lose 2 life, you draw a card, you gain 2 life, you create a 2/2 white Knight creature token with vigilance, then you sacrifice Doom Foretold. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DoomForetoldEffect(), TargetController.ACTIVE, false + TargetController.EACH_PLAYER, new DoomForetoldEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/d/Doomgape.java b/Mage.Sets/src/mage/cards/d/Doomgape.java index e3f94df0b1d..392f1bd29ce 100644 --- a/Mage.Sets/src/mage/cards/d/Doomgape.java +++ b/Mage.Sets/src/mage/cards/d/Doomgape.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; @@ -12,14 +12,10 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetSacrifice; /** @@ -40,7 +36,7 @@ public final class Doomgape extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice a creature. You gain life equal to that creature's toughness. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DoomgapeEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoomgapeEffect())); } diff --git a/Mage.Sets/src/mage/cards/d/DoomsdayExcruciator.java b/Mage.Sets/src/mage/cards/d/DoomsdayExcruciator.java index b064457bc05..4b3ac468b2a 100644 --- a/Mage.Sets/src/mage/cards/d/DoomsdayExcruciator.java +++ b/Mage.Sets/src/mage/cards/d/DoomsdayExcruciator.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.CastFromEverywhereSourceCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -43,7 +43,7 @@ public final class DoomsdayExcruciator extends CardImpl { // At the beginning of your upkeep, draw a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DrawCardSourceControllerEffect(1), TargetController.YOU, false + new DrawCardSourceControllerEffect(1) )); } diff --git a/Mage.Sets/src/mage/cards/d/DoricOwlbearAvenger.java b/Mage.Sets/src/mage/cards/d/DoricOwlbearAvenger.java index 181d461e4cd..d0b2a139437 100644 --- a/Mage.Sets/src/mage/cards/d/DoricOwlbearAvenger.java +++ b/Mage.Sets/src/mage/cards/d/DoricOwlbearAvenger.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.TransformIntoSourceTriggeredAbility; import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; @@ -54,7 +54,7 @@ public final class DoricOwlbearAvenger extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, transform Doric. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect())); } private DoricOwlbearAvenger(final DoricOwlbearAvenger card) { diff --git a/Mage.Sets/src/mage/cards/d/Draco.java b/Mage.Sets/src/mage/cards/d/Draco.java index 53ae686def5..673ffaaeb47 100644 --- a/Mage.Sets/src/mage/cards/d/Draco.java +++ b/Mage.Sets/src/mage/cards/d/Draco.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.dynamicvalue.common.DomainValue; @@ -39,7 +39,7 @@ public final class Draco extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.ALL, new DracoCostReductionEffect()).addHint(DomainHint.instance)); // Domain - At the beginning of your upkeep, sacrifice Draco unless you pay {10}. This cost is reduced by {2} for each basic land type among lands you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DracoSacrificeUnlessPaysEffect(), TargetController.YOU, false) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DracoSacrificeUnlessPaysEffect()) .setAbilityWord(AbilityWord.DOMAIN)); } diff --git a/Mage.Sets/src/mage/cards/d/DragonBroodmother.java b/Mage.Sets/src/mage/cards/d/DragonBroodmother.java index 490af7b814b..7731ea7471f 100644 --- a/Mage.Sets/src/mage/cards/d/DragonBroodmother.java +++ b/Mage.Sets/src/mage/cards/d/DragonBroodmother.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -30,8 +30,8 @@ public final class DragonBroodmother extends CardImpl { // At the beginning of each upkeep, create a 1/1 red and green Dragon creature token with flying and devour 2. (As the token enters the battlefield, you may sacrifice any number of creatures. It enters the battlefield with twice that many +1/+1 counters on it.) this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new DragonBroodmotherDragonToken()), - TargetController.EACH_PLAYER, false + TargetController.ANY, new CreateTokenEffect(new DragonBroodmotherDragonToken()), + false )); } diff --git a/Mage.Sets/src/mage/cards/d/DragonTyrant.java b/Mage.Sets/src/mage/cards/d/DragonTyrant.java index 921ef0426c2..2d88fe16918 100644 --- a/Mage.Sets/src/mage/cards/d/DragonTyrant.java +++ b/Mage.Sets/src/mage/cards/d/DragonTyrant.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -38,7 +37,7 @@ public final class DragonTyrant extends CardImpl { // Double strike this.addAbility(DoubleStrikeAbility.getInstance()); // At the beginning of your upkeep, sacrifice Dragon Tyrant unless you pay {R}{R}{R}{R}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{R}{R}{R}{R}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{R}{R}{R}{R}")))); // {R}: Dragon Tyrant gets +1/+0 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"))); } diff --git a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java index 6fda5d514b6..493688e506c 100644 --- a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java +++ b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.game.permanent.token.DragonToken2; @@ -41,7 +40,7 @@ public final class DragonmasterOutcast extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, if you control six or more lands, create a 5/5 red Dragon creature token with flying. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new DragonToken2(), 1), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new DragonToken2(), 1)); this.addAbility(new ConditionalInterveningIfTriggeredAbility( ability, new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 5), "At the beginning of your upkeep, if you control six or more lands, create a 5/5 red Dragon creature token with flying." diff --git a/Mage.Sets/src/mage/cards/d/DranasEmissary.java b/Mage.Sets/src/mage/cards/d/DranasEmissary.java index 7b72d9f124c..84b9e4b75de 100644 --- a/Mage.Sets/src/mage/cards/d/DranasEmissary.java +++ b/Mage.Sets/src/mage/cards/d/DranasEmissary.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -35,7 +34,7 @@ public final class DranasEmissary extends CardImpl { // At the beginning of your upkeep, each opponent loses 1 life and you gain 1 life. Effect effect = new GainLifeEffect(1); effect.setText("and you gain 1 life"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsEffect(1), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsEffect(1)); ability.addEffect(effect); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DreadhordeInvasion.java b/Mage.Sets/src/mage/cards/d/DreadhordeInvasion.java index ab68504e7be..a8bac4685ba 100644 --- a/Mage.Sets/src/mage/cards/d/DreadhordeInvasion.java +++ b/Mage.Sets/src/mage/cards/d/DreadhordeInvasion.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.abilities.Ability; import mage.abilities.common.AttacksAllTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.effects.keyword.AmassEffect; @@ -35,7 +35,7 @@ public final class DreadhordeInvasion extends CardImpl { // At the beginning of your upkeep, you lose 1 life and amass 1. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new LoseLifeSourceControllerEffect(1), TargetController.YOU, false + new LoseLifeSourceControllerEffect(1) ); ability.addEffect(new AmassEffect(1, SubType.ZOMBIE).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/d/DreamTides.java b/Mage.Sets/src/mage/cards/d/DreamTides.java index 46d2dc3c56a..72ba7428972 100644 --- a/Mage.Sets/src/mage/cards/d/DreamTides.java +++ b/Mage.Sets/src/mage/cards/d/DreamTides.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; @@ -36,7 +36,7 @@ public final class DreamTides extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, StaticFilters.FILTER_PERMANENT_CREATURES))); // At the beginning of each player's upkeep, that player may choose any number of tapped nongreen creatures they control and pay {2} for each creature chosen this way. If the player does, untap those creatures. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DreamTidesEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new DreamTidesEffect(), false)); } private DreamTides(final DreamTides card) { diff --git a/Mage.Sets/src/mage/cards/d/DreambornMuse.java b/Mage.Sets/src/mage/cards/d/DreambornMuse.java index 09130a3b52d..5861eb70659 100644 --- a/Mage.Sets/src/mage/cards/d/DreambornMuse.java +++ b/Mage.Sets/src/mage/cards/d/DreambornMuse.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.CardsInTargetPlayerHandCount; import mage.abilities.effects.common.MillCardsTargetEffect; import mage.cards.CardImpl; @@ -26,7 +26,7 @@ public final class DreambornMuse extends CardImpl { // At the beginning of each player's upkeep, that player puts the top X cards of their library into their graveyard, where X is the number of cards in their hand. MillCardsTargetEffect effect = new MillCardsTargetEffect(CardsInTargetPlayerHandCount.instance); effect.setText("that player mills X cards, where X is the number of cards in their hand"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, effect, false)); } private DreambornMuse(final DreambornMuse card) { diff --git a/Mage.Sets/src/mage/cards/d/DreampodDruid.java b/Mage.Sets/src/mage/cards/d/DreampodDruid.java index d5d469a71b0..f11aafc15a0 100644 --- a/Mage.Sets/src/mage/cards/d/DreampodDruid.java +++ b/Mage.Sets/src/mage/cards/d/DreampodDruid.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.EnchantedSourceCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.permanent.token.SaprolingToken; /** @@ -31,7 +30,7 @@ public final class DreampodDruid extends CardImpl { // At the beginning of each upkeep, if Dreampod Druid is enchanted, create a 1/1 green Saproling creature token. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken(), 1), TargetController.ANY, false, false), + new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new SaprolingToken(), 1), false), new EnchantedSourceCondition(), "At the beginning of each upkeep, if Dreampod Druid is enchanted, create a 1/1 green Saproling creature token.")); } diff --git a/Mage.Sets/src/mage/cards/d/DrifterIlDal.java b/Mage.Sets/src/mage/cards/d/DrifterIlDal.java index b323330fd95..8f9817107c2 100644 --- a/Mage.Sets/src/mage/cards/d/DrifterIlDal.java +++ b/Mage.Sets/src/mage/cards/d/DrifterIlDal.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.ShadowAbility; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -29,7 +28,7 @@ public final class DrifterIlDal extends CardImpl { // Shadow this.addAbility(ShadowAbility.getInstance()); // At the beginning of your upkeep, sacrifice Drifter il-Dal unless you pay {U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")))); } private DrifterIlDal(final DrifterIlDal card) { diff --git a/Mage.Sets/src/mage/cards/d/DriftingDjinn.java b/Mage.Sets/src/mage/cards/d/DriftingDjinn.java index 2d2bc895237..ccde15a5810 100644 --- a/Mage.Sets/src/mage/cards/d/DriftingDjinn.java +++ b/Mage.Sets/src/mage/cards/d/DriftingDjinn.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.CyclingAbility; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class DriftingDjinn extends CardImpl { this.power = new MageInt(5); this.toughness = new MageInt(5); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")))); this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}"))); } diff --git a/Mage.Sets/src/mage/cards/d/DropOfHoney.java b/Mage.Sets/src/mage/cards/d/DropOfHoney.java index 61c97eec778..2c4d374f970 100644 --- a/Mage.Sets/src/mage/cards/d/DropOfHoney.java +++ b/Mage.Sets/src/mage/cards/d/DropOfHoney.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.StateTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; @@ -34,7 +33,7 @@ public final class DropOfHoney extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); // At the beginning of your upkeep, destroy the creature with the least power. It can't be regenerated. If two or more creatures are tied for least power, you choose one of them. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DropOfHoneyEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DropOfHoneyEffect())); // When there are no creatures on the battlefield, sacrifice Drop of Honey. this.addAbility(new DropOfHoneyStateTriggeredAbility()); } @@ -126,4 +125,4 @@ class DropOfHoneyStateTriggeredAbility extends StateTriggeredAbility { public boolean checkTrigger(GameEvent event, Game game) { return game.getBattlefield().count(StaticFilters.FILTER_PERMANENT_CREATURES, this.getControllerId(), this, game) == 0; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/d/Drought.java b/Mage.Sets/src/mage/cards/d/Drought.java index 419c8c03eb1..a68cf5850ef 100644 --- a/Mage.Sets/src/mage/cards/d/Drought.java +++ b/Mage.Sets/src/mage/cards/d/Drought.java @@ -1,7 +1,7 @@ package mage.cards.d; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -24,7 +24,7 @@ public final class Drought extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); // At the beginning of your upkeep, sacrifice Drought unless you pay {W}{W}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")))); // Spells cost an additional "Sacrifice a Swamp" to cast for each black mana symbol in their mana costs. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DroughtAdditionalCostEffect(true))); diff --git a/Mage.Sets/src/mage/cards/d/Duplicity.java b/Mage.Sets/src/mage/cards/d/Duplicity.java index c2af747c793..8423a1fd735 100644 --- a/Mage.Sets/src/mage/cards/d/Duplicity.java +++ b/Mage.Sets/src/mage/cards/d/Duplicity.java @@ -7,7 +7,7 @@ import mage.MageObject; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; import mage.abilities.StaticAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.Effect; @@ -21,7 +21,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -41,7 +40,7 @@ public final class Duplicity extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new DuplicityEffect(), false)); // At the beginning of your upkeep, you may exile all cards from your hand face down. If you do, put all other cards you own exiled with Duplicity into your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DuplicityExileHandEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DuplicityExileHandEffect(), true)); // At the beginning of your end step, discard a card. this.addAbility(new BeginningOfYourEndStepTriggeredAbility(new DiscardControllerEffect(1), false)); diff --git a/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java b/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java index 7aa4bad8d0e..99399f1f9db 100644 --- a/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java +++ b/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java @@ -2,7 +2,7 @@ package mage.cards.d; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.Card; @@ -33,7 +33,7 @@ public final class DuskmantleSeer extends CardImpl { // At the beginning of your upkeep, each player reveals the top card of their library, loses life equal to that card's converted mana cost, then puts it into their hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DuskmantleSeerEffect(), TargetController.YOU, false + new DuskmantleSeerEffect() )); } diff --git a/Mage.Sets/src/mage/cards/d/DwarvenHold.java b/Mage.Sets/src/mage/cards/d/DwarvenHold.java index 2fc09a07c35..8641024f246 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenHold.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenHold.java @@ -4,7 +4,7 @@ package mage.cards.d; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SkipUntapOptionalAbility; import mage.abilities.condition.common.SourceTappedCondition; @@ -20,8 +20,6 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -40,7 +38,7 @@ public final class DwarvenHold extends CardImpl { // At the beginning of your upkeep, if Dwarven Hold is tapped, put a storage counter on it. OneShotEffect addStorageCounter = new AddCountersSourceEffect(CounterType.STORAGE.createInstance()); Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.TAPPED, "if {this} is tapped, put a storage counter on it"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // {tap}, Remove any number of storage counters from Dwarven Hold: Add {R} for each storage counter removed this way. Ability ability = new DynamicManaAbility( Mana.RedMana(1), diff --git a/Mage.Sets/src/mage/cards/d/Dystopia.java b/Mage.Sets/src/mage/cards/d/Dystopia.java index 7514ba1845e..d0d123e2c56 100644 --- a/Mage.Sets/src/mage/cards/d/Dystopia.java +++ b/Mage.Sets/src/mage/cards/d/Dystopia.java @@ -3,7 +3,7 @@ package mage.cards.d; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.SacrificeEffect; import mage.abilities.keyword.CumulativeUpkeepAbility; @@ -33,7 +33,7 @@ public final class Dystopia extends CardImpl { this.addAbility(new CumulativeUpkeepAbility(new PayLifeCost(1))); // At the beginning of each player's upkeep, that player sacrifices a green or white permanent. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(filter, 1, "that player"), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new SacrificeEffect(filter, 1, "that player"), false)); } private Dystopia(final Dystopia card) { diff --git a/Mage.Sets/src/mage/cards/e/Earthlink.java b/Mage.Sets/src/mage/cards/e/Earthlink.java index f0ed0d797f7..3d33712a78b 100644 --- a/Mage.Sets/src/mage/cards/e/Earthlink.java +++ b/Mage.Sets/src/mage/cards/e/Earthlink.java @@ -3,7 +3,7 @@ package mage.cards.e; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -32,7 +31,7 @@ public final class Earthlink extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}{R}{G}"); // At the beginning of your upkeep, sacrifice Earthlink unless you pay {2}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{2}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{2}")))); // Whenever a creature dies, that creature's controller sacrifices a land. this.addAbility(new DiesCreatureTriggeredAbility(new EarthlinkEffect(), false, false, true)); diff --git a/Mage.Sets/src/mage/cards/e/EbonPraetor.java b/Mage.Sets/src/mage/cards/e/EbonPraetor.java index 75d26ebea4f..46fbd45637e 100644 --- a/Mage.Sets/src/mage/cards/e/EbonPraetor.java +++ b/Mage.Sets/src/mage/cards/e/EbonPraetor.java @@ -4,7 +4,7 @@ package mage.cards.e; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.LimitedTimesPerTurnActivatedAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.Cost; @@ -21,7 +21,6 @@ import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -43,7 +42,7 @@ public final class EbonPraetor extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, put a -2/-2 counter on Ebon Praetor. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.M2M2.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.M2M2.createInstance()))); // Sacrifice a creature: Remove a -2/-2 counter from Ebon Praetor. If the sacrificed creature was a Thrull, put a +1/+0 counter on Ebon Praetor. Activate this ability only during your upkeep and only once each turn. Ability ability = new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new RemoveCounterSourceEffect(CounterType.M2M2.createInstance()), diff --git a/Mage.Sets/src/mage/cards/e/EdgarMarkovsCoffin.java b/Mage.Sets/src/mage/cards/e/EdgarMarkovsCoffin.java index db3b4c7ccc7..2b1d0310f07 100644 --- a/Mage.Sets/src/mage/cards/e/EdgarMarkovsCoffin.java +++ b/Mage.Sets/src/mage/cards/e/EdgarMarkovsCoffin.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -33,8 +32,7 @@ public final class EdgarMarkovsCoffin extends CardImpl { // At the beginning of your upkeep, create a 1/1 white and black Vampire creature token with lifelink and put a bloodline counter on Edgar Markov's Coffin. Then if there are three or more bloodline counters on it, remove those counters and transform it. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new EdgarMarkovsCoffinVampireToken()), - TargetController.YOU, false + new CreateTokenEffect(new EdgarMarkovsCoffinVampireToken()) ); ability.addEffect(new AddCountersSourceEffect( CounterType.BLOODLINE.createInstance() diff --git a/Mage.Sets/src/mage/cards/e/EgonGodOfDeath.java b/Mage.Sets/src/mage/cards/e/EgonGodOfDeath.java index e17b7bf36e2..8407f8b5438 100644 --- a/Mage.Sets/src/mage/cards/e/EgonGodOfDeath.java +++ b/Mage.Sets/src/mage/cards/e/EgonGodOfDeath.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.costs.common.TapSourceCost; @@ -48,7 +48,7 @@ public final class EgonGodOfDeath extends ModalDoubleFacedCard { effect.addOtherwiseEffect(new DrawCardSourceControllerEffect(1)); effect.setText("exile two cards from your graveyard. If you can't, sacrifice {this} and draw a card."); this.getLeftHalfCard().addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, effect, TargetController.YOU, false, false + effect )); // 2. @@ -56,7 +56,7 @@ public final class EgonGodOfDeath extends ModalDoubleFacedCard { // Legendary Artifact // At the beginning of your upkeep, mill a card. this.getRightHalfCard().addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new MillCardsControllerEffect(1), TargetController.YOU, false, false + new MillCardsControllerEffect(1) )); // {2}{B}, {T}, Exile a creature card from your graveyard: Draw a card diff --git a/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java b/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java index 88e38edf779..579624c1bbd 100644 --- a/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java +++ b/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java @@ -4,14 +4,13 @@ package mage.cards.e; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -35,7 +34,7 @@ public final class EiganjoFreeRiders extends CardImpl { this.toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, return a white creature you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter))); } private EiganjoFreeRiders(final EiganjoFreeRiders card) { diff --git a/Mage.Sets/src/mage/cards/e/ElaborateFirecannon.java b/Mage.Sets/src/mage/cards/e/ElaborateFirecannon.java index 5db44795e3c..335466a9809 100644 --- a/Mage.Sets/src/mage/cards/e/ElaborateFirecannon.java +++ b/Mage.Sets/src/mage/cards/e/ElaborateFirecannon.java @@ -3,7 +3,7 @@ package mage.cards.e; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.DiscardCardCost; @@ -16,7 +16,6 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetAnyTarget; @@ -39,8 +38,8 @@ public final class ElaborateFirecannon extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, you may discard a card. If you do, untap Elaborate Firecannon. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DoIfCostPaid( - new UntapSourceEffect(), new DiscardCardCost()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( + new UntapSourceEffect(), new DiscardCardCost()))); } diff --git a/Mage.Sets/src/mage/cards/e/ElderSpawn.java b/Mage.Sets/src/mage/cards/e/ElderSpawn.java index 4a01392d299..e46ab756408 100644 --- a/Mage.Sets/src/mage/cards/e/ElderSpawn.java +++ b/Mage.Sets/src/mage/cards/e/ElderSpawn.java @@ -3,7 +3,7 @@ package mage.cards.e; import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleEvasionAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.OneShotEffect; @@ -17,7 +17,6 @@ import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -39,7 +38,7 @@ public final class ElderSpawn extends CardImpl { this.toughness = new MageInt(6); // At the beginning of your upkeep, unless you sacrifice an Island, sacrifice Elder Spawn and it deals 6 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ElderSpawnEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ElderSpawnEffect())); // Elder Spawn can't be blocked by red creatures. this.addAbility(new SimpleEvasionAbility(new CantBeBlockedByCreaturesSourceEffect(filter, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/e/EldraziMonument.java b/Mage.Sets/src/mage/cards/e/EldraziMonument.java index d0fe929c77a..05f96e20925 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziMonument.java +++ b/Mage.Sets/src/mage/cards/e/EldraziMonument.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; @@ -46,7 +45,7 @@ public final class EldraziMonument extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, sacrifice a creature. If you can't, sacrifice Eldrazi Monument. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new EldraziMonumentEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new EldraziMonumentEffect())); } private EldraziMonument(final EldraziMonument card) { diff --git a/Mage.Sets/src/mage/cards/e/ElfhameSanctuary.java b/Mage.Sets/src/mage/cards/e/ElfhameSanctuary.java index e6ab4a87d27..9a89aa9f1bf 100644 --- a/Mage.Sets/src/mage/cards/e/ElfhameSanctuary.java +++ b/Mage.Sets/src/mage/cards/e/ElfhameSanctuary.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; @@ -29,7 +28,7 @@ public final class ElfhameSanctuary extends CardImpl { // At the beginning of your upkeep, you may search your library for a basic land card, reveal that card, and put it into your hand. If you do, you skip your draw step this turn and shuffle your library. Ability ability = new BeginningOfUpkeepTriggeredAbility(new SearchLibraryPutInHandEffect( new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true, true - ), TargetController.YOU, true); + ), true); ability.addEffect(new SkipDrawStepThisTurn()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/e/ElkinLair.java b/Mage.Sets/src/mage/cards/e/ElkinLair.java index 59a5f5544b1..12f11c07ab0 100644 --- a/Mage.Sets/src/mage/cards/e/ElkinLair.java +++ b/Mage.Sets/src/mage/cards/e/ElkinLair.java @@ -4,7 +4,7 @@ import java.util.Set; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -38,7 +38,7 @@ public final class ElkinLair extends CardImpl { // At the beginning of each player's upkeep, that player exiles a card at random from their hand. // The player may play that card this turn. // At the beginning of the next end step, if the player hasn't played the card, they put it into their graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ElkinLairUpkeepEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new ElkinLairUpkeepEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/e/ElvishFarmer.java b/Mage.Sets/src/mage/cards/e/ElvishFarmer.java index bfd0b1ff94c..3c778ae7c2d 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishFarmer.java +++ b/Mage.Sets/src/mage/cards/e/ElvishFarmer.java @@ -3,7 +3,7 @@ package mage.cards.e; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -14,12 +14,10 @@ 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 mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.SaprolingToken; -import mage.target.common.TargetControlledPermanent; /** * @@ -40,7 +38,7 @@ public final class ElvishFarmer extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a spore counter on Elvish Farmer. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Elvish Farmer: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); // Sacrifice a Saproling: You gain 2 life. diff --git a/Mage.Sets/src/mage/cards/e/Embargo.java b/Mage.Sets/src/mage/cards/e/Embargo.java index 05356a7a657..2a4680369d1 100644 --- a/Mage.Sets/src/mage/cards/e/Embargo.java +++ b/Mage.Sets/src/mage/cards/e/Embargo.java @@ -1,7 +1,7 @@ package mage.cards.e; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.DontUntapInControllersUntapStepAllEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -25,7 +25,7 @@ public final class Embargo extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, StaticFilters.FILTER_PERMANENTS_NON_LAND))); // At the beginning of your upkeep, you lose 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2))); } private Embargo(final Embargo card) { diff --git a/Mage.Sets/src/mage/cards/e/EmberwildeDjinn.java b/Mage.Sets/src/mage/cards/e/EmberwildeDjinn.java index caffc55913e..027f7e47f62 100644 --- a/Mage.Sets/src/mage/cards/e/EmberwildeDjinn.java +++ b/Mage.Sets/src/mage/cards/e/EmberwildeDjinn.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.OrCost; import mage.abilities.costs.common.PayLifeCost; @@ -42,7 +42,7 @@ public final class EmberwildeDjinn extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of each player's upkeep, that player may pay {R}{R} or 2 life. If they do, the player gains control of Emberwilde Djinn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new EmberwildeDjinnEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new EmberwildeDjinnEffect(), false)); } private EmberwildeDjinn(final EmberwildeDjinn card) { @@ -59,7 +59,7 @@ class EmberwildeDjinnEffect extends OneShotEffect { EmberwildeDjinnEffect() { super(Outcome.Benefit); - this.staticText = "that player may pay {R}{R} or 2 life. If they do, the player gains control of {this}"; + this.staticText = "that player may pay {R}{R} or 2 life. If the player does, they gain control of {this}"; } private EmberwildeDjinnEffect(final EmberwildeDjinnEffect effect) { diff --git a/Mage.Sets/src/mage/cards/e/EndlessEvil.java b/Mage.Sets/src/mage/cards/e/EndlessEvil.java index 98fe965b04f..e259defedc2 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessEvil.java +++ b/Mage.Sets/src/mage/cards/e/EndlessEvil.java @@ -3,8 +3,8 @@ package mage.cards.e; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.*; import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.game.events.GameEvent; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -43,9 +43,7 @@ public final class EndlessEvil extends CardImpl { // At the beginning of your upkeep, create a token that’s a copy of enchanted creature, except the token is 1/1. TriggeredAbility cloneAbility = new BeginningOfUpkeepTriggeredAbility( - new EndlessEvilCloneEffect(), - TargetController.YOU, - false + new EndlessEvilCloneEffect() ); this.addAbility(cloneAbility); diff --git a/Mage.Sets/src/mage/cards/e/EndlessHorizons.java b/Mage.Sets/src/mage/cards/e/EndlessHorizons.java index 9d1b4034796..d2c56e1a3f0 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessHorizons.java +++ b/Mage.Sets/src/mage/cards/e/EndlessHorizons.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; @@ -29,7 +29,7 @@ public final class EndlessHorizons extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new EndlessHorizonsEffect(), false)); // At the beginning of your upkeep, you may put a card you own exiled with Endless Horizons into your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new EndlessHorizonsEffect2(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new EndlessHorizonsEffect2())); } private EndlessHorizons(final EndlessHorizons card) { diff --git a/Mage.Sets/src/mage/cards/e/EndlessWurm.java b/Mage.Sets/src/mage/cards/e/EndlessWurm.java index 0b04ebeba9c..724e373d112 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessWurm.java +++ b/Mage.Sets/src/mage/cards/e/EndlessWurm.java @@ -2,7 +2,7 @@ package mage.cards.e; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.TrampleAbility; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledEnchantmentPermanent; import mage.filter.common.FilterControlledPermanent; @@ -33,7 +32,7 @@ public final class EndlessWurm extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice Endless Wurm unless you sacrifice an enchantment. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(filter)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(filter)))); } diff --git a/Mage.Sets/src/mage/cards/e/EnemyOfEnlightenment.java b/Mage.Sets/src/mage/cards/e/EnemyOfEnlightenment.java index fcb8028d324..018a1c0f8ab 100644 --- a/Mage.Sets/src/mage/cards/e/EnemyOfEnlightenment.java +++ b/Mage.Sets/src/mage/cards/e/EnemyOfEnlightenment.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -43,7 +42,7 @@ public final class EnemyOfEnlightenment extends CardImpl { // At the beginning of your upkeep, each player discards a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DiscardEachPlayerEffect(), TargetController.YOU, false + new DiscardEachPlayerEffect() )); } @@ -80,4 +79,4 @@ enum EnemyOfEnlightenmentValue implements DynamicValue { public String getMessage() { return ""; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/e/EnergyChamber.java b/Mage.Sets/src/mage/cards/e/EnergyChamber.java index 0bf0acd98f5..701574fb525 100644 --- a/Mage.Sets/src/mage/cards/e/EnergyChamber.java +++ b/Mage.Sets/src/mage/cards/e/EnergyChamber.java @@ -4,14 +4,12 @@ package mage.cards.e; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -38,7 +36,7 @@ public final class EnergyChamber extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); // At the beginning of your upkeep, choose one - Put a +1/+1 counter on target artifact creature; - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.P1P1.createInstance(), Outcome.BoostCreature), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance(), Outcome.BoostCreature)); ability.addTarget(new TargetPermanent(filter)); // or put a charge counter on target noncreature artifact. diff --git a/Mage.Sets/src/mage/cards/e/EnergyFlux.java b/Mage.Sets/src/mage/cards/e/EnergyFlux.java index bd755395f46..0e58be21c43 100644 --- a/Mage.Sets/src/mage/cards/e/EnergyFlux.java +++ b/Mage.Sets/src/mage/cards/e/EnergyFlux.java @@ -2,7 +2,7 @@ package mage.cards.e; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -30,9 +30,8 @@ public final class EnergyFlux extends CardImpl { Zone.BATTLEFIELD, new GainAbilityAllEffect( new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new GenericManaCost(2)), - TargetController.YOU, - false), + TargetController.YOU, new SacrificeSourceUnlessPaysEffect(new GenericManaCost(2)), + false), Duration.WhileOnBattlefield, new FilterArtifactPermanent(), "All artifacts have \"At the beginning of your upkeep, sacrifice this artifact unless you pay {2}.\""))); diff --git a/Mage.Sets/src/mage/cards/e/EnergyVortex.java b/Mage.Sets/src/mage/cards/e/EnergyVortex.java index c9d789e1dd7..85133397453 100644 --- a/Mage.Sets/src/mage/cards/e/EnergyVortex.java +++ b/Mage.Sets/src/mage/cards/e/EnergyVortex.java @@ -3,7 +3,7 @@ package mage.cards.e; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.Cost; @@ -39,14 +39,13 @@ public final class EnergyVortex extends CardImpl { // At the beginning of your upkeep, remove all vortex counters from Energy Vortex. this.addAbility(new BeginningOfUpkeepTriggeredAbility( new RemoveAllCountersSourceEffect(CounterType.VORTEX) - .setText("remove all vortex counters from {this}"), - TargetController.YOU, false + .setText("remove all vortex counters from {this}") )); // At the beginning of the chosen player's upkeep, Energy Vortex deals 3 damage to that player unless they pay {1} for each vortex counter on Energy Vortex. this.addAbility(new ConditionalTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new EnergyVortexEffect(), TargetController.ANY, false + TargetController.ANY, new EnergyVortexEffect(), false ), EnergyVortexCondition.instance, "At the beginning of the chosen player's upkeep, " + "{this} deals 3 damage to that player unless they pay {1} for each vortex counter on {this}." )); @@ -110,4 +109,4 @@ class EnergyVortexEffect extends OneShotEffect { } return player.damage(3, source.getSourceId(), source, game) > 0; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/e/Enslave.java b/Mage.Sets/src/mage/cards/e/Enslave.java index 002dd3f8ca8..72328da0b75 100644 --- a/Mage.Sets/src/mage/cards/e/Enslave.java +++ b/Mage.Sets/src/mage/cards/e/Enslave.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; @@ -38,7 +38,7 @@ public final class Enslave extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ControlEnchantedEffect())); // At the beginning of your upkeep, enchanted creature deals 1 damage to its owner. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new EnslaveEffect(), TargetController.YOU, false, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new EnslaveEffect())); } private Enslave(final Enslave card) { diff --git a/Mage.Sets/src/mage/cards/e/EntrailsFeaster.java b/Mage.Sets/src/mage/cards/e/EntrailsFeaster.java index 4c01db95901..9e2de0820b6 100644 --- a/Mage.Sets/src/mage/cards/e/EntrailsFeaster.java +++ b/Mage.Sets/src/mage/cards/e/EntrailsFeaster.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.filter.StaticFilters; -import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -31,7 +30,7 @@ public final class EntrailsFeaster extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, you may exile a creature card from a graveyard. If you do, put a +1/+1 counter on Entrails Feaster. If you don't, tap Entrails Feaster. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new EntrailsFeasterEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new EntrailsFeasterEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java index d92e8e8b141..6ea8d040ed6 100644 --- a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java +++ b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -42,8 +42,8 @@ public final class EpharaGodOfThePolis extends CardImpl { // At the beginning of each upkeep, if you had another creature enter the battlefield under your control last turn, draw a card. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), - TargetController.ANY, false, false + Zone.BATTLEFIELD, TargetController.ANY, new DrawCardSourceControllerEffect(1), + false ), EpharaGodOfThePolisCondition.instance, "At the beginning of each upkeep, " + "if you had another creature enter the battlefield under your control last turn, draw a card." ), new PermanentsEnteredBattlefieldWatcher()); diff --git a/Mage.Sets/src/mage/cards/e/EpicStruggle.java b/Mage.Sets/src/mage/cards/e/EpicStruggle.java index cf35b706bcc..de3aae322b9 100644 --- a/Mage.Sets/src/mage/cards/e/EpicStruggle.java +++ b/Mage.Sets/src/mage/cards/e/EpicStruggle.java @@ -2,7 +2,7 @@ package mage.cards.e; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.filter.StaticFilters; /** @@ -26,7 +25,7 @@ public final class EpicStruggle extends CardImpl { // At the beginning of your upkeep, if you control twenty or more creatures, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()), new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_CONTROLLED_CREATURE, ComparisonType.MORE_THAN, 19), "At the beginning of your upkeep, if you control twenty or more creatures, you win the game." ).addHint(new ValueHint("Creatures you control", new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE)))); diff --git a/Mage.Sets/src/mage/cards/e/Equipoise.java b/Mage.Sets/src/mage/cards/e/Equipoise.java index 673b96ee15e..57a898613c8 100644 --- a/Mage.Sets/src/mage/cards/e/Equipoise.java +++ b/Mage.Sets/src/mage/cards/e/Equipoise.java @@ -5,14 +5,13 @@ import java.util.Locale; import java.util.Objects; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.PhaseOutAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -32,7 +31,7 @@ public final class Equipoise extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); // At the beginning of your upkeep, for each land target player controls in excess of the number you control, choose a land they control, then the chosen permanents phase out. Repeat this process for artifacts and creatures. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new EquipoiseEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new EquipoiseEffect()); ability.addTarget(new TargetPlayer()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java b/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java index 2961dfe2bfe..6ce01e21cc9 100644 --- a/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java +++ b/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java @@ -3,7 +3,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; @@ -38,7 +38,7 @@ public final class ErhnamDjinn extends CardImpl { // At the beginning of your upkeep, target non-Wall creature an opponent controls gains forestwalk until your next upkeep. GainAbilityTargetEffect effect = new GainAbilityTargetEffect(new ForestwalkAbility(false), Duration.UntilYourNextUpkeepStep, "target non-Wall creature an opponent controls gains forestwalk until your next upkeep"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(effect); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/e/Erosion.java b/Mage.Sets/src/mage/cards/e/Erosion.java index 8cef7b1832a..be882ecda80 100644 --- a/Mage.Sets/src/mage/cards/e/Erosion.java +++ b/Mage.Sets/src/mage/cards/e/Erosion.java @@ -1,6 +1,6 @@ package mage.cards.e; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.OrCost; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -36,7 +36,7 @@ public final class Erosion extends CardImpl { // At the beginning of the upkeep of enchanted land's controller, destroy that land unless that player pays {1} or 1 life. Effect effect = new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new DestroyAttachedToEffect("enchanted land"), new OrCost("{1} or 1 life", new ManaCostsImpl<>("{1}"), new PayLifeCost(1))); effect.setText("destroy that land unless that player pays {1} or 1 life"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.CONTROLLER_ATTACHED_TO, false, true) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, false) .setTriggerPhrase("At the beginning of the upkeep of enchanted land's controller, ")); } diff --git a/Mage.Sets/src/mage/cards/e/ErrantMinion.java b/Mage.Sets/src/mage/cards/e/ErrantMinion.java index 4d26bbdcaa6..f0f8a0d1f4b 100644 --- a/Mage.Sets/src/mage/cards/e/ErrantMinion.java +++ b/Mage.Sets/src/mage/cards/e/ErrantMinion.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageTargetEffect; @@ -39,9 +39,7 @@ public final class ErrantMinion extends CardImpl { // At the beginning of the upkeep of enchanted creature's controller, that player may pay any amount of mana. Errant Minion deals 2 damage to that player. Prevent X of that damage, where X is the amount of mana that player paid this way. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new ErrantMinionEffect(), - TargetController.CONTROLLER_ATTACHED_TO, + TargetController.CONTROLLER_ATTACHED_TO, new ErrantMinionEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/e/EsikaGodOfTheTree.java b/Mage.Sets/src/mage/cards/e/EsikaGodOfTheTree.java index 36dfb77ed20..787a26137a1 100644 --- a/Mage.Sets/src/mage/cards/e/EsikaGodOfTheTree.java +++ b/Mage.Sets/src/mage/cards/e/EsikaGodOfTheTree.java @@ -3,7 +3,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.CompoundAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; @@ -58,7 +58,7 @@ public final class EsikaGodOfTheTree extends ModalDoubleFacedCard { // Legendary Enchantment // At the beginning of your upkeep, reveal cards from the top of your library until you reveal a creature or planeswalker card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. this.getRightHalfCard().addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new PrismaticBridgeEffect(), TargetController.YOU, false, false + new PrismaticBridgeEffect() )); } diff --git a/Mage.Sets/src/mage/cards/e/Esperzoa.java b/Mage.Sets/src/mage/cards/e/Esperzoa.java index 2596b77f5e4..85a62247e91 100644 --- a/Mage.Sets/src/mage/cards/e/Esperzoa.java +++ b/Mage.Sets/src/mage/cards/e/Esperzoa.java @@ -4,14 +4,13 @@ package mage.cards.e; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledArtifactPermanent; /** @@ -32,7 +31,7 @@ public final class Esperzoa extends CardImpl { this.addAbility(FlyingAbility.getInstance()); //At the beginning of your upkeep, return an artifact you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledArtifactPermanent()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(new FilterControlledArtifactPermanent()))); } private Esperzoa(final Esperzoa card) { diff --git a/Mage.Sets/src/mage/cards/e/EssenceFlare.java b/Mage.Sets/src/mage/cards/e/EssenceFlare.java index 813d438089b..fbf0e2d7a7e 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceFlare.java +++ b/Mage.Sets/src/mage/cards/e/EssenceFlare.java @@ -3,7 +3,7 @@ package mage.cards.e; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.BoostEnchantedEffect; @@ -39,8 +39,8 @@ public final class EssenceFlare extends CardImpl { // Enchanted creature gets +2/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 0))); // At the beginning of the upkeep of enchanted creature's controller, put a -0/-1 counter on that creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect(CounterType.M0M1.createInstance(), "that creature"), - TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new AddCountersAttachedEffect(CounterType.M0M1.createInstance(), "that creature"), + false)); } private EssenceFlare(final EssenceFlare card) { diff --git a/Mage.Sets/src/mage/cards/e/EssenceLeak.java b/Mage.Sets/src/mage/cards/e/EssenceLeak.java index 781d1ba4d9a..e480c12ba1a 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceLeak.java +++ b/Mage.Sets/src/mage/cards/e/EssenceLeak.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.OrCondition; import mage.abilities.condition.common.EnchantedCreatureColorCondition; @@ -43,7 +43,7 @@ public final class EssenceLeak extends CardImpl { this.addAbility(ability); // As long as enchanted permanent is red or green, it has "At the beginning of your upkeep, sacrifice this permanent unless you pay its mana cost." - Ability sacAbility =new BeginningOfUpkeepTriggeredAbility(new EssenceLeakEffect(), TargetController.YOU, false); + Ability sacAbility =new BeginningOfUpkeepTriggeredAbility(new EssenceLeakEffect()); ContinuousEffect isRedOrGreenAbility = new GainAbilityAttachedEffect(sacAbility, AttachmentType.AURA); SimpleStaticAbility ifRedOrGreenAbility = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(isRedOrGreenAbility, new OrCondition(new EnchantedCreatureColorCondition(ObjectColor.RED), new EnchantedCreatureColorCondition(ObjectColor.GREEN)), diff --git a/Mage.Sets/src/mage/cards/e/EstridsInvocation.java b/Mage.Sets/src/mage/cards/e/EstridsInvocation.java index e2bb6c395d1..edb6034826f 100644 --- a/Mage.Sets/src/mage/cards/e/EstridsInvocation.java +++ b/Mage.Sets/src/mage/cards/e/EstridsInvocation.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CopyPermanentEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledEnchantmentPermanent; @@ -59,7 +58,7 @@ class EstridsInvocationCopyApplier extends CopyApplier { public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) { // At the beginning of your upkeep, you may exile this enchantment. If you do, return it to the battlefield under its owner's control. blueprint.getAbilities().add(new BeginningOfUpkeepTriggeredAbility( - new EstridsInvocationEffect(), TargetController.YOU, true + new EstridsInvocationEffect(), true )); return true; } diff --git a/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java b/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java index f86216ddf3b..ff7a5d2f03b 100644 --- a/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java +++ b/Mage.Sets/src/mage/cards/e/EtherwroughtPage.java @@ -2,14 +2,13 @@ package mage.cards.e; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.abilities.effects.keyword.SurveilEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -23,7 +22,7 @@ public final class EtherwroughtPage extends CardImpl { // At the beginning of your upkeep, choose one - You gain 2 life; or look at the top card of your library, then you may put that card into your graveyard; or each opponent loses 1 life. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new GainLifeEffect(2), TargetController.YOU, false + new GainLifeEffect(2) ); // or look at the top card of your library, then you may put that card into your graveyard; diff --git a/Mage.Sets/src/mage/cards/e/EvolutionaryEscalation.java b/Mage.Sets/src/mage/cards/e/EvolutionaryEscalation.java index 0acdfc9bebd..4ee0cf28ca4 100644 --- a/Mage.Sets/src/mage/cards/e/EvolutionaryEscalation.java +++ b/Mage.Sets/src/mage/cards/e/EvolutionaryEscalation.java @@ -3,13 +3,12 @@ package mage.cards.e; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.Counter; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -30,7 +29,7 @@ public final class EvolutionaryEscalation extends CardImpl { // At the beginning of your upkeep, put three +1/+1 counters on target creature you control and three +1/+1 counters on target creature an opponent controls. EvolutionaryEscalationEffect effect = new EvolutionaryEscalationEffect(); - Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(effect); ability.addTarget(new TargetControlledCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/e/EvolvedSpinoderm.java b/Mage.Sets/src/mage/cards/e/EvolvedSpinoderm.java index 02e19c67b27..0403b2d3f31 100644 --- a/Mage.Sets/src/mage/cards/e/EvolvedSpinoderm.java +++ b/Mage.Sets/src/mage/cards/e/EvolvedSpinoderm.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; @@ -19,7 +19,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import java.util.UUID; @@ -56,8 +55,7 @@ public final class EvolvedSpinoderm extends CardImpl { // At the beginning of your upkeep, remove an oil counter from Evolved Spinoderm. Then if it has no oil counters on it, sacrifice it. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new RemoveCounterSourceEffect(CounterType.OIL.createInstance()), - TargetController.YOU, false + new RemoveCounterSourceEffect(CounterType.OIL.createInstance()) ); ability.addEffect(new ConditionalOneShotEffect( new SacrificeSourceEffect(), condition2, diff --git a/Mage.Sets/src/mage/cards/e/ExaltedFlamerOfTzeentch.java b/Mage.Sets/src/mage/cards/e/ExaltedFlamerOfTzeentch.java index 0a6f5455d3b..ea0db8ef118 100644 --- a/Mage.Sets/src/mage/cards/e/ExaltedFlamerOfTzeentch.java +++ b/Mage.Sets/src/mage/cards/e/ExaltedFlamerOfTzeentch.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.effects.common.DamagePlayersEffect; import mage.abilities.effects.common.ReturnFromGraveyardAtRandomEffect; @@ -26,7 +26,7 @@ public final class ExaltedFlamerOfTzeentch extends CardImpl { // Sorcerous Inspiration -- At the beginning of your upkeep, return an instant or sorcery card at random from your graveyard to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardAtRandomEffect(StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY, Zone.HAND), TargetController.YOU, false + new ReturnFromGraveyardAtRandomEffect(StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY, Zone.HAND) ).withFlavorWord("Sorcerous Inspiration")); // Fire of Tzeentch -- Whenever you cast an instant or sorcery spell, Exalted Flamer of Tzeentch deals 1 damage to each opponent. diff --git a/Mage.Sets/src/mage/cards/e/ExileIntoDarkness.java b/Mage.Sets/src/mage/cards/e/ExileIntoDarkness.java index 7b71386b139..14375b4c09f 100644 --- a/Mage.Sets/src/mage/cards/e/ExileIntoDarkness.java +++ b/Mage.Sets/src/mage/cards/e/ExileIntoDarkness.java @@ -1,6 +1,6 @@ package mage.cards.e; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.effects.common.SacrificeEffect; @@ -37,8 +37,8 @@ public final class ExileIntoDarkness extends CardImpl { // At the beginning of your upkeep, if you have more cards in hand than each opponent, you may return Exile into Darkness from your graveyard to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new ReturnSourceFromGraveyardToHandEffect(), - TargetController.YOU, true).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance)); + TargetController.YOU, new ReturnSourceFromGraveyardToHandEffect(), + true).withInterveningIf(MoreCardsInHandThanOpponentsCondition.instance)); } private ExileIntoDarkness(final ExileIntoDarkness card) { diff --git a/Mage.Sets/src/mage/cards/e/ExtravagantReplication.java b/Mage.Sets/src/mage/cards/e/ExtravagantReplication.java index 808bc907d1a..b81793188de 100644 --- a/Mage.Sets/src/mage/cards/e/ExtravagantReplication.java +++ b/Mage.Sets/src/mage/cards/e/ExtravagantReplication.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -32,7 +32,7 @@ public final class ExtravagantReplication extends CardImpl { // At the beginning of your upkeep, create a token that's a copy of another target nonland permanent you control. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new CreateTokenCopyTargetEffect(), TargetController.YOU, false + new CreateTokenCopyTargetEffect() ); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/e/ExtravagantSpirit.java b/Mage.Sets/src/mage/cards/e/ExtravagantSpirit.java index 112ea643134..c1ee8ef242a 100644 --- a/Mage.Sets/src/mage/cards/e/ExtravagantSpirit.java +++ b/Mage.Sets/src/mage/cards/e/ExtravagantSpirit.java @@ -3,7 +3,7 @@ package mage.cards.e; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -34,7 +33,7 @@ public final class ExtravagantSpirit extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Extravagant Spirit unless you pay {1} for each card in your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ExtravagantSpiritEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ExtravagantSpiritEffect())); } private ExtravagantSpirit(final ExtravagantSpirit card) { diff --git a/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java b/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java index 84f1df3d590..0857484b68b 100644 --- a/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java +++ b/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java @@ -3,7 +3,7 @@ package mage.cards.e; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.costs.common.SacrificeTargetCost; @@ -17,12 +17,9 @@ 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 mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.permanent.token.EldraziHorrorToken; -import mage.target.common.TargetControlledPermanent; /** * @author LevelX2 @@ -51,7 +48,7 @@ public final class ExtricatorOfSin extends CardImpl { // Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, transform Extricator of Sin. this.addAbility(new TransformAbility()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new TransformSourceEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect()), DeliriumCondition.instance, "Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, " + " transform {this}.") diff --git a/Mage.Sets/src/mage/cards/e/EyeOfVecna.java b/Mage.Sets/src/mage/cards/e/EyeOfVecna.java index 0cc604fcedf..3a1aec13464 100644 --- a/Mage.Sets/src/mage/cards/e/EyeOfVecna.java +++ b/Mage.Sets/src/mage/cards/e/EyeOfVecna.java @@ -1,7 +1,7 @@ package mage.cards.e; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SuperType; -import mage.constants.TargetController; import java.util.UUID; @@ -38,8 +37,7 @@ public final class EyeOfVecna extends CardImpl { new DrawCardSourceControllerEffect(1) .setText("you draw a card"), new GenericManaCost(2) - ).addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and")), - TargetController.YOU, false + ).addEffect(new LoseLifeSourceControllerEffect(2).concatBy("and")) )); } diff --git a/Mage.Sets/src/mage/cards/e/EyesEverywhere.java b/Mage.Sets/src/mage/cards/e/EyesEverywhere.java index 6f840d3b253..35206d6ee45 100644 --- a/Mage.Sets/src/mage/cards/e/EyesEverywhere.java +++ b/Mage.Sets/src/mage/cards/e/EyesEverywhere.java @@ -2,7 +2,7 @@ package mage.cards.e; import mage.abilities.Ability; import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.ExchangeControlTargetEffect; import mage.abilities.effects.keyword.ScryEffect; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetNonlandPermanent; @@ -26,8 +25,7 @@ public final class EyesEverywhere extends CardImpl { // At the beginning of your upkeep, scry 1. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new ScryEffect(1, false), - TargetController.YOU, false + new ScryEffect(1, false) )); // {5}{U}: Exchange control of Eyes Everywhere and target nonland permanent. Activate this ability only any time you could cast a sorcery. diff --git a/Mage.Sets/src/mage/cards/f/FaithboundJudge.java b/Mage.Sets/src/mage/cards/f/FaithboundJudge.java index 96b377b8413..cbda9137108 100644 --- a/Mage.Sets/src/mage/cards/f/FaithboundJudge.java +++ b/Mage.Sets/src/mage/cards/f/FaithboundJudge.java @@ -1,11 +1,10 @@ package mage.cards.f; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; -import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.decorator.ConditionalAsThoughEffect; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.combat.CanAttackAsThoughItDidntHaveDefenderSourceEffect; @@ -19,7 +18,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import java.util.UUID; @@ -53,8 +51,7 @@ public final class FaithboundJudge extends CardImpl { // At the beginning of your upkeep, if Faithbound Judge has two or fewer judgment counters on it, put a judgment counter on it. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.JUDGMENT.createInstance()), - TargetController.YOU, false + new AddCountersSourceEffect(CounterType.JUDGMENT.createInstance()), false ), condition1, "At the beginning of your upkeep, if {this} has " + "two or fewer judgment counters on it, put a judgment counter on it." )); diff --git a/Mage.Sets/src/mage/cards/f/Farmstead.java b/Mage.Sets/src/mage/cards/f/Farmstead.java index a56895f350d..0ff0e850985 100644 --- a/Mage.Sets/src/mage/cards/f/Farmstead.java +++ b/Mage.Sets/src/mage/cards/f/Farmstead.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; @@ -35,9 +35,9 @@ public final class Farmstead extends CardImpl { this.addAbility(ability); // Enchanted land has "At the beginning of your upkeep, you may pay {W}{W}. If you do, you gain 1 life." - ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new DoIfCostPaid(new GainLifeEffect(1), new ManaCostsImpl<>("{W}{W}")), - TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility( + new DoIfCostPaid(new GainLifeEffect(1), new ManaCostsImpl<>("{W}{W}")) + ); Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA); effect.setText("Enchanted land has \"At the beginning of your upkeep, you may pay {W}{W}. If you do, you gain 1 life.\""); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); diff --git a/Mage.Sets/src/mage/cards/f/Fasting.java b/Mage.Sets/src/mage/cards/f/Fasting.java index ed14fadd18b..b67a87ef443 100644 --- a/Mage.Sets/src/mage/cards/f/Fasting.java +++ b/Mage.Sets/src/mage/cards/f/Fasting.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DrawCardControllerTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -33,7 +32,7 @@ public final class Fasting extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); // At the beginning of your upkeep, put a hunger counter on Fasting. Then destroy Fasting if it has five or more hunger counters on it. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.HUNGER.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.HUNGER.createInstance())); ability.addEffect(new ConditionalOneShotEffect(new DestroySourceEffect(), new SourceHasCounterCondition(CounterType.HUNGER, 5), "Then destroy {this} if it has five or more hunger counters on it")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FatalAttraction.java b/Mage.Sets/src/mage/cards/f/FatalAttraction.java index 0b16d03d790..718bb2f8a9f 100644 --- a/Mage.Sets/src/mage/cards/f/FatalAttraction.java +++ b/Mage.Sets/src/mage/cards/f/FatalAttraction.java @@ -4,7 +4,7 @@ package mage.cards.f; import java.util.UUID; import mage.target.common.TargetCreaturePermanent; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageAttachedEffect; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -38,7 +37,7 @@ public final class FatalAttraction extends CardImpl { // When Fatal Attraction enters the battlefield, it deals 2 damage to enchanted creature. this.addAbility(new EntersBattlefieldTriggeredAbility(new DamageAttachedEffect(2, "it"))); // At the beginning of your upkeep, Fatal Attraction deals 4 damage to enchanted creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageAttachedEffect(4), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageAttachedEffect(4))); } private FatalAttraction(final FatalAttraction card) { diff --git a/Mage.Sets/src/mage/cards/f/Fatespinner.java b/Mage.Sets/src/mage/cards/f/Fatespinner.java index 5ae480917dd..57eb74518ab 100644 --- a/Mage.Sets/src/mage/cards/f/Fatespinner.java +++ b/Mage.Sets/src/mage/cards/f/Fatespinner.java @@ -5,7 +5,7 @@ import java.util.*; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; @@ -32,8 +32,8 @@ public final class Fatespinner extends CardImpl { this.toughness = new MageInt(2); // At the beginning of each opponent's upkeep, that player chooses draw step, main phase, or combat phase. The player skips each instance of the chosen step or phase this turn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new FatespinnerChooseEffect(), - TargetController.OPPONENT, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new FatespinnerChooseEffect(), + false)); } private Fatespinner(final Fatespinner card) { diff --git a/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java b/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java index 94c855d15ce..01cd22fba5c 100644 --- a/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java +++ b/Mage.Sets/src/mage/cards/f/FeastOnTheFallen.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; import mage.target.common.TargetControlledCreaturePermanent; @@ -29,9 +28,9 @@ public final class FeastOnTheFallen extends CardImpl { // At the beginning of each upkeep, if an opponent lost life last turn, put a +1/+1 counter on target creature you control. Ability ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersTargetEffect(CounterType.P1P1.createInstance()), - TargetController.ANY, false), + new BeginningOfUpkeepTriggeredAbility( + TargetController.ANY, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), + false), FeastOnTheFallenCondition.instance, "At the beginning of each upkeep, if an opponent lost life last turn, put a +1/+1 counter on target creature you control."); ability.addTarget(new TargetControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/f/Feedback.java b/Mage.Sets/src/mage/cards/f/Feedback.java index d3ba338e1e4..e302dab2412 100644 --- a/Mage.Sets/src/mage/cards/f/Feedback.java +++ b/Mage.Sets/src/mage/cards/f/Feedback.java @@ -1,6 +1,6 @@ package mage.cards.f; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.keyword.EnchantAbility; @@ -29,8 +29,8 @@ public final class Feedback extends CardImpl { this.addAbility(new EnchantAbility(auraTarget)); // At the beginning of the upkeep of enchanted enchantment's controller, Feedback deals 1 damage to that player. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1).withTargetDescription("that player"), - TargetController.CONTROLLER_ATTACHED_TO, false, true + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new DamageTargetEffect(1).withTargetDescription("that player"), + false ).setTriggerPhrase("At the beginning of the upkeep of enchanted enchantment's controller, ")); } diff --git a/Mage.Sets/src/mage/cards/f/FelidarSovereign.java b/Mage.Sets/src/mage/cards/f/FelidarSovereign.java index e29576e3164..f184d3c6502 100644 --- a/Mage.Sets/src/mage/cards/f/FelidarSovereign.java +++ b/Mage.Sets/src/mage/cards/f/FelidarSovereign.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.LifeCompareCondition; import mage.abilities.effects.common.WinGameSourceControllerEffect; import mage.abilities.keyword.LifelinkAbility; @@ -33,7 +33,7 @@ public final class FelidarSovereign extends CardImpl { this.addAbility(LifelinkAbility.getInstance()); // At the beginning of your upkeep, if you have 40 or more life, you win the game. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()) .withInterveningIf(new LifeCompareCondition(TargetController.YOU, ComparisonType.OR_GREATER, 40))); } diff --git a/Mage.Sets/src/mage/cards/f/FeralThallid.java b/Mage.Sets/src/mage/cards/f/FeralThallid.java index 88a6bc499bb..be4728d540f 100644 --- a/Mage.Sets/src/mage/cards/f/FeralThallid.java +++ b/Mage.Sets/src/mage/cards/f/FeralThallid.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.effects.common.RegenerateSourceEffect; @@ -12,7 +12,6 @@ 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 mage.counters.CounterType; @@ -29,7 +28,7 @@ public final class FeralThallid extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, put a spore counter on Feral Thallid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Feral Thallid: Regenerate Feral Thallid. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); } diff --git a/Mage.Sets/src/mage/cards/f/FesteringEvil.java b/Mage.Sets/src/mage/cards/f/FesteringEvil.java index 4f3a9afe5d7..23a848cb990 100644 --- a/Mage.Sets/src/mage/cards/f/FesteringEvil.java +++ b/Mage.Sets/src/mage/cards/f/FesteringEvil.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -9,7 +9,6 @@ import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -23,7 +22,7 @@ public final class FesteringEvil extends CardImpl { // At the beginning of your upkeep, Festering Evil deals 1 damage to each creature and each player. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DamageEverythingEffect(1), TargetController.YOU, false + new DamageEverythingEffect(1) )); // {B}{B}, Sacrifice Festering Evil: Festering Evil deals 3 damage to each creature and each player. diff --git a/Mage.Sets/src/mage/cards/f/FesteringWound.java b/Mage.Sets/src/mage/cards/f/FesteringWound.java index 09ab495d947..15ce26e753b 100644 --- a/Mage.Sets/src/mage/cards/f/FesteringWound.java +++ b/Mage.Sets/src/mage/cards/f/FesteringWound.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -35,9 +35,9 @@ public final class FesteringWound extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, you may put an infection counter on Festering Wound. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.INFECTION.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.INFECTION.createInstance(), true), true)); // At the beginning of the upkeep of enchanted creature's controller, Festering Wound deals X damage to that player, where X is the number of infection counters on Festering Wound. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new FesteringWoundEffect(), TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new FesteringWoundEffect(), false)); } private FesteringWound(final FesteringWound card) { diff --git a/Mage.Sets/src/mage/cards/f/Fettergeist.java b/Mage.Sets/src/mage/cards/f/Fettergeist.java index 4aba01b0284..dd0816fb039 100644 --- a/Mage.Sets/src/mage/cards/f/Fettergeist.java +++ b/Mage.Sets/src/mage/cards/f/Fettergeist.java @@ -2,7 +2,7 @@ package mage.cards.f; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.OneShotEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.Game; @@ -37,7 +36,7 @@ public final class Fettergeist extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Fettergeist unless you pay {1} for each other creature you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new FettergeistUnlessPaysEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new FettergeistUnlessPaysEffect())); } @@ -93,4 +92,3 @@ class FettergeistUnlessPaysEffect extends OneShotEffect { } } - diff --git a/Mage.Sets/src/mage/cards/f/FirebladeArtist.java b/Mage.Sets/src/mage/cards/f/FirebladeArtist.java index fb5268a68c7..e0df825cb07 100644 --- a/Mage.Sets/src/mage/cards/f/FirebladeArtist.java +++ b/Mage.Sets/src/mage/cards/f/FirebladeArtist.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.DamageTargetEffect; @@ -11,9 +11,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; -import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetOpponentOrPlaneswalker; import java.util.UUID; @@ -42,7 +40,7 @@ public final class FirebladeArtist extends CardImpl { ability.addTarget(new TargetOpponentOrPlaneswalker()); this.addAbility(new BeginningOfUpkeepTriggeredAbility( new DoWhenCostPaid(ability, new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE - ), "Sacrifice a creature?"), TargetController.YOU, false + ), "Sacrifice a creature?") )); } diff --git a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java index 7c5c426768c..4a290c38a90 100644 --- a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java +++ b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java @@ -4,7 +4,7 @@ package mage.cards.f; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -42,7 +42,7 @@ public final class FiremaneAngel extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, if Firemane Angel is in your graveyard or on the battlefield, you may gain 1 life. Ability ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new GainLifeEffect(1), TargetController.YOU, true), + new BeginningOfUpkeepTriggeredAbility(Zone.ALL, TargetController.YOU, new GainLifeEffect(1), true), SourceOnBattlefieldOrGraveyardCondition.instance, "At the beginning of your upkeep, if {this} is in your graveyard or on the battlefield, you may gain 1 life."); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FirstResponse.java b/Mage.Sets/src/mage/cards/f/FirstResponse.java index e71fe5520da..593558d1870 100644 --- a/Mage.Sets/src/mage/cards/f/FirstResponse.java +++ b/Mage.Sets/src/mage/cards/f/FirstResponse.java @@ -2,7 +2,7 @@ package mage.cards.f; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.LiveLostLastTurnCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -23,7 +23,7 @@ public final class FirstResponse extends CardImpl { // At the beginning of each upkeep, if you lost life last turn, create a 1/1 white Soldier creature token. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SoldierToken()), TargetController.ANY, false), + new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new SoldierToken()), false), LiveLostLastTurnCondition.instance, "At the beginning of each upkeep, if you lost life last turn, create a 1/1 white Soldier creature token.")); } diff --git a/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java b/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java index f921d7ad517..cf0aba6d4f5 100644 --- a/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java +++ b/Mage.Sets/src/mage/cards/f/FlamesOfRemembrance.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.costs.common.SacrificeSourceCost; @@ -35,7 +35,7 @@ public final class FlamesOfRemembrance extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{R}"); // At the beggining of your upkeep, you may exile a card from your graveyard. If you do, put a lore counter on Flames of Remembrance. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new AddCountersSourceEffect(CounterType.LORE.createInstance()), new ExileFromGraveCost(new TargetCardInYourGraveyard()), null, true), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new AddCountersSourceEffect(CounterType.LORE.createInstance()), new ExileFromGraveCost(new TargetCardInYourGraveyard()), null, true))); // Sacrifice Flames of Remembrance: Exile top X cards of your library, where X is the number of lore counters on Flames of Remembrance. Until end of turn you play cards exile this way. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new FlamesOfRemembranceExileEffect(new CountersSourceCount(CounterType.LORE)), new SacrificeSourceCost())); diff --git a/Mage.Sets/src/mage/cards/f/FledglingDjinn.java b/Mage.Sets/src/mage/cards/f/FledglingDjinn.java index c3047eb2689..12cce15ab70 100644 --- a/Mage.Sets/src/mage/cards/f/FledglingDjinn.java +++ b/Mage.Sets/src/mage/cards/f/FledglingDjinn.java @@ -3,14 +3,13 @@ package mage.cards.f; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class FledglingDjinn extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, Fledgling Djinn deals 1 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1))); } private FledglingDjinn(final FledglingDjinn card) { diff --git a/Mage.Sets/src/mage/cards/f/ForceMastery.java b/Mage.Sets/src/mage/cards/f/ForceMastery.java index e577206d3f0..758b90e71ee 100644 --- a/Mage.Sets/src/mage/cards/f/ForceMastery.java +++ b/Mage.Sets/src/mage/cards/f/ForceMastery.java @@ -3,12 +3,11 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -23,7 +22,7 @@ public final class ForceMastery extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{U}{W}"); // At the beggining of your upkeep, reveal the top card of your library and put that card into your hand. You gain life equal to its converted mana cost. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForceMasteryEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForceMasteryEffect())); } diff --git a/Mage.Sets/src/mage/cards/f/ForceOfNature.java b/Mage.Sets/src/mage/cards/f/ForceOfNature.java index 4bda217da7c..08763b6ed5d 100644 --- a/Mage.Sets/src/mage/cards/f/ForceOfNature.java +++ b/Mage.Sets/src/mage/cards/f/ForceOfNature.java @@ -2,7 +2,7 @@ package mage.cards.f; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -33,7 +32,7 @@ public final class ForceOfNature extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, Force of Nature deals 8 damage to you unless you pay {G}{G}{G}{G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForceOfNatureEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForceOfNatureEffect())); } diff --git a/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java b/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java index 4d13f700bd4..eebcb343ce2 100644 --- a/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java +++ b/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.counter.AddPlusOneCountersAttachedEffect; import mage.abilities.keyword.EnchantAbility; @@ -12,8 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -36,7 +34,7 @@ public final class ForcedAdaptation extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, put a +1/+1 counter on enchanted creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddPlusOneCountersAttachedEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddPlusOneCountersAttachedEffect(1))); } private ForcedAdaptation(final ForcedAdaptation card) { diff --git a/Mage.Sets/src/mage/cards/f/ForethoughtAmulet.java b/Mage.Sets/src/mage/cards/f/ForethoughtAmulet.java index 578de6d11ea..663892fbe13 100644 --- a/Mage.Sets/src/mage/cards/f/ForethoughtAmulet.java +++ b/Mage.Sets/src/mage/cards/f/ForethoughtAmulet.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -29,7 +28,7 @@ public final class ForethoughtAmulet extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); // At the beginning of your upkeep, sacrifice Forethought Amulet unless you pay {3}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(3)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(3)))); // If an instant or sorcery source would deal 3 or more damage to you, it deals 2 damage to you instead. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ForethoughtAmuletEffect())); diff --git a/Mage.Sets/src/mage/cards/f/ForgottenAncient.java b/Mage.Sets/src/mage/cards/f/ForgottenAncient.java index da6ef78de1a..e17e8b49ea1 100644 --- a/Mage.Sets/src/mage/cards/f/ForgottenAncient.java +++ b/Mage.Sets/src/mage/cards/f/ForgottenAncient.java @@ -2,7 +2,7 @@ package mage.cards.f; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastAllTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -40,7 +40,7 @@ public final class ForgottenAncient extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, you may move any number of +1/+1 counters from Forgotten Ancient onto other creatures. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ForgottenAncientEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForgottenAncientEffect(), true)); } private ForgottenAncient(final ForgottenAncient card) { diff --git a/Mage.Sets/src/mage/cards/f/ForgottenCreation.java b/Mage.Sets/src/mage/cards/f/ForgottenCreation.java index c15009b392c..4dbf3e33fe7 100644 --- a/Mage.Sets/src/mage/cards/f/ForgottenCreation.java +++ b/Mage.Sets/src/mage/cards/f/ForgottenCreation.java @@ -4,7 +4,7 @@ package mage.cards.f; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -32,7 +31,7 @@ public final class ForgottenCreation extends CardImpl { // Skulk this.addAbility(new SkulkAbility()); // At the beginning of your upkeep, you may discard all the cards in your hand. If you do, draw that many cards. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForgottenCreationEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForgottenCreationEffect(), true)); } private ForgottenCreation(final ForgottenCreation card) { diff --git a/Mage.Sets/src/mage/cards/f/ForgottenHarvest.java b/Mage.Sets/src/mage/cards/f/ForgottenHarvest.java index 60cc3324c2f..c755b9b4cf2 100644 --- a/Mage.Sets/src/mage/cards/f/ForgottenHarvest.java +++ b/Mage.Sets/src/mage/cards/f/ForgottenHarvest.java @@ -3,14 +3,13 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterLandCard; import mage.target.common.TargetCardInYourGraveyard; @@ -30,8 +29,7 @@ public final class ForgottenHarvest extends CardImpl { new DoIfCostPaid( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterLandCard("land card from your graveyard"))) - ), - TargetController.YOU, false + ) ); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FormOfTheDinosaur.java b/Mage.Sets/src/mage/cards/f/FormOfTheDinosaur.java index 488c2b940f9..a67e8a69d1a 100644 --- a/Mage.Sets/src/mage/cards/f/FormOfTheDinosaur.java +++ b/Mage.Sets/src/mage/cards/f/FormOfTheDinosaur.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SetPlayerLifeSourceEffect; @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -29,7 +28,7 @@ public final class FormOfTheDinosaur extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new SetPlayerLifeSourceEffect(15), false)); // At the beginning of your upkeep, Form of the Dinosaur deals 15 damage to target creature an opponent controls and that creature deals damage equal to its power to you. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new FormOfTheDinosaurEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new FormOfTheDinosaurEffect()); ability.addTarget(new TargetOpponentsCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/f/FormOfTheDragon.java b/Mage.Sets/src/mage/cards/f/FormOfTheDragon.java index 64839a33082..fd1bbd8f16f 100644 --- a/Mage.Sets/src/mage/cards/f/FormOfTheDragon.java +++ b/Mage.Sets/src/mage/cards/f/FormOfTheDragon.java @@ -4,7 +4,7 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.SetPlayerLifeSourceEffect; @@ -37,7 +37,7 @@ public final class FormOfTheDragon extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{R}{R}{R}"); // At the beginning of your upkeep, Form of the Dragon deals 5 damage to any target. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(5), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(5)); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/ForsakenCity.java b/Mage.Sets/src/mage/cards/f/ForsakenCity.java index 15abed042fb..eb15ab1f38f 100644 --- a/Mage.Sets/src/mage/cards/f/ForsakenCity.java +++ b/Mage.Sets/src/mage/cards/f/ForsakenCity.java @@ -1,6 +1,6 @@ package mage.cards.f; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.ExileFromHandCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -10,7 +10,6 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInHand; @@ -31,7 +30,7 @@ public final class ForsakenCity extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); // At the beginning of your upkeep, you may exile a card from your hand. If you do, untap Forsaken City. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new UntapSourceEffect(), new ExileFromHandCost(new TargetCardInHand(filter))), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new UntapSourceEffect(), new ExileFromHandCost(new TargetCardInHand(filter))))); // {T}: Add one mana of any color. this.addAbility(new AnyColorManaAbility()); diff --git a/Mage.Sets/src/mage/cards/f/ForsakenWastes.java b/Mage.Sets/src/mage/cards/f/ForsakenWastes.java index 2f03c32a4e4..02e18609de3 100644 --- a/Mage.Sets/src/mage/cards/f/ForsakenWastes.java +++ b/Mage.Sets/src/mage/cards/f/ForsakenWastes.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.common.BecomesTargetSourceTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.abilities.effects.common.continuous.CantGainLifeAllEffect; @@ -25,8 +25,8 @@ public final class ForsakenWastes extends CardImpl { this.addAbility(new SimpleStaticAbility(new CantGainLifeAllEffect())); // At the beginning of each player's upkeep, that player loses 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), - TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, + new LoseLifeTargetEffect(1), false)); // Whenever Forsaken Wastes becomes the target of a spell, that spell's controller loses 5 life. this.addAbility(new BecomesTargetSourceTriggeredAbility(new LoseLifeTargetEffect(5).setText("that spell's controller loses 5 life"), diff --git a/Mage.Sets/src/mage/cards/f/FountainOfRenewal.java b/Mage.Sets/src/mage/cards/f/FountainOfRenewal.java index 285ebb5f4e0..b91b93422bb 100644 --- a/Mage.Sets/src/mage/cards/f/FountainOfRenewal.java +++ b/Mage.Sets/src/mage/cards/f/FountainOfRenewal.java @@ -2,7 +2,7 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.GenericManaCost; @@ -11,7 +11,6 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -24,7 +23,7 @@ public final class FountainOfRenewal extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); // At the beginning of your upkeep, you gain 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1))); // {3}, Sacrifice Fountain of Renewal: Draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(3)); diff --git a/Mage.Sets/src/mage/cards/f/FrayingLine.java b/Mage.Sets/src/mage/cards/f/FrayingLine.java index 3df695d2200..7b20f63fa5f 100644 --- a/Mage.Sets/src/mage/cards/f/FrayingLine.java +++ b/Mage.Sets/src/mage/cards/f/FrayingLine.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.GenericManaCost; @@ -45,7 +45,7 @@ public final class FrayingLine extends CardImpl { // At the beginning of each player's upkeep, that player may pay {2}. If they do, they put a rope counter on a creature they control. Otherwise, exile Fraying Line and each creature without a rope counter on it, then remove all rope counters from all creatures. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new FrayingLineEffect(), TargetController.ACTIVE, false + TargetController.EACH_PLAYER, new FrayingLineEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/f/FreeForAll.java b/Mage.Sets/src/mage/cards/f/FreeForAll.java index 6a858935ef0..1b27b6c1c18 100644 --- a/Mage.Sets/src/mage/cards/f/FreeForAll.java +++ b/Mage.Sets/src/mage/cards/f/FreeForAll.java @@ -1,7 +1,7 @@ package mage.cards.f; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.LeavesBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -34,7 +34,7 @@ public final class FreeForAll extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new FreeForAllExileAllEffect())); // At the beginning of each player's upkeep, that player chooses a card exiled with Free-for-All at random and puts it onto the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new FreeForAllReturnFromExileEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new FreeForAllReturnFromExileEffect(), false)); // When Free-for-All leaves the battlefield, put all cards exiled with it into their owners' graveyards. this.addAbility(new LeavesBattlefieldTriggeredAbility(new ReturnFromExileForSourceEffect(Zone.GRAVEYARD) diff --git a/Mage.Sets/src/mage/cards/f/FretworkColony.java b/Mage.Sets/src/mage/cards/f/FretworkColony.java index 2f6659c7bcc..d9472af5c57 100644 --- a/Mage.Sets/src/mage/cards/f/FretworkColony.java +++ b/Mage.Sets/src/mage/cards/f/FretworkColony.java @@ -2,7 +2,7 @@ package mage.cards.f; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.CantBlockAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import java.util.UUID; @@ -31,7 +30,7 @@ public final class FretworkColony extends CardImpl { this.addAbility(new CantBlockAbility()); // At the beginning of your upkeep, put a +1/+1 counter on Fretwork Colony and you lose 1 life. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); Effect effect = new LoseLifeSourceControllerEffect(1); ability.addEffect(effect.concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FromBeyond.java b/Mage.Sets/src/mage/cards/f/FromBeyond.java index 1f08f2c0caf..0aba27c0fc2 100644 --- a/Mage.Sets/src/mage/cards/f/FromBeyond.java +++ b/Mage.Sets/src/mage/cards/f/FromBeyond.java @@ -3,7 +3,7 @@ package mage.cards.f; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -14,7 +14,6 @@ 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 mage.filter.FilterCard; import mage.game.permanent.token.EldraziScionToken; @@ -40,7 +39,7 @@ public final class FromBeyond extends CardImpl { // At the beginning of your upkeep, create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}." this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect( - new EldraziScionToken()).withTextOptions(true), TargetController.YOU, false)); + new EldraziScionToken()).withTextOptions(true))); // {1}{G}, Sacrifice From Beyond: Search your library for an Eldrazi card, reveal it, put it into your hand, then shuffle your library. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/f/FurnacePunisher.java b/Mage.Sets/src/mage/cards/f/FurnacePunisher.java index 505f666bc9f..a086a692657 100644 --- a/Mage.Sets/src/mage/cards/f/FurnacePunisher.java +++ b/Mage.Sets/src/mage/cards/f/FurnacePunisher.java @@ -2,7 +2,7 @@ package mage.cards.f; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; @@ -28,8 +28,7 @@ public class FurnacePunisher extends CardImpl { //At the beginning of each player’s upkeep, Furnace Punisher deals 2 damage to that player unless they control //two or more basic lands. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new FurnacePunisherEffect(), - TargetController.EACH_PLAYER, + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new FurnacePunisherEffect(), false ).setTriggerPhrase("At the beginning of each player's upkeep, ")); } diff --git a/Mage.Sets/src/mage/cards/g/GabrielAngelfire.java b/Mage.Sets/src/mage/cards/g/GabrielAngelfire.java index adac5b60e75..93615597732 100644 --- a/Mage.Sets/src/mage/cards/g/GabrielAngelfire.java +++ b/Mage.Sets/src/mage/cards/g/GabrielAngelfire.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.FlyingAbility; @@ -35,7 +35,7 @@ public final class GabrielAngelfire extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, choose flying, first strike, trample, or rampage 3. Gabriel Angelfire gains that ability until your next upkeep. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GabrielAngelfireGainAbilityEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GabrielAngelfireGainAbilityEffect())); } private GabrielAngelfire(final GabrielAngelfire card) { diff --git a/Mage.Sets/src/mage/cards/g/GallifreyStands.java b/Mage.Sets/src/mage/cards/g/GallifreyStands.java index 69d010ff01c..6b1ff0b234e 100644 --- a/Mage.Sets/src/mage/cards/g/GallifreyStands.java +++ b/Mage.Sets/src/mage/cards/g/GallifreyStands.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -43,7 +43,7 @@ public final class GallifreyStands extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new GallifreyStandsReturnEffect())); // At the beginning of your upkeep, you may put a Doctor creature card from your hand onto the battlefield. Then if you control thirteen or more Doctors, you win the game. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new PutCardFromHandOntoBattlefieldEffect(filter), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new PutCardFromHandOntoBattlefieldEffect(filter)); ability.addEffect(new ConditionalOneShotEffect(new WinGameSourceControllerEffect(), new PermanentsOnTheBattlefieldCondition(filter2, ComparisonType.MORE_THAN, 12)) .setText("Then if you control thirteen or more Doctors, you win the game")); this.addAbility(ability.addHint(new ValueHint("Doctors you control", new PermanentsOnBattlefieldCount(filter2)))); diff --git a/Mage.Sets/src/mage/cards/g/Galvanoth.java b/Mage.Sets/src/mage/cards/g/Galvanoth.java index 521576041cc..129043dfa32 100644 --- a/Mage.Sets/src/mage/cards/g/Galvanoth.java +++ b/Mage.Sets/src/mage/cards/g/Galvanoth.java @@ -2,7 +2,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.MayCastTargetCardEffect; import mage.cards.Card; @@ -30,7 +30,7 @@ public final class Galvanoth extends CardImpl { // At the beginning of your upkeep, you may look at the top card of your library. // If it's an instant or sorcery card, you may cast it without paying its mana cost. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GalvanothEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GalvanothEffect(), true)); } private Galvanoth(final Galvanoth card) { diff --git a/Mage.Sets/src/mage/cards/g/GamePreserve.java b/Mage.Sets/src/mage/cards/g/GamePreserve.java index 250937d72c0..03e26f48b1d 100644 --- a/Mage.Sets/src/mage/cards/g/GamePreserve.java +++ b/Mage.Sets/src/mage/cards/g/GamePreserve.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -9,7 +9,6 @@ import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -27,7 +26,7 @@ public final class GamePreserve extends CardImpl { // At the beginning of your upkeep, each player reveals the top card of their library. If all cards revealed this way are creature cards, put those cards onto the battlefield under their owners' control. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new GamePreserveEffect(), TargetController.YOU, false + new GamePreserveEffect() )); } diff --git a/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java b/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java index b6941f313d8..90d40adfae4 100644 --- a/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java +++ b/Mage.Sets/src/mage/cards/g/GargantuanGorilla.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; @@ -20,7 +20,6 @@ import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; @@ -37,7 +36,7 @@ public final class GargantuanGorilla extends CardImpl { this.toughness = new MageInt(7); // At the beginning of your upkeep, you may sacrifice a Forest. If you sacrifice a snow Forest this way, Gargantuan Gorilla gains trample until end of turn. If you don’t sacrifice a Forest, sacrifice Gargantuan Gorilla and it deals 7 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GargantuanGorillaSacrificeEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GargantuanGorillaSacrificeEffect())); // {T}: Gargantuan Gorilla deals damage equal to its power to another target creature. That creature deals damage equal to its power to Gargantuan Gorilla. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GargantuanGorillaFightEffect(), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/g/GateToTheAether.java b/Mage.Sets/src/mage/cards/g/GateToTheAether.java index 5a7d6bbb665..54acdbfc269 100644 --- a/Mage.Sets/src/mage/cards/g/GateToTheAether.java +++ b/Mage.Sets/src/mage/cards/g/GateToTheAether.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -26,7 +26,7 @@ public final class GateToTheAether extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}"); // At the beginning of each player's upkeep, that player reveals the top card of their library. If it's an artifact, creature, enchantment, or land card, the player may put it onto the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GateToTheAetherEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new GateToTheAetherEffect(), false)); } private GateToTheAether(final GateToTheAether card) { diff --git a/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java b/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java index 0195d7716ba..22513434b54 100644 --- a/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java +++ b/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java @@ -3,15 +3,13 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.keyword.ScryEffect; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -28,7 +26,7 @@ public final class GeistOfTheArchives extends CardImpl { // Defender this.addAbility(DefenderAbility.getInstance()); // At the beginning of your upkeep, scry 1. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ScryEffect(1))); } private GeistOfTheArchives(final GeistOfTheArchives card) { diff --git a/Mage.Sets/src/mage/cards/g/GenerousPlunderer.java b/Mage.Sets/src/mage/cards/g/GenerousPlunderer.java index df80f6b2e05..6577068a729 100644 --- a/Mage.Sets/src/mage/cards/g/GenerousPlunderer.java +++ b/Mage.Sets/src/mage/cards/g/GenerousPlunderer.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; @@ -50,7 +50,7 @@ public final class GenerousPlunderer extends CardImpl { this.addAbility(new MenaceAbility(false)); // At the beginning of your upkeep, you may create a Treasure token. When you do, target opponent creates a tapped Treasure token. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GenerousPlundererEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GenerousPlundererEffect(), true)); // Whenever Generous Plunderer attacks, it deals damage to defending player equal to the number of artifacts they control. this.addAbility(new AttacksTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/g/Genesis.java b/Mage.Sets/src/mage/cards/g/Genesis.java index 606922de75a..57cfc82aa87 100644 --- a/Mage.Sets/src/mage/cards/g/Genesis.java +++ b/Mage.Sets/src/mage/cards/g/Genesis.java @@ -2,7 +2,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceInGraveyardCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; @@ -33,8 +33,8 @@ public final class Genesis extends CardImpl { // At the beginning of your upkeep, if Genesis is in your graveyard, you may pay {2}{G}. If you do, return target creature card from your graveyard to your hand. Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new DoIfCostPaid(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{2}{G}")), - TargetController.YOU, false, false + TargetController.YOU, new DoIfCostPaid(new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{2}{G}")), + false ).withInterveningIf(SourceInGraveyardCondition.instance); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/g/GerrardCapashen.java b/Mage.Sets/src/mage/cards/g/GerrardCapashen.java index 5d17d569c04..ef9083d6696 100644 --- a/Mage.Sets/src/mage/cards/g/GerrardCapashen.java +++ b/Mage.Sets/src/mage/cards/g/GerrardCapashen.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceAttackingCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -33,8 +33,8 @@ public final class GerrardCapashen extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, you gain 1 life for each card in target opponent's hand. - Ability ability1 = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GerrardCapashenEffect(), - TargetController.YOU, false, true); + Ability ability1 = new BeginningOfUpkeepTriggeredAbility(new GerrardCapashenEffect() + ); ability1.addTarget(new TargetOpponent()); this.addAbility(ability1); diff --git a/Mage.Sets/src/mage/cards/g/GhastlyMimicry.java b/Mage.Sets/src/mage/cards/g/GhastlyMimicry.java index b8a0b6497d9..aaa96a259bd 100644 --- a/Mage.Sets/src/mage/cards/g/GhastlyMimicry.java +++ b/Mage.Sets/src/mage/cards/g/GhastlyMimicry.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutIntoGraveFromAnywhereSourceAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; @@ -43,7 +42,7 @@ public final class GhastlyMimicry extends CardImpl { // At the beginning of your upkeep, create a token that's a copy of enchanted creature, except it's a Spirit in addition to its other types. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new GhastlyMimicryEffect(), TargetController.YOU, false + new GhastlyMimicryEffect() )); // If Ghastly Mimicry would be put into a graveyard from anywhere, exile it instead. diff --git a/Mage.Sets/src/mage/cards/g/GhastlyRemains.java b/Mage.Sets/src/mage/cards/g/GhastlyRemains.java index f28c43fc397..4abb971a068 100644 --- a/Mage.Sets/src/mage/cards/g/GhastlyRemains.java +++ b/Mage.Sets/src/mage/cards/g/GhastlyRemains.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceInGraveyardCondition; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.AmplifyEffect; @@ -35,8 +35,8 @@ public final class GhastlyRemains extends CardImpl { // At the beginning of your upkeep, if Ghastly Remains is in your graveyard, you may pay {B}{B}{B}. If you do, return Ghastly Remains to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return {this} to your hand"), new ManaCostsImpl<>("{B}{B}{B}")), - TargetController.YOU, false).withInterveningIf(SourceInGraveyardCondition.instance)); + TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return {this} to your hand"), new ManaCostsImpl<>("{B}{B}{B}")), + false).withInterveningIf(SourceInGraveyardCondition.instance)); } diff --git a/Mage.Sets/src/mage/cards/g/GhazbanOgre.java b/Mage.Sets/src/mage/cards/g/GhazbanOgre.java index 58ec4f89065..ea1bad99710 100644 --- a/Mage.Sets/src/mage/cards/g/GhazbanOgre.java +++ b/Mage.Sets/src/mage/cards/g/GhazbanOgre.java @@ -4,7 +4,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; 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; @@ -34,7 +33,7 @@ public final class GhazbanOgre extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, if a player has more life than each other player, the player with the most life gains control of Ghazbán Ogre. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GhazbanOgreEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GhazbanOgreEffect())); } diff --git a/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java b/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java index 6d804c329ff..bd933f125b8 100644 --- a/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java +++ b/Mage.Sets/src/mage/cards/g/GhirapurOrrery.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.IntCompareCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -32,7 +32,7 @@ public final class GhirapurOrrery extends CardImpl { // At the beginning of each player's upkeep, if that player has no cards in hand, that player draws three cards. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DrawCardTargetEffect(3), TargetController.ANY, false, true), + new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new DrawCardTargetEffect(3), false), new GhirapurOrreryCondition(), "At the beginning of each player's upkeep, if that player has no cards in hand, that player draws three cards.")); } diff --git a/Mage.Sets/src/mage/cards/g/GibberingDescent.java b/Mage.Sets/src/mage/cards/g/GibberingDescent.java index 72ee2f515c5..33831e0e84e 100644 --- a/Mage.Sets/src/mage/cards/g/GibberingDescent.java +++ b/Mage.Sets/src/mage/cards/g/GibberingDescent.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.HellbentCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -27,8 +27,8 @@ public final class GibberingDescent extends CardImpl { // At the beginning of each player's upkeep, that player loses 1 life and discards a card. Ability ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new LoseLifeTargetEffect(1).setText("that player loses 1 life"), - TargetController.ANY, false, true + TargetController.EACH_PLAYER, new LoseLifeTargetEffect(1).setText("that player loses 1 life"), + false ); ability.addEffect(new DiscardTargetEffect(1).setText("and discards a card")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/g/GibberingFiend.java b/Mage.Sets/src/mage/cards/g/GibberingFiend.java index 7a249cc1baa..b05c29f8241 100644 --- a/Mage.Sets/src/mage/cards/g/GibberingFiend.java +++ b/Mage.Sets/src/mage/cards/g/GibberingFiend.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @author fireshoes @@ -34,7 +33,7 @@ public final class GibberingFiend extends CardImpl { // Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, // Gibbering Fiend deals 1 damage to that player. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), TargetController.OPPONENT, false, true), + new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new DamageTargetEffect(1), false), DeliriumCondition.instance, "Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, " + "{this} deals 1 damage to that player.") diff --git a/Mage.Sets/src/mage/cards/g/Gigapede.java b/Mage.Sets/src/mage/cards/g/Gigapede.java index 8825b8dd394..0e936cc5eb9 100644 --- a/Mage.Sets/src/mage/cards/g/Gigapede.java +++ b/Mage.Sets/src/mage/cards/g/Gigapede.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceInGraveyardCondition; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -34,8 +34,8 @@ public final class Gigapede extends CardImpl { // At the beginning of your upkeep, if Gigapede is in your graveyard, you may discard a card. If you do, return Gigapede to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return {this} to your hand"), new DiscardCardCost()), - TargetController.YOU, false).withInterveningIf(SourceInGraveyardCondition.instance)); + TargetController.YOU, new DoIfCostPaid(new ReturnSourceFromGraveyardToHandEffect().setText("return {this} to your hand"), new DiscardCardCost()), + false).withInterveningIf(SourceInGraveyardCondition.instance)); } private Gigapede(final Gigapede card) { diff --git a/Mage.Sets/src/mage/cards/g/GisaGloriousResurrector.java b/Mage.Sets/src/mage/cards/g/GisaGloriousResurrector.java index 5a6ad4d1105..69257bfa43e 100644 --- a/Mage.Sets/src/mage/cards/g/GisaGloriousResurrector.java +++ b/Mage.Sets/src/mage/cards/g/GisaGloriousResurrector.java @@ -2,7 +2,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.ReplacementEffectImpl; @@ -44,7 +44,7 @@ public final class GisaGloriousResurrector extends CardImpl { // At the beginning of your upkeep, put all creature cards exiled with Gisa, Glorious Resurrector onto the battlefield under your control. They gain decayed. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new GisaGloriousResurrectorReturnEffect(), TargetController.YOU, false + new GisaGloriousResurrectorReturnEffect() )); } diff --git a/Mage.Sets/src/mage/cards/g/GixianSkullflayer.java b/Mage.Sets/src/mage/cards/g/GixianSkullflayer.java index f56e3188386..17f6c723062 100644 --- a/Mage.Sets/src/mage/cards/g/GixianSkullflayer.java +++ b/Mage.Sets/src/mage/cards/g/GixianSkullflayer.java @@ -2,7 +2,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -10,7 +10,6 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -34,7 +33,7 @@ public final class GixianSkullflayer extends CardImpl { // At the beginning of your upkeep, if there are three or more creature cards in your graveyard, put a +1/+1 counter on Gixian Skullflayer. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())), condition, "At the beginning of your upkeep, if there are three or more creature cards in your graveyard, put a +1/+1 counter on {this}." )); diff --git a/Mage.Sets/src/mage/cards/g/Glaciers.java b/Mage.Sets/src/mage/cards/g/Glaciers.java index d6963a9de2b..5f47206f52a 100644 --- a/Mage.Sets/src/mage/cards/g/Glaciers.java +++ b/Mage.Sets/src/mage/cards/g/Glaciers.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.ContinuousEffect; @@ -31,7 +31,7 @@ public final class Glaciers extends CardImpl { // At the beginning of your upkeep, sacrifice Glaciers unless you pay {W}{U}. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{U}")), TargetController.YOU, false)); + new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{U}")))); // All Mountains are Plains. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GlaciersEffect())); diff --git a/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java b/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java index fb07399e7bc..e258dd17008 100644 --- a/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java +++ b/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility; import mage.abilities.costs.common.PayEnergyCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -39,7 +38,7 @@ public final class GlintSleeveSiphoner extends CardImpl { // At the beginning of your upkeep, you may pay {E}{E}. If you do, draw a card and you lose 1 life. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( new DrawCardSourceControllerEffect(1).setText("you draw a card"), new PayEnergyCost(2) - ).addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and")), TargetController.YOU, false)); + ).addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and")))); } private GlintSleeveSiphoner(final GlintSleeveSiphoner card) { diff --git a/Mage.Sets/src/mage/cards/g/GlisteningOil.java b/Mage.Sets/src/mage/cards/g/GlisteningOil.java index fba66a31d90..2b401bb33da 100644 --- a/Mage.Sets/src/mage/cards/g/GlisteningOil.java +++ b/Mage.Sets/src/mage/cards/g/GlisteningOil.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; @@ -43,7 +43,7 @@ public final class GlisteningOil extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(InfectAbility.getInstance(), AttachmentType.AURA))); // At the beginning of your upkeep, put a -1/-1 counter on enchanted creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GlisteningOilEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GlisteningOilEffect())); // When Glistening Oil is put into a graveyard from the battlefield, return Glistening Oil to its owner's hand. this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new ReturnToHandSourceEffect())); diff --git a/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java b/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java index bb60a3a54b6..4c05165af52 100644 --- a/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java +++ b/Mage.Sets/src/mage/cards/g/GlyphOfDelusion.java @@ -3,7 +3,7 @@ package mage.cards.g; import mage.MageObject; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.decorator.ConditionalContinuousRuleModifyingEffect; @@ -134,8 +134,8 @@ class GlyphOfDelusionEffect extends OneShotEffect { effect.setTargetPointer(new FixedTarget(targetPermanent.getId(), game)); game.addEffect(effect, source); - BeginningOfUpkeepTriggeredAbility ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.GLYPH.createInstance()), - TargetController.YOU, false); + BeginningOfUpkeepTriggeredAbility ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.GLYPH.createInstance()) + ); GainAbilityTargetEffect effect2 = new GainAbilityTargetEffect(ability2, Duration.Custom); effect2.setTargetPointer(new FixedTarget(targetPermanent.getId(), game)); game.addEffect(effect2, source); diff --git a/Mage.Sets/src/mage/cards/g/GoblinAssault.java b/Mage.Sets/src/mage/cards/g/GoblinAssault.java index 8a0e9fa5ebc..2ed90fc7275 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinAssault.java +++ b/Mage.Sets/src/mage/cards/g/GoblinAssault.java @@ -2,15 +2,13 @@ package mage.cards.g; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.combat.AttacksIfAbleAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.permanent.token.GoblinToken; @@ -24,7 +22,7 @@ public final class GoblinAssault extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); // At the beginning of your upkeep, create a 1/1 red Goblin creature token with haste. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new GoblinToken(true)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new GoblinToken(true)))); // Goblin creatures attack each combat if able. this.addAbility(new SimpleStaticAbility(new AttacksIfAbleAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE_GOBLINS))); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBomb.java b/Mage.Sets/src/mage/cards/g/GoblinBomb.java index 2e47a9425a8..cafd73e6f95 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBomb.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBomb.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeSourceCost; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -33,7 +32,7 @@ public final class GoblinBomb extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); // At the beginning of your upkeep, you may flip a coin. If you win the flip, put a fuse counter on Goblin Bomb. If you lose the flip, remove a fuse counter from Goblin Bomb. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GoblinBombEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GoblinBombEffect(), true)); // Remove five fuse counters from Goblin Bomb, Sacrifice Goblin Bomb: Goblin Bomb deals 20 damage to target player. Ability ability = new SimpleActivatedAbility( diff --git a/Mage.Sets/src/mage/cards/g/GoblinBoomKeg.java b/Mage.Sets/src/mage/cards/g/GoblinBoomKeg.java index f9f440abe96..43d46c479e3 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBoomKeg.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBoomKeg.java @@ -1,14 +1,13 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.target.common.TargetAnyTarget; import java.util.UUID; @@ -22,7 +21,7 @@ public final class GoblinBoomKeg extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // At the beginning of your upkeep, sacrifice Goblin Boom Keg. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect())); // When Goblin Boom Keg is put into a graveyard from the battlefield, it deals 3 damage to any target. Ability ability = new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new DamageTargetEffect(3, "it")); diff --git a/Mage.Sets/src/mage/cards/g/GoblinDirigible.java b/Mage.Sets/src/mage/cards/g/GoblinDirigible.java index 651d224fe70..c0f611d2d2a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinDirigible.java +++ b/Mage.Sets/src/mage/cards/g/GoblinDirigible.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -34,8 +33,8 @@ public final class GoblinDirigible extends CardImpl { // Goblin Dirigible 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 Goblin Dirigible. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DoIfCostPaid( - new UntapSourceEffect(), new ManaCostsImpl<>("{4}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( + new UntapSourceEffect(), new ManaCostsImpl<>("{4}")))); } private GoblinDirigible(final GoblinDirigible card) { diff --git a/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java b/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java index fb1807174b9..834f70ee65c 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java +++ b/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java @@ -4,7 +4,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.LandMineToken; @@ -35,7 +34,7 @@ public final class GoblinKaboomist extends CardImpl { // At the beginning of your upkeep, create a colorless artifact token named Land Mine // with "{R}, Sacrifice this artifact: This artifact deals 2 damage to target attacking creature without flying." // Then flip a coin. If you lose the flip, Goblin Kaboomist deals 2 damage to itself. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new LandMineToken()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new LandMineToken())); ability.addEffect(new GoblinKaboomistFlipCoinEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GoblinSecretAgent.java b/Mage.Sets/src/mage/cards/g/GoblinSecretAgent.java index eefec67f097..c14bc101d34 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSecretAgent.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSecretAgent.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.Card; @@ -15,7 +15,6 @@ import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; /** @@ -35,7 +34,7 @@ public final class GoblinSecretAgent extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, reveal a card from your hand at random. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GoblinSecretAgentEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GoblinSecretAgentEffect())); } private GoblinSecretAgent(final GoblinSecretAgent card) { diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java b/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java index 748b76976cf..30fa11f592a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -31,8 +30,8 @@ public final class GoblinWarWagon extends CardImpl { // Goblin War Wagon doesn't untap during your untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); // At the beginning of your upkeep, you may pay {2}. If you do, untap Goblin War Wagon. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DoIfCostPaid( - new UntapSourceEffect(), new ManaCostsImpl<>("{2}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( + new UntapSourceEffect(), new ManaCostsImpl<>("{2}")))); } private GoblinWarWagon(final GoblinWarWagon card) { diff --git a/Mage.Sets/src/mage/cards/g/GoldenUrn.java b/Mage.Sets/src/mage/cards/g/GoldenUrn.java index de0eb90454a..e5c479e2dd0 100644 --- a/Mage.Sets/src/mage/cards/g/GoldenUrn.java +++ b/Mage.Sets/src/mage/cards/g/GoldenUrn.java @@ -4,7 +4,7 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -14,7 +14,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -26,7 +25,7 @@ public final class GoldenUrn extends CardImpl { public GoldenUrn (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), true)); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(new CountersSourceCount(CounterType.CHARGE)), new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/g/GoliathHatchery.java b/Mage.Sets/src/mage/cards/g/GoliathHatchery.java index 11f147e85a9..2cfe4da6bb4 100644 --- a/Mage.Sets/src/mage/cards/g/GoliathHatchery.java +++ b/Mage.Sets/src/mage/cards/g/GoliathHatchery.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.CorruptedCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; @@ -41,7 +40,7 @@ public final class GoliathHatchery extends CardImpl { // Corrupted -- At the beginning of your upkeep, if an opponent has three or more poison counters, choose a creature you control, then draw cards equal to its total toxic value. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new GoliathHatcheryEffect(), TargetController.YOU, false + new GoliathHatcheryEffect(), false ).setAbilityWord(AbilityWord.CORRUPTED), CorruptedCondition.instance, null ).addHint(CorruptedCondition.getHint())); } diff --git a/Mage.Sets/src/mage/cards/g/GrafReaver.java b/Mage.Sets/src/mage/cards/g/GrafReaver.java index 27af345ea7b..3c54e8f0db1 100644 --- a/Mage.Sets/src/mage/cards/g/GrafReaver.java +++ b/Mage.Sets/src/mage/cards/g/GrafReaver.java @@ -2,7 +2,7 @@ package mage.cards.g; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.ExploitCreatureTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.DestroyTargetEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.target.common.TargetPlaneswalkerPermanent; import java.util.UUID; @@ -39,7 +38,7 @@ public final class GrafReaver extends CardImpl { // At the beginning of your upkeep, Graf Reaver deals 1 damage to you. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DamageControllerEffect(1), TargetController.YOU, false + new DamageControllerEffect(1) )); } diff --git a/Mage.Sets/src/mage/cards/g/GravebornMuse.java b/Mage.Sets/src/mage/cards/g/GravebornMuse.java index 00c424b0e02..bd75f883059 100644 --- a/Mage.Sets/src/mage/cards/g/GravebornMuse.java +++ b/Mage.Sets/src/mage/cards/g/GravebornMuse.java @@ -4,7 +4,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; /** @@ -36,7 +35,7 @@ public final class GravebornMuse extends CardImpl { // At the beginning of your upkeep, you draw X cards and you lose X life, where X is the number of Zombies you control. Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)) - .setText("you draw X cards"), TargetController.YOU, false); + .setText("you draw X cards")); ability.addEffect(new LoseLifeSourceControllerEffect(new PermanentsOnBattlefieldCount(filter)) .setText("and you lose X life, where X is the number of Zombies you control")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/g/Gravestorm.java b/Mage.Sets/src/mage/cards/g/Gravestorm.java index 7d2bc953413..ffd40b75211 100644 --- a/Mage.Sets/src/mage/cards/g/Gravestorm.java +++ b/Mage.Sets/src/mage/cards/g/Gravestorm.java @@ -3,14 +3,13 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.card.OwnerIdPredicate; @@ -29,7 +28,7 @@ public final class Gravestorm extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{B}{B}"); // At the beginning of your upkeep, target opponent may exile a card from their graveyard. If that player doesn't, you may draw a card. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GravestormEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new GravestormEffect()); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java index 0167ceaa92d..6a34ed0f08b 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java +++ b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java @@ -1,15 +1,13 @@ package mage.cards.g; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; 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 mage.filter.StaticFilters; import java.util.UUID; @@ -27,7 +25,7 @@ public final class GreaterHarvester extends CardImpl { this.toughness = new MageInt(6); // At the beginning of your upkeep, sacrifice a permanent. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeEffect(StaticFilters.FILTER_PERMANENT_A, 1, ""), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(StaticFilters.FILTER_PERMANENT_A, 1, ""))); //Whenever Greater Harvester deals combat damage to a player, that player sacrifices two permanents. this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new SacrificeEffect(StaticFilters.FILTER_PERMANENTS, 2, "that player"), false, true)); diff --git a/Mage.Sets/src/mage/cards/g/GreenerPastures.java b/Mage.Sets/src/mage/cards/g/GreenerPastures.java index 32a9095eb2b..41af30b83f1 100644 --- a/Mage.Sets/src/mage/cards/g/GreenerPastures.java +++ b/Mage.Sets/src/mage/cards/g/GreenerPastures.java @@ -1,22 +1,20 @@ - package mage.cards.g; -import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; -import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.CreateTokenTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.game.Game; import mage.game.permanent.token.SaprolingToken; import mage.players.Player; +import java.util.UUID; + /** * * @author TheElk801 @@ -27,17 +25,10 @@ public final class GreenerPastures extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); // At the beginning of each player's upkeep, if that player controls more lands than each other player, the player creates a 1/1 green Saproling creature token. - this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new CreateTokenTargetEffect(new SaprolingToken()), - TargetController.ANY, false, true - ), - ActivePlayerMostLandsCondition.instance, - "At the beginning of each player's upkeep, " - + "if that player controls more lands than each other player, " - + "the player creates a 1/1 green Saproling creature token." - )); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + TargetController.EACH_PLAYER, new CreateTokenTargetEffect(new SaprolingToken()), + false + ).withInterveningIf(ActivePlayerMostLandsCondition.instance)); } private GreenerPastures(final GreenerPastures card) { diff --git a/Mage.Sets/src/mage/cards/g/GrimFeast.java b/Mage.Sets/src/mage/cards/g/GrimFeast.java index 5f7db2404b6..7733f79b359 100644 --- a/Mage.Sets/src/mage/cards/g/GrimFeast.java +++ b/Mage.Sets/src/mage/cards/g/GrimFeast.java @@ -1,7 +1,7 @@ package mage.cards.g; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutIntoGraveFromBattlefieldAllTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamageControllerEffect; @@ -27,8 +27,7 @@ public final class GrimFeast extends CardImpl { // At the beginning of your upkeep, Grim Feast deals 1 damage to you. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DamageControllerEffect(1), - TargetController.YOU, false + new DamageControllerEffect(1) )); // Whenever a creature is put into an opponent's graveyard from the battlefield, you gain life equal to its toughness. diff --git a/Mage.Sets/src/mage/cards/g/GrinningDemon.java b/Mage.Sets/src/mage/cards/g/GrinningDemon.java index d0a4489e1b4..1b5dc81e061 100644 --- a/Mage.Sets/src/mage/cards/g/GrinningDemon.java +++ b/Mage.Sets/src/mage/cards/g/GrinningDemon.java @@ -3,7 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.keyword.MorphAbility; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -26,7 +25,7 @@ public final class GrinningDemon extends CardImpl { this.toughness = new MageInt(6); // At the beginning of your upkeep, you lose 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2))); // Morph {2}{B}{B} this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{2}{B}{B}"))); } diff --git a/Mage.Sets/src/mage/cards/g/GrowingRanks.java b/Mage.Sets/src/mage/cards/g/GrowingRanks.java index 477e35c1881..091a27e7fb4 100644 --- a/Mage.Sets/src/mage/cards/g/GrowingRanks.java +++ b/Mage.Sets/src/mage/cards/g/GrowingRanks.java @@ -2,12 +2,11 @@ package mage.cards.g; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.PopulateEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; /** * @author LevelX2 @@ -19,7 +18,7 @@ public final class GrowingRanks extends CardImpl { // At the beginning of your upkeep, populate. (Create a token that's a copy of a creature token you control.) - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PopulateEffect(""), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PopulateEffect(""))); } private GrowingRanks(final GrowingRanks card) { diff --git a/Mage.Sets/src/mage/cards/g/GuildFeud.java b/Mage.Sets/src/mage/cards/g/GuildFeud.java index 70fa84cd03c..cca673b0088 100644 --- a/Mage.Sets/src/mage/cards/g/GuildFeud.java +++ b/Mage.Sets/src/mage/cards/g/GuildFeud.java @@ -4,12 +4,11 @@ package mage.cards.g; import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.game.Game; @@ -32,7 +31,7 @@ public final class GuildFeud extends CardImpl { // then puts the rest into their graveyard. You do the same with the top three // cards of your library. If two creatures are put onto the battlefield this way, // those creatures fight each other. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new GuildFeudEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new GuildFeudEffect()); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/g/Gurzigost.java b/Mage.Sets/src/mage/cards/g/Gurzigost.java index d681e6bc28b..0ae0e58918e 100644 --- a/Mage.Sets/src/mage/cards/g/Gurzigost.java +++ b/Mage.Sets/src/mage/cards/g/Gurzigost.java @@ -4,7 +4,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DamageAsThoughNotBlockedAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.Cost; @@ -21,7 +21,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; import mage.game.Game; @@ -41,7 +40,7 @@ public final class Gurzigost extends CardImpl { this.toughness = new MageInt(8); // At the beginning of your upkeep, sacrifice Gurzigost unless you put two cards from your graveyard on the bottom of your library. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GurzigostCost()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GurzigostCost()))); // {G}{G}, Discard a card: You may have Gurzigost assign its combat damage this turn as though it weren't blocked. Effect effect = new GainAbilitySourceEffect(DamageAsThoughNotBlockedAbility.getInstance(), Duration.EndOfTurn); diff --git a/Mage.Sets/src/mage/cards/g/GutwrencherOni.java b/Mage.Sets/src/mage/cards/g/GutwrencherOni.java index d7074d61b9a..0499941bc2f 100644 --- a/Mage.Sets/src/mage/cards/g/GutwrencherOni.java +++ b/Mage.Sets/src/mage/cards/g/GutwrencherOni.java @@ -2,7 +2,7 @@ package mage.cards.g; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; /** @@ -46,8 +45,7 @@ public final class GutwrencherOni extends CardImpl { new DiscardControllerEffect(1), condition, "discard a card if you don't control an Ogre" - ), - TargetController.YOU, false + ) )); } diff --git a/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java b/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java index 1f6d1052b1d..ec8d00b3833 100644 --- a/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java +++ b/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java @@ -3,7 +3,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.PreventNextDamageFromChosenSourceToYouEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -30,7 +29,7 @@ public final class HaazdaShieldMate extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, sacrifice Haazda Shield Mate unless you pay {W}{W}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")))); // {W}: The next time a source of your choice would deal damage to you this turn, prevent that damage. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventNextDamageFromChosenSourceToYouEffect(Duration.EndOfTurn), new ManaCostsImpl<>("{W}"))); diff --git a/Mage.Sets/src/mage/cards/h/Halfdane.java b/Mage.Sets/src/mage/cards/h/Halfdane.java index 144a0378bf2..0271882d98f 100644 --- a/Mage.Sets/src/mage/cards/h/Halfdane.java +++ b/Mage.Sets/src/mage/cards/h/Halfdane.java @@ -3,7 +3,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.SetBasePowerToughnessSourceEffect; @@ -39,7 +39,7 @@ public final class Halfdane extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, change Halfdane's base power and toughness to the power and toughness of target creature other than Halfdane until the end of your next upkeep. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new HalfdaneUpkeepEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new HalfdaneUpkeepEffect()); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HallOfGemstone.java b/Mage.Sets/src/mage/cards/h/HallOfGemstone.java index 760f282eb35..2254d8a66c1 100644 --- a/Mage.Sets/src/mage/cards/h/HallOfGemstone.java +++ b/Mage.Sets/src/mage/cards/h/HallOfGemstone.java @@ -3,7 +3,7 @@ package mage.cards.h; import mage.Mana; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -30,7 +30,7 @@ public final class HallOfGemstone extends CardImpl { this.supertype.add(SuperType.WORLD); // At the beginning of each player's upkeep, that player chooses a color. Until end of turn, lands tapped for mana produce mana of the chosen color instead of any other color. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HallOfGemstoneEffect(), TargetController.ACTIVE, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new HallOfGemstoneEffect(), false)); } private HallOfGemstone(final HallOfGemstone card) { diff --git a/Mage.Sets/src/mage/cards/h/HanskSlayerZealot.java b/Mage.Sets/src/mage/cards/h/HanskSlayerZealot.java index 7cf5d3b3af2..4d59faeaa58 100644 --- a/Mage.Sets/src/mage/cards/h/HanskSlayerZealot.java +++ b/Mage.Sets/src/mage/cards/h/HanskSlayerZealot.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; @@ -45,8 +45,7 @@ public final class HanskSlayerZealot extends CardImpl { // At the beginning of your upkeep, target opponent creates three Walker tokens. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new CreateTokenTargetEffect(new WalkerToken(), 3), - TargetController.YOU, false + new CreateTokenTargetEffect(new WalkerToken(), 3) ); ability.addTarget(new TargetOpponent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java b/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java index 2e1a11f1925..2ae81956b58 100644 --- a/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java +++ b/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.TransformSourceEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -36,7 +35,7 @@ public final class HanweirMilitiaCaptain extends CardImpl { // At the beginning of your upkeep, if you control four or more creatures, transform Hanweir Militia Captain. this.addAbility(new TransformAbility()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new TransformSourceEffect()), new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 3), "At the beginning of your upkeep, if you control four or more creatures, transform {this}")); } diff --git a/Mage.Sets/src/mage/cards/h/HappilyEverAfter.java b/Mage.Sets/src/mage/cards/h/HappilyEverAfter.java index a7f22618ccb..995c71abb29 100644 --- a/Mage.Sets/src/mage/cards/h/HappilyEverAfter.java +++ b/Mage.Sets/src/mage/cards/h/HappilyEverAfter.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,12 +14,9 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; -import mage.util.CardUtil; -import java.awt.*; import java.util.*; import java.util.List; @@ -37,7 +34,7 @@ public final class HappilyEverAfter extends CardImpl { // At the beginning of your upkeep, if there are five colors among permanents you control, there are six or more card types among permanents you control and/or cards in your graveyard, and your life total is greater than or equal to your starting life total, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new WinGameSourceControllerEffect(), TargetController.YOU, false + new WinGameSourceControllerEffect(), false ), HappilyEverAfterCondition.instance, "At the beginning of your upkeep, " + "if there are five colors among permanents you control, there are six or more card types " + "among permanents you control and/or cards in your graveyard, and your life total is " + diff --git a/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java b/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java index 57bb87633b5..899ac4801fd 100644 --- a/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java +++ b/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java @@ -3,13 +3,12 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -27,8 +26,8 @@ public final class HarbingerOfNight extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, put a -1/-1 counter on each creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.M1M1.createInstance(), new FilterCreaturePermanent()), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.M1M1.createInstance(), new FilterCreaturePermanent()) + )); } private HarbingerOfNight(final HarbingerOfNight card) { diff --git a/Mage.Sets/src/mage/cards/h/HarrierGriffin.java b/Mage.Sets/src/mage/cards/h/HarrierGriffin.java index ad4a32daa90..d1353eecaee 100644 --- a/Mage.Sets/src/mage/cards/h/HarrierGriffin.java +++ b/Mage.Sets/src/mage/cards/h/HarrierGriffin.java @@ -4,14 +4,13 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.TapTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.target.common.TargetCreaturePermanent; /** @@ -27,7 +26,7 @@ public final class HarrierGriffin extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new TapTargetEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new TapTargetEffect()); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HaukensInsight.java b/Mage.Sets/src/mage/cards/h/HaukensInsight.java index deaf47f206b..ad5a6cd5dee 100644 --- a/Mage.Sets/src/mage/cards/h/HaukensInsight.java +++ b/Mage.Sets/src/mage/cards/h/HaukensInsight.java @@ -8,7 +8,7 @@ import mage.MageIdentifier; import mage.MageObject; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.AsThoughEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -40,7 +40,7 @@ public final class HaukensInsight extends CardImpl { this.nightCard = true; // At the beginning of your upkeep, exile the top card of your library face down. You may look at that card for as long as it remains exiled. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HaukensInsightExileEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HaukensInsightExileEffect())); // Once during each of your turns, you may play a land or cast a spell from among the cards exiled with this permanent without paying its mana cost. this.addAbility(new SimpleStaticAbility(new HaukensInsightPlayEffect()) diff --git a/Mage.Sets/src/mage/cards/h/HavocFestival.java b/Mage.Sets/src/mage/cards/h/HavocFestival.java index 59f20b1a659..a02c770e43c 100644 --- a/Mage.Sets/src/mage/cards/h/HavocFestival.java +++ b/Mage.Sets/src/mage/cards/h/HavocFestival.java @@ -2,7 +2,7 @@ package mage.cards.h; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.LoseHalfLifeTargetEffect; import mage.abilities.effects.common.continuous.CantGainLifeAllEffect; @@ -25,7 +25,7 @@ public final class HavocFestival extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // At the beginning of each player's upkeep, that player loses half their life, rounded up. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseHalfLifeTargetEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new LoseHalfLifeTargetEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/h/HeadlinerScarlett.java b/Mage.Sets/src/mage/cards/h/HeadlinerScarlett.java index 7a813c88f81..6854e49e90e 100644 --- a/Mage.Sets/src/mage/cards/h/HeadlinerScarlett.java +++ b/Mage.Sets/src/mage/cards/h/HeadlinerScarlett.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -46,7 +46,7 @@ public final class HeadlinerScarlett extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, exile the top card of your library face down. You may look at and play that card this turn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HeadlinerScarlettExileEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HeadlinerScarlettExileEffect())); } private HeadlinerScarlett(final HeadlinerScarlett card) { @@ -132,4 +132,4 @@ class HeadlinerScarlettExileEffect extends OneShotEffect { return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/h/Heartmender.java b/Mage.Sets/src/mage/cards/h/Heartmender.java index 994126dafc4..83a2c7ccf4f 100644 --- a/Mage.Sets/src/mage/cards/h/Heartmender.java +++ b/Mage.Sets/src/mage/cards/h/Heartmender.java @@ -3,7 +3,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.Counter; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -31,7 +30,7 @@ public final class Heartmender extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, remove a -1/-1 counter from each creature you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HeartmenderEffect(CounterType.M1M1.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HeartmenderEffect(CounterType.M1M1.createInstance()))); // Persist this.addAbility(new PersistAbility()); diff --git a/Mage.Sets/src/mage/cards/h/HeavyweightDemolisher.java b/Mage.Sets/src/mage/cards/h/HeavyweightDemolisher.java index 14efd263fac..6fbdf90d8d9 100644 --- a/Mage.Sets/src/mage/cards/h/HeavyweightDemolisher.java +++ b/Mage.Sets/src/mage/cards/h/HeavyweightDemolisher.java @@ -1,7 +1,7 @@ package mage.cards.h; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.TapSourceUnlessPaysEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -32,8 +31,7 @@ public final class HeavyweightDemolisher extends CardImpl { // At the beginning of your upkeep, tap Heavyweight Demolisher unless you pay {3}. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new TapSourceUnlessPaysEffect(new GenericManaCost(3)), - TargetController.YOU, false + new TapSourceUnlessPaysEffect(new GenericManaCost(3)) )); // Unearth {6}{R}{R} diff --git a/Mage.Sets/src/mage/cards/h/HedronAlignment.java b/Mage.Sets/src/mage/cards/h/HedronAlignment.java index 9c054339f67..747045251bc 100644 --- a/Mage.Sets/src/mage/cards/h/HedronAlignment.java +++ b/Mage.Sets/src/mage/cards/h/HedronAlignment.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -35,7 +35,7 @@ public final class HedronAlignment extends CardImpl { // Hexproof this.addAbility(HexproofAbility.getInstance()); // At the beginning of your upkeep, you may reveal your hand. If you do, you win the game if you own a card named Hedron Alignment in exile, in your hand, in your graveyard, and on the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HedronAlignmentEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HedronAlignmentEffect(), true)); // {1}{U}: Scry 1. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), new ManaCostsImpl<>("{1}{U}"))); } diff --git a/Mage.Sets/src/mage/cards/h/HelixPinnacle.java b/Mage.Sets/src/mage/cards/h/HelixPinnacle.java index 39e446228fd..53417ecad9d 100644 --- a/Mage.Sets/src/mage/cards/h/HelixPinnacle.java +++ b/Mage.Sets/src/mage/cards/h/HelixPinnacle.java @@ -2,7 +2,7 @@ package mage.cards.h; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -14,7 +14,6 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -39,7 +38,7 @@ public final class HelixPinnacle extends CardImpl { // At the beginning of your upkeep, if there are 100 or more tower counters on Helix Pinnacle, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WinGameSourceControllerEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()), new SourceHasCounterCondition(CounterType.TOWER, 100, Integer.MAX_VALUE), rule)); diff --git a/Mage.Sets/src/mage/cards/h/HellfireMongrel.java b/Mage.Sets/src/mage/cards/h/HellfireMongrel.java index b2c23254b79..df2bad6a1d6 100644 --- a/Mage.Sets/src/mage/cards/h/HellfireMongrel.java +++ b/Mage.Sets/src/mage/cards/h/HellfireMongrel.java @@ -3,7 +3,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -32,7 +31,7 @@ public final class HellfireMongrel extends CardImpl { // At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Hellfire Mongrel deals 2 damage to that player. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), TargetController.OPPONENT, false, true), + new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new DamageTargetEffect(2), false), (Condition)new CardsInHandCondition(ComparisonType.FEWER_THAN, 3, TargetController.ACTIVE), "At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, {this} deals 2 damage to that player." )); diff --git a/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java b/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java index ea8c460e82b..2fca3826bd8 100644 --- a/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java +++ b/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java @@ -3,7 +3,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -18,7 +18,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.filter.common.FilterArtifactPermanent; @@ -47,7 +46,7 @@ public final class HellkiteTyrant extends CardImpl { false, true)); // At the beginning of your upkeep, if you control twenty or more artifacts, you win the game. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( ability, new PermanentsOnTheBattlefieldCondition(new FilterArtifactPermanent(), ComparisonType.MORE_THAN, 19), @@ -63,4 +62,4 @@ public final class HellkiteTyrant extends CardImpl { public HellkiteTyrant copy() { return new HellkiteTyrant(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java b/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java index 878fa283efb..e4d74039e4b 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -40,7 +39,7 @@ public final class HeraldOfTorment extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, you lose 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1))); // Enchanted creature gets +3/+3 and has flying. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3)); diff --git a/Mage.Sets/src/mage/cards/h/HeraldsHorn.java b/Mage.Sets/src/mage/cards/h/HeraldsHorn.java index 8a8371f1c44..bb7e2bd994f 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldsHorn.java +++ b/Mage.Sets/src/mage/cards/h/HeraldsHorn.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ChooseCreatureTypeEffect; @@ -14,7 +14,6 @@ import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.game.Game; @@ -37,7 +36,7 @@ public final class HeraldsHorn extends CardImpl { new SpellsCostReductionAllOfChosenSubtypeEffect(new FilterCreatureCard("Creature spells you cast of the chosen type"), 1, true))); // At the beginning of your upkeep, look at the top card of your library. If it's a creature card of the chosen type, you may reveal it and put it into your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new HeraldsHornEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HeraldsHornEffect())); } private HeraldsHorn(final HeraldsHorn card) { diff --git a/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java b/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java index 3c2200b7f50..a9fcf0ff3c2 100644 --- a/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java +++ b/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DontUntapInControllersUntapStepAllEffect; @@ -37,7 +37,7 @@ public final class HokoriDustDrinker extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, StaticFilters.FILTER_LANDS))); // At the beginning of each player's upkeep, that player untaps a land they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new HokoriDustDrinkerUntapEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new HokoriDustDrinkerUntapEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/h/HollowTrees.java b/Mage.Sets/src/mage/cards/h/HollowTrees.java index 7b9185287cc..a321e218f3d 100644 --- a/Mage.Sets/src/mage/cards/h/HollowTrees.java +++ b/Mage.Sets/src/mage/cards/h/HollowTrees.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SkipUntapOptionalAbility; import mage.abilities.condition.common.SourceTappedCondition; @@ -20,8 +20,6 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -40,7 +38,7 @@ public final class HollowTrees extends CardImpl { // At the beginning of your upkeep, if Hollow Trees is tapped, put a storage counter on it. OneShotEffect addStorageCounter = new AddCountersSourceEffect(CounterType.STORAGE.createInstance()); Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.TAPPED, "if {this} is tapped, put a storage counter on it"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // {tap}, Remove any number of storage counters from Hollow Trees: Add {G} for each storage counter removed this way. Ability ability = new DynamicManaAbility( Mana.GreenMana(1), diff --git a/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java b/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java index c4f40ad4b91..a693c55dce1 100644 --- a/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java +++ b/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java @@ -5,7 +5,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -17,11 +17,9 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; -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.players.Player; import mage.target.targetpointer.FixedTarget; @@ -44,9 +42,8 @@ public final class HollowbornBarghest extends CardImpl { // At the beginning of your upkeep, if you have no cards in hand, each opponent loses 2 life. Condition condition = new CardsInHandCondition(ComparisonType.EQUAL_TO, 0); TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility( - new HollowbornBarghestEffect(), - TargetController.YOU, - false); + new HollowbornBarghestEffect() + ); this.addAbility(new ConditionalInterveningIfTriggeredAbility( ability, condition, diff --git a/Mage.Sets/src/mage/cards/h/HollowhengeOverlord.java b/Mage.Sets/src/mage/cards/h/HollowhengeOverlord.java index 5dbdc38a4bb..9c7e567faa5 100644 --- a/Mage.Sets/src/mage/cards/h/HollowhengeOverlord.java +++ b/Mage.Sets/src/mage/cards/h/HollowhengeOverlord.java @@ -1,7 +1,7 @@ package mage.cards.h; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.CreateTokenEffect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -53,8 +52,7 @@ public final class HollowhengeOverlord extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility( new CreateTokenEffect(new WolfToken(), xValue) .setText("for each creature you control that's a Wolf or a Werewolf, " + - "create a 2/2 green Wolf creature token"), - TargetController.YOU, false + "create a 2/2 green Wolf creature token") ).addHint(hint)); } diff --git a/Mage.Sets/src/mage/cards/h/Homarid.java b/Mage.Sets/src/mage/cards/h/Homarid.java index 6341413eb33..04fa998034e 100644 --- a/Mage.Sets/src/mage/cards/h/Homarid.java +++ b/Mage.Sets/src/mage/cards/h/Homarid.java @@ -4,7 +4,7 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; import mage.abilities.StateTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -19,7 +19,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -41,8 +40,8 @@ public final class Homarid extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.TIDE.createInstance()), "with a tide counter on it.")); // At the beginning of your upkeep, put a tide counter on Homarid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIDE.createInstance()), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIDE.createInstance()) + )); // As long as there is exactly one tide counter on Homarid, it gets -1/-1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new BoostSourceEffect(-1, -1, Duration.WhileOnBattlefield), new SourceHasCounterCondition(CounterType.TIDE, 1, 1), diff --git a/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java b/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java index 7241c9bb0cb..33833f95671 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfCleansingFire.java @@ -2,7 +2,7 @@ package mage.cards.h; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.MultipliedValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import java.util.UUID; @@ -36,7 +35,7 @@ public final class HondenOfCleansingFire extends CardImpl { // At the beginning of your upkeep, you gain 2 life for each Shrine you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(new MultipliedValue(xValue, 2)), TargetController.YOU, false).addHint(hint)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(new MultipliedValue(xValue, 2))).addHint(hint)); } private HondenOfCleansingFire(final HondenOfCleansingFire card) { diff --git a/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java b/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java index fa8b1c972a2..aba3e7383c7 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfInfiniteRage.java @@ -2,7 +2,7 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DamageTargetEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetAnyTarget; @@ -34,7 +33,7 @@ public final class HondenOfInfiniteRage extends CardImpl { this.subtype.add(SubType.SHRINE); // At the beginning of your upkeep, Honden of Infinite Rage deals damage to any target equal to the number of Shrines you control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(xValue), TargetController.YOU, false).addHint(hint); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(xValue)).addHint(hint); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java b/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java index 5bcf4ee4abe..a454a61824e 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfLifesWeb.java @@ -2,7 +2,7 @@ package mage.cards.h; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.CreateTokenEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.SpiritToken; @@ -34,7 +33,7 @@ public final class HondenOfLifesWeb extends CardImpl { this.supertype.add(SuperType.LEGENDARY); this.subtype.add(SubType.SHRINE); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritToken(), xValue), TargetController.YOU, false).addHint(hint)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritToken(), xValue)).addHint(hint)); } private HondenOfLifesWeb(final HondenOfLifesWeb card) { diff --git a/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java b/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java index 303b6c56ca4..6741ac4a502 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfNightsReach.java @@ -2,7 +2,7 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.discard.DiscardTargetEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetOpponent; @@ -33,7 +32,7 @@ public final class HondenOfNightsReach extends CardImpl { this.subtype.add(SubType.SHRINE); // At the beginning of your upkeep, target opponent discards a card for each Shrine you control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(xValue), TargetController.YOU, false).addHint(hint); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(xValue)).addHint(hint); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java b/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java index f55d8372fd9..b033db25dbe 100644 --- a/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java +++ b/Mage.Sets/src/mage/cards/h/HondenOfSeeingWinds.java @@ -2,7 +2,7 @@ package mage.cards.h; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import java.util.UUID; @@ -35,7 +34,7 @@ public final class HondenOfSeeingWinds extends CardImpl { // At the beginning of your upkeep, draw a card for each Shrine you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(xValue), TargetController.YOU, false).addHint(hint)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(xValue)).addHint(hint)); } private HondenOfSeeingWinds(final HondenOfSeeingWinds card) { diff --git a/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java b/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java index 55af7d24a0c..90ee69a6998 100644 --- a/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java +++ b/Mage.Sets/src/mage/cards/h/HungryHungryHeifer.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.RemoveCounterCost; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -30,7 +30,7 @@ public final class HungryHungryHeifer extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, you may remove a counter from a permanent you control. If you don't, sacrifice Hungry Hungry Heifer. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new HungryHungryHeiferEffect(), TargetController.YOU, false, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new HungryHungryHeiferEffect())); } private HungryHungryHeifer(final HungryHungryHeifer card) { diff --git a/Mage.Sets/src/mage/cards/h/HungryMist.java b/Mage.Sets/src/mage/cards/h/HungryMist.java index 9b67705bd42..93f1d1a41ca 100644 --- a/Mage.Sets/src/mage/cards/h/HungryMist.java +++ b/Mage.Sets/src/mage/cards/h/HungryMist.java @@ -3,14 +3,13 @@ package mage.cards.h; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -25,7 +24,7 @@ public final class HungryMist extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, sacrifice Hungry Mist unless you pay {G}{G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")))); } private HungryMist(final HungryMist card) { diff --git a/Mage.Sets/src/mage/cards/h/HydrasGrowth.java b/Mage.Sets/src/mage/cards/h/HydrasGrowth.java index 1343761f28a..ce57869426c 100644 --- a/Mage.Sets/src/mage/cards/h/HydrasGrowth.java +++ b/Mage.Sets/src/mage/cards/h/HydrasGrowth.java @@ -2,7 +2,7 @@ package mage.cards.h; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -43,8 +42,8 @@ public final class HydrasGrowth extends CardImpl { new AddCountersAttachedEffect(CounterType.P1P1.createInstance(), "enchanted creature"), false)); // At the beginning of your upkeep, double the number of +1/+1 counters on enchanted creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new HydrasGrowthDoubleEffect(), - TargetController.YOU, false)); + new HydrasGrowthDoubleEffect() + )); } private HydrasGrowth(final HydrasGrowth card) { diff --git a/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java b/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java index 66ee859e7a0..3c26f0ea22b 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java +++ b/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.IsStepCondition; @@ -19,7 +19,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.PhaseStep; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -46,7 +45,7 @@ public final class IcatianMoneychanger extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false)); // At the beginning of your upkeep, put a credit counter on Icatian Moneychanger. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CREDIT.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CREDIT.createInstance()))); // Sacrifice Icatian Moneychanger: You gain 1 life for each credit counter on Icatian Moneychanger. Activate this ability only during your upkeep. this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/i/IcatianStore.java b/Mage.Sets/src/mage/cards/i/IcatianStore.java index 446e2eeb884..14beaf6c2c9 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianStore.java +++ b/Mage.Sets/src/mage/cards/i/IcatianStore.java @@ -4,7 +4,7 @@ package mage.cards.i; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SkipUntapOptionalAbility; import mage.abilities.condition.common.SourceTappedCondition; @@ -20,8 +20,6 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -40,7 +38,7 @@ public final class IcatianStore extends CardImpl { // At the beginning of your upkeep, if Icatian Store is tapped, put a storage counter on it. OneShotEffect addStorageCounter = new AddCountersSourceEffect(CounterType.STORAGE.createInstance()); Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.TAPPED, "if {this} is tapped, put a storage counter on it"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // {tap}, Remove any number of storage counters from Icatian Store: Add {W} for each storage counter removed this way. Ability ability = new DynamicManaAbility( Mana.WhiteMana(1), diff --git a/Mage.Sets/src/mage/cards/i/Ichorid.java b/Mage.Sets/src/mage/cards/i/Ichorid.java index 170c48b0d4c..148145dad43 100644 --- a/Mage.Sets/src/mage/cards/i/Ichorid.java +++ b/Mage.Sets/src/mage/cards/i/Ichorid.java @@ -3,7 +3,7 @@ package mage.cards.i; import mage.MageInt; import mage.ObjectColor; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceInGraveyardCondition; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.effects.common.DoIfCostPaid; @@ -50,10 +50,10 @@ public final class Ichorid extends CardImpl { this.addAbility(new BeginningOfEndStepTriggeredAbility(new SacrificeSourceEffect(), TargetController.NEXT, false)); // At the beginning of your upkeep, if Ichorid is in your graveyard, you may exile a black creature card other than Ichorid from your graveyard. If you do, return Ichorid to the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, new DoIfCostPaid( + this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, TargetController.YOU, new DoIfCostPaid( new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return {this} to the battlefield"), new ExileFromGraveCost(new TargetCardInYourGraveyard(filter)) - ), TargetController.YOU, false).withInterveningIf(SourceInGraveyardCondition.instance)); + ), false).withInterveningIf(SourceInGraveyardCondition.instance)); } private Ichorid(final Ichorid card) { diff --git a/Mage.Sets/src/mage/cards/i/IcyPrison.java b/Mage.Sets/src/mage/cards/i/IcyPrison.java index 47e0b8bceef..4e952957bc1 100644 --- a/Mage.Sets/src/mage/cards/i/IcyPrison.java +++ b/Mage.Sets/src/mage/cards/i/IcyPrison.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.LeavesBattlefieldTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; @@ -14,7 +14,6 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -35,7 +34,7 @@ public final class IcyPrison extends CardImpl { // At the beginning of your upkeep, sacrifice Icy Prison unless any player pays {3}. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DoUnlessAnyPlayerPaysEffect(new SacrificeSourceEffect(), new GenericManaCost(3)), TargetController.YOU, false)); + new DoUnlessAnyPlayerPaysEffect(new SacrificeSourceEffect(), new GenericManaCost(3)))); // When Icy Prison leaves the battlefield, return the exiled card to the battlefield under its owner's control. this.addAbility(new LeavesBattlefieldTriggeredAbility(new ReturnFromExileForSourceEffect(Zone.BATTLEFIELD), false)); diff --git a/Mage.Sets/src/mage/cards/i/IllGottenInheritance.java b/Mage.Sets/src/mage/cards/i/IllGottenInheritance.java index 9d613f0b51c..ebaa64127d5 100644 --- a/Mage.Sets/src/mage/cards/i/IllGottenInheritance.java +++ b/Mage.Sets/src/mage/cards/i/IllGottenInheritance.java @@ -1,7 +1,7 @@ package mage.cards.i; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -26,8 +26,7 @@ public final class IllGottenInheritance extends CardImpl { // At the beginning of your upkeep, Ill-Gotten Inheritance deals 1 damage to each opponent and you gain 1 life. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new DamagePlayersEffect(1, TargetController.OPPONENT), - TargetController.YOU, false + new DamagePlayersEffect(1, TargetController.OPPONENT) ); ability.addEffect(new GainLifeEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/i/IllusionaryPresence.java b/Mage.Sets/src/mage/cards/i/IllusionaryPresence.java index 5211247dc86..74b6293e9e9 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionaryPresence.java +++ b/Mage.Sets/src/mage/cards/i/IllusionaryPresence.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.constants.SubType; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -21,8 +21,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; /** @@ -42,7 +40,7 @@ public final class IllusionaryPresence extends CardImpl { this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{U}"))); // At the beginning of your upkeep, choose a land type. Illusionary Presence gains landwalk of the chosen type until end of turn. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ChooseBasicLandTypeEffect(Outcome.Neutral), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ChooseBasicLandTypeEffect(Outcome.Neutral)); ability.addEffect(new IllusionaryPresenceEffect()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/i/IllustriousWanderglyph.java b/Mage.Sets/src/mage/cards/i/IllustriousWanderglyph.java index 6131fddf796..11b686bdebe 100644 --- a/Mage.Sets/src/mage/cards/i/IllustriousWanderglyph.java +++ b/Mage.Sets/src/mage/cards/i/IllustriousWanderglyph.java @@ -1,7 +1,7 @@ package mage.cards.i; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -46,7 +46,7 @@ public final class IllustriousWanderglyph extends CardImpl { // At the beginning of each upkeep, create a 1/1 colorless Gnome artifact creature token. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new GnomeToken()), TargetController.EACH_PLAYER, false + TargetController.ANY, new CreateTokenEffect(new GnomeToken()), false )); } diff --git a/Mage.Sets/src/mage/cards/i/ImaginaryPet.java b/Mage.Sets/src/mage/cards/i/ImaginaryPet.java index 54092235101..3a1ccda78f2 100644 --- a/Mage.Sets/src/mage/cards/i/ImaginaryPet.java +++ b/Mage.Sets/src/mage/cards/i/ImaginaryPet.java @@ -4,7 +4,7 @@ package mage.cards.i; import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.ReturnToHandSourceEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ComparisonType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class ImaginaryPet extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, if you have a card in hand, return Imaginary Pet to its owner's hand. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(true), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(true)); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new CardsInHandCondition(ComparisonType.MORE_THAN, 0), "At the beginning of your upkeep, if you have a card in hand, return {this} to its owner's hand.")); } diff --git a/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java b/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java index 50f0e9d8c68..a584f8cedcf 100644 --- a/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java +++ b/Mage.Sets/src/mage/cards/i/ImpendingDisaster.java @@ -1,7 +1,7 @@ package mage.cards.i; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -11,8 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; import java.util.UUID; @@ -29,7 +27,7 @@ public final class ImpendingDisaster extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); // At the beginning of your upkeep, if there are seven or more lands on the battlefield, sacrifice Impending Disaster and destroy all lands. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()); ability.addEffect(new DestroyAllEffect(StaticFilters.FILTER_LANDS)); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, "At the beginning of your upkeep, if there are seven or more lands on the battlefield, sacrifice {this} and destroy all lands")); diff --git a/Mage.Sets/src/mage/cards/i/InSearchOfGreatness.java b/Mage.Sets/src/mage/cards/i/InSearchOfGreatness.java index dbe81126063..13c14cc92ec 100644 --- a/Mage.Sets/src/mage/cards/i/InSearchOfGreatness.java +++ b/Mage.Sets/src/mage/cards/i/InSearchOfGreatness.java @@ -3,7 +3,7 @@ package mage.cards.i; import mage.MageObject; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -11,7 +11,6 @@ import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.StaticFilters; import mage.filter.common.FilterPermanentCard; @@ -36,7 +35,7 @@ public final class InSearchOfGreatness extends CardImpl { // equal to 1 plus the highest converted mana cost among other permanents you control // without paying its mana cost. If you don't, scry 1. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new InSearchOfGreatnessEffect(), TargetController.YOU, false + new InSearchOfGreatnessEffect() )); } diff --git a/Mage.Sets/src/mage/cards/i/Incendiary.java b/Mage.Sets/src/mage/cards/i/Incendiary.java index 122eb010207..b349674d1a1 100644 --- a/Mage.Sets/src/mage/cards/i/Incendiary.java +++ b/Mage.Sets/src/mage/cards/i/Incendiary.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.Effect; @@ -17,8 +17,6 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreatureOrPlayer; @@ -43,8 +41,8 @@ public final class Incendiary extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, you may put a fuse counter on Incendiary. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.FUSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.FUSE.createInstance(), true), true)); // When enchanted creature dies, Incendiary deals X damage to any target, where X is the number of fuse counters on Incendiary. Effect effect = new DamageTargetEffect(new CountersSourceCount(CounterType.FUSE)).setText(rule); diff --git a/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java b/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java index 56dfd5cdee2..85ece935ade 100644 --- a/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java +++ b/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java @@ -4,7 +4,7 @@ package mage.cards.i; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -15,11 +15,9 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponent; /** @@ -39,7 +37,7 @@ public final class IndulgentTormentor extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, draw a card unless target opponent sacrifices a creature or pays 3 life. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new IndulgentTormentorEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new IndulgentTormentorEffect()); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/i/InevitableEnd.java b/Mage.Sets/src/mage/cards/i/InevitableEnd.java index 04930e7ade1..278a5f9b682 100644 --- a/Mage.Sets/src/mage/cards/i/InevitableEnd.java +++ b/Mage.Sets/src/mage/cards/i/InevitableEnd.java @@ -2,7 +2,7 @@ package mage.cards.i; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.SacrificeControllerEffect; @@ -38,9 +38,9 @@ public final class InevitableEnd extends CardImpl { // creature." BeginningOfUpkeepTriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility( - new SacrificeControllerEffect( - StaticFilters.FILTER_PERMANENT_CREATURE, 1, null), - TargetController.YOU, false); + new SacrificeControllerEffect( + StaticFilters.FILTER_PERMANENT_CREATURE, 1, null) + ); this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect( triggeredAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, "Enchanted creature has \"" + triggeredAbility.getRule() + "\""))); diff --git a/Mage.Sets/src/mage/cards/i/InfectiousCurse.java b/Mage.Sets/src/mage/cards/i/InfectiousCurse.java index f13581006c1..ba90315de95 100644 --- a/Mage.Sets/src/mage/cards/i/InfectiousCurse.java +++ b/Mage.Sets/src/mage/cards/i/InfectiousCurse.java @@ -2,7 +2,7 @@ package mage.cards.i; import mage.abilities.Ability; import mage.abilities.SpellAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -45,8 +45,8 @@ public final class InfectiousCurse extends CardImpl { // At the beginning of enchanted player's upkeep, that player loses 1 life and you gain 1 life. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new LoseLifeTargetEffect(1).setText("that player loses 1 life"), - TargetController.ENCHANTED, false + TargetController.ENCHANTED, new LoseLifeTargetEffect(1).setText("that player loses 1 life"), + false ); ability.addEffect(new GainLifeEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/i/InfernalDenizen.java b/Mage.Sets/src/mage/cards/i/InfernalDenizen.java index 24c45f74a78..8bb04e298e7 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalDenizen.java +++ b/Mage.Sets/src/mage/cards/i/InfernalDenizen.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.SourceOnBattlefieldCondition; import mage.abilities.condition.common.SourceRemainsInZoneCondition; @@ -47,7 +47,7 @@ public final class InfernalDenizen extends CardImpl { this.toughness = new MageInt(7); // At the beginning of your upkeep, sacrifice two Swamps. If you can't, tap Infernal Denizen, and an opponent may gain control of a creature you control of their choice for as long as Infernal Denizen remains on the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InfernalDenizenEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InfernalDenizenEffect())); // {tap}: Gain control of target creature for as long as Infernal Denizen remains on the battlefield. ConditionalContinuousEffect effect = new ConditionalContinuousEffect( diff --git a/Mage.Sets/src/mage/cards/i/InfernalGenesis.java b/Mage.Sets/src/mage/cards/i/InfernalGenesis.java index dfd44f3e29e..36d9fea4d6c 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalGenesis.java +++ b/Mage.Sets/src/mage/cards/i/InfernalGenesis.java @@ -2,7 +2,7 @@ package mage.cards.i; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -27,7 +27,7 @@ public final class InfernalGenesis extends CardImpl { // At the beginning of each player's upkeep, that player puts the top card of their library into their graveyard. // Then they create X 1/1 black Minion creature tokens, where X is that card's converted mana cost. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InfernalGenesisEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new InfernalGenesisEffect(), false)); } private InfernalGenesis(final InfernalGenesis card) { diff --git a/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java b/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java index 392d878d66a..77e4d3c9009 100644 --- a/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java +++ b/Mage.Sets/src/mage/cards/i/InfiniteHourglass.java @@ -4,7 +4,7 @@ package mage.cards.i; import java.util.UUID; import mage.abilities.ActivatedAbility; import mage.abilities.common.ActivateIfConditionActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -32,7 +32,7 @@ public final class InfiniteHourglass extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // At the beginning of your upkeep, put a time counter on Infinite Hourglass. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance()))); // All creatures get +1/+0 for each time counter on Infinite Hourglass. this.addAbility(new SimpleStaticAbility( diff --git a/Mage.Sets/src/mage/cards/i/IngeniousProdigy.java b/Mage.Sets/src/mage/cards/i/IngeniousProdigy.java index 4a368e33542..2fb2158a51c 100644 --- a/Mage.Sets/src/mage/cards/i/IngeniousProdigy.java +++ b/Mage.Sets/src/mage/cards/i/IngeniousProdigy.java @@ -1,7 +1,7 @@ package mage.cards.i; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import java.util.UUID; @@ -47,7 +46,7 @@ public final class IngeniousProdigy extends CardImpl { new DoIfCostPaid( new DrawCardSourceControllerEffect(1), new RemoveCountersSourceCost(CounterType.P1P1.createInstance()) - ), TargetController.YOU, false + ), false ), condition, "At the beginning of your upkeep, if {this} has one or more " + "+1/+1 counters on it, you may remove a +1/+1 counter from it. If you do, draw a card." )); diff --git a/Mage.Sets/src/mage/cards/i/Inhumaniac.java b/Mage.Sets/src/mage/cards/i/Inhumaniac.java index c61607bbf31..174d6dda14c 100644 --- a/Mage.Sets/src/mage/cards/i/Inhumaniac.java +++ b/Mage.Sets/src/mage/cards/i/Inhumaniac.java @@ -2,14 +2,13 @@ package mage.cards.i; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -30,7 +29,7 @@ public final class Inhumaniac extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, roll a six-sided die. On a 3 or 4, put a +1/+1 counter on Inhumaniac. On a 5 or higher, put two +1/+1 counters on it. On a 1, remove all +1/+1 counters from Inhumaniac. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InhumaniacEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InhumaniacEffect())); } private Inhumaniac(final Inhumaniac card) { diff --git a/Mage.Sets/src/mage/cards/i/InnocentTraveler.java b/Mage.Sets/src/mage/cards/i/InnocentTraveler.java index 89a52993e52..6dc1f24151b 100644 --- a/Mage.Sets/src/mage/cards/i/InnocentTraveler.java +++ b/Mage.Sets/src/mage/cards/i/InnocentTraveler.java @@ -2,7 +2,7 @@ package mage.cards.i; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.Game; @@ -36,7 +35,7 @@ public final class InnocentTraveler extends CardImpl { // At the beginning of your upkeep, any opponent may sacrifice a creature. If no one does, transform Innocent Traveler. this.addAbility(new TransformAbility()); this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new InnocentTravelerEffect(), TargetController.YOU, false + new InnocentTravelerEffect() )); } diff --git a/Mage.Sets/src/mage/cards/i/InstrumentOfTheBards.java b/Mage.Sets/src/mage/cards/i/InstrumentOfTheBards.java index b6c0302ff73..28c106f904a 100644 --- a/Mage.Sets/src/mage/cards/i/InstrumentOfTheBards.java +++ b/Mage.Sets/src/mage/cards/i/InstrumentOfTheBards.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -36,8 +36,7 @@ public final class InstrumentOfTheBards extends CardImpl { // At the beginning of your upkeep, you may put a harmony counter on Instrument of Bards. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.HARMONY.createInstance()), - TargetController.YOU, true + new AddCountersSourceEffect(CounterType.HARMONY.createInstance()), true )); // {3}{G}, {T}: Search your library for a creature card with mana value equal to the number of harmony diff --git a/Mage.Sets/src/mage/cards/i/IntoTheWilds.java b/Mage.Sets/src/mage/cards/i/IntoTheWilds.java index 6ba633a55aa..4a7dbb47567 100644 --- a/Mage.Sets/src/mage/cards/i/IntoTheWilds.java +++ b/Mage.Sets/src/mage/cards/i/IntoTheWilds.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -26,7 +25,7 @@ public final class IntoTheWilds extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}"); // At the beginning of your upkeep, look at the top card of your library. If it's a land card, you may put it onto the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new IntoTheWildsEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new IntoTheWildsEffect())); } diff --git a/Mage.Sets/src/mage/cards/i/IronMaiden.java b/Mage.Sets/src/mage/cards/i/IronMaiden.java index 5a7fa900937..fa2b5221a3b 100644 --- a/Mage.Sets/src/mage/cards/i/IronMaiden.java +++ b/Mage.Sets/src/mage/cards/i/IronMaiden.java @@ -1,7 +1,7 @@ package mage.cards.i; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -22,7 +22,7 @@ public final class IronMaiden extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // At the beginning of each opponent's upkeep, Iron Maiden deals X damage to that player, where X is the number of cards in their hand minus 4. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new IronMaidenEffect(), TargetController.OPPONENT, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new IronMaidenEffect(), false); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java b/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java index 27bb12ea2a8..29626fbc283 100644 --- a/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java +++ b/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -34,10 +34,8 @@ public final class IslandFishJasconius extends CardImpl { // At the beginning of your upkeep, you may pay {U}{U}{U}. If you do, untap Island Fish Jasconius. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new DoIfCostPaid(new UntapSourceEffect(), new ManaCostsImpl<>("{U}{U}{U}")), - TargetController.YOU, - false)); + new DoIfCostPaid(new UntapSourceEffect(), new ManaCostsImpl<>("{U}{U}{U}")) + )); // Island Fish Jasconius can't attack unless defending player controls an Island. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackUnlessDefenderControllsPermanent(new FilterLandPermanent(SubType.ISLAND, "an Island")))); diff --git a/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java b/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java index 38b62435d79..18a83c4c14a 100644 --- a/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java +++ b/Mage.Sets/src/mage/cards/i/IvoryCraneNetsuke.java @@ -3,7 +3,7 @@ package mage.cards.i; import java.util.UUID; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; @@ -11,8 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -24,7 +22,7 @@ public final class IvoryCraneNetsuke extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); // At the beginning of your upkeep, if you have seven or more cards in hand, you gain 4 life. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(4), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(4)); CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.MORE_THAN, 6); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, "At the beginning of your upkeep, if you have seven or more cards in hand, you gain 4 life.")); diff --git a/Mage.Sets/src/mage/cards/i/IvoryTower.java b/Mage.Sets/src/mage/cards/i/IvoryTower.java index 720257bd786..797bd7d113c 100644 --- a/Mage.Sets/src/mage/cards/i/IvoryTower.java +++ b/Mage.Sets/src/mage/cards/i/IvoryTower.java @@ -3,13 +3,12 @@ package mage.cards.i; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -23,7 +22,7 @@ public final class IvoryTower extends CardImpl { public IvoryTower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new IvoryTowerEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new IvoryTowerEffect())); } private IvoryTower(final IvoryTower card) { diff --git a/Mage.Sets/src/mage/cards/j/JinxedIdol.java b/Mage.Sets/src/mage/cards/j/JinxedIdol.java index b81fabd309b..e1e9fe4bec9 100644 --- a/Mage.Sets/src/mage/cards/j/JinxedIdol.java +++ b/Mage.Sets/src/mage/cards/j/JinxedIdol.java @@ -1,7 +1,7 @@ package mage.cards.j; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.DamageControllerEffect; @@ -9,7 +9,6 @@ import mage.abilities.effects.common.TargetPlayerGainControlSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetOpponent; @@ -26,7 +25,7 @@ public final class JinxedIdol extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); // At the beginning of your upkeep, Jinxed Idol deals 2 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(2))); // Sacrifice a creature: Target opponent gains control of Jinxed Idol. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TargetPlayerGainControlSourceEffect(), diff --git a/Mage.Sets/src/mage/cards/j/JourneyToTheLostCity.java b/Mage.Sets/src/mage/cards/j/JourneyToTheLostCity.java index e15840a3095..297633e3a17 100644 --- a/Mage.Sets/src/mage/cards/j/JourneyToTheLostCity.java +++ b/Mage.Sets/src/mage/cards/j/JourneyToTheLostCity.java @@ -1,12 +1,11 @@ package mage.cards.j; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.InfoEffect; import mage.abilities.effects.common.RollDieWithResultTableEffect; import mage.cards.*; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -35,7 +34,7 @@ public final class JourneyToTheLostCity extends CardImpl { // 10-19 | Create a 2/2 green Wolf creature token, then put a +1/+1 counter on it for each creature card among those cards. // 20 | Put all permanent cards exiled with Journey to the Lost City onto the battlefield, then sacrifice it. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new JourneyToTheLostCityEffect(), TargetController.YOU, false + new JourneyToTheLostCityEffect() )); } diff --git a/Mage.Sets/src/mage/cards/j/JumboImp.java b/Mage.Sets/src/mage/cards/j/JumboImp.java index 4ef2fce3275..cc652b335e2 100644 --- a/Mage.Sets/src/mage/cards/j/JumboImp.java +++ b/Mage.Sets/src/mage/cards/j/JumboImp.java @@ -4,7 +4,7 @@ package mage.cards.j; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; @@ -42,7 +42,7 @@ public final class JumboImp extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new JumboImpEffect(CounterType.P1P1.createInstance()))); // At the beginning of your upkeep, roll a six-sided die and put a number of +1/+1 counters on Jumbo Imp equal to the result. - Ability ability2 = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new JumboImpAddCountersEffect(), TargetController.YOU, false); + Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new JumboImpAddCountersEffect()); this.addAbility(ability2); // At the beginning of your end step, roll a six-sided die and remove a number of +1/+1 counters from Jumbo Imp equal to the result. diff --git a/Mage.Sets/src/mage/cards/j/JunkGolem.java b/Mage.Sets/src/mage/cards/j/JunkGolem.java index 3e5c308ec4d..cc46d7a0174 100644 --- a/Mage.Sets/src/mage/cards/j/JunkGolem.java +++ b/Mage.Sets/src/mage/cards/j/JunkGolem.java @@ -4,7 +4,7 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DiscardCardCost; @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; /** @@ -39,7 +38,7 @@ public final class JunkGolem extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility( new SacrificeSourceUnlessPaysEffect( new RemoveCountersSourceCost(CounterType.P1P1.createInstance()).setText("remove a +1/+1 counter from it") - ), TargetController.YOU, false + ) )); // {1}, Discard a card: Put a +1/+1 counter on Junk Golem. diff --git a/Mage.Sets/src/mage/cards/j/JunkyoBell.java b/Mage.Sets/src/mage/cards/j/JunkyoBell.java index 0857827e9ce..bd69fa5bf43 100644 --- a/Mage.Sets/src/mage/cards/j/JunkyoBell.java +++ b/Mage.Sets/src/mage/cards/j/JunkyoBell.java @@ -2,7 +2,7 @@ package mage.cards.j; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.dynamicvalue.common.CreaturesYouControlCount; import mage.abilities.effects.OneShotEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; 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.target.common.TargetControlledCreaturePermanent; @@ -33,9 +32,8 @@ public final class JunkyoBell extends CardImpl { // At the beginning of your upkeep, you may have target creature you control get +X/+X until end of turn, // where X is the number of creatures you control. If you do, sacrifice that creature at the beginning of the next end step. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new BoostTargetEffect(CreaturesYouControlCount.instance, CreaturesYouControlCount.instance, Duration.EndOfTurn), - TargetController.YOU, - true); + new BoostTargetEffect(CreaturesYouControlCount.instance, CreaturesYouControlCount.instance, Duration.EndOfTurn), true + ); ability.addTarget(new TargetControlledCreaturePermanent()); ability.addEffect(new JunkyoBellSacrificeEffect()); ability.addHint(CreaturesYouControlHint.instance); diff --git a/Mage.Sets/src/mage/cards/j/JununEfreet.java b/Mage.Sets/src/mage/cards/j/JununEfreet.java index 9387cc5af44..b9e94875715 100644 --- a/Mage.Sets/src/mage/cards/j/JununEfreet.java +++ b/Mage.Sets/src/mage/cards/j/JununEfreet.java @@ -3,7 +3,7 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class JununEfreet extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Junun Efreet unless you pay {B}{B}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}")))); } private JununEfreet(final JununEfreet card) { diff --git a/Mage.Sets/src/mage/cards/j/Justice.java b/Mage.Sets/src/mage/cards/j/Justice.java index 8ef95622285..5ed22c53c89 100644 --- a/Mage.Sets/src/mage/cards/j/Justice.java +++ b/Mage.Sets/src/mage/cards/j/Justice.java @@ -3,7 +3,7 @@ package mage.cards.j; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -33,7 +32,7 @@ public final class Justice extends CardImpl { // At the beginning of your upkeep, sacrifice Justice unless you pay {W}{W}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")))); // Whenever a red creature or spell deals damage, Justice deals that much damage to that creature's or spell's controller. this.addAbility(new JusticeTriggeredAbility(new JusticeEffect())); diff --git a/Mage.Sets/src/mage/cards/j/JuzamDjinn.java b/Mage.Sets/src/mage/cards/j/JuzamDjinn.java index 960b747e045..879f81bff9a 100644 --- a/Mage.Sets/src/mage/cards/j/JuzamDjinn.java +++ b/Mage.Sets/src/mage/cards/j/JuzamDjinn.java @@ -3,13 +3,12 @@ package mage.cards.j; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -25,7 +24,7 @@ public final class JuzamDjinn extends CardImpl { this.toughness = new MageInt(5); // At the beginning of your upkeep, Juzam Djinn deals 1 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1))); } private JuzamDjinn(final JuzamDjinn card) { diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java b/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java index bf11baff639..413b147059a 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java @@ -3,7 +3,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.SoulshiftAbility; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class KamiOfTheTendedGarden extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, sacrifice Kami of the Tended Garden unless you pay {G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ColoredManaCost(ColoredManaSymbol.G)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ColoredManaCost(ColoredManaSymbol.G)))); this.addAbility(new SoulshiftAbility(3)); } diff --git a/Mage.Sets/src/mage/cards/k/Karma.java b/Mage.Sets/src/mage/cards/k/Karma.java index 87451c32779..6f267d9fc43 100644 --- a/Mage.Sets/src/mage/cards/k/Karma.java +++ b/Mage.Sets/src/mage/cards/k/Karma.java @@ -1,8 +1,7 @@ package mage.cards.k; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -28,7 +27,7 @@ public final class Karma extends CardImpl { // At the beginning of each player's upkeep, Karma deals damage to that player equal to the number of Swamps they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new KarmaDamageTargetEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new KarmaDamageTargetEffect(), false)); } private Karma(final Karma card) { diff --git a/Mage.Sets/src/mage/cards/k/KarnLegacyReforged.java b/Mage.Sets/src/mage/cards/k/KarnLegacyReforged.java index 53bf40dbecb..ee1a49e88ca 100644 --- a/Mage.Sets/src/mage/cards/k/KarnLegacyReforged.java +++ b/Mage.Sets/src/mage/cards/k/KarnLegacyReforged.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.MageObject; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -42,7 +42,7 @@ public final class KarnLegacyReforged extends CardImpl { // At the beginning of your upkeep, add {C} for each artifact you control. This mana can't be spent to cast nonartifact spells. Until end of turn, you don't lose this mana as steps and phases end. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new KarnLegacyReforgedEffect(), TargetController.YOU, false + new KarnLegacyReforgedEffect() )); } diff --git a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java index ab435637716..4f7836e5b17 100644 --- a/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java +++ b/Mage.Sets/src/mage/cards/k/KaronaFalseGod.java @@ -5,7 +5,7 @@ import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostAllEffect; @@ -40,7 +40,7 @@ public final class KaronaFalseGod extends CardImpl { this.addAbility(HasteAbility.getInstance()); // At the beginning of each player's upkeep, that player untaps Karona, False God and gains control of it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new KaronaFalseGodUntapGetControlEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new KaronaFalseGodUntapGetControlEffect(), false)); // Whenever Karona attacks, creatures of the creature type of your choice get +3/+3 until end of turn. this.addAbility(new AttacksTriggeredAbility(new KaronaFalseGodEffect(), false)); diff --git a/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java b/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java index ffa8d982004..f4c61775508 100644 --- a/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java +++ b/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java @@ -4,7 +4,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.Effect; @@ -35,7 +35,7 @@ public final class KatakiWarsWage extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(1); // All artifacts have "At the beginning of your upkeep, sacrifice this artifact unless you pay {1}." - Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1)), TargetController.YOU, false); + Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1))); Effect effect = new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, filter, false); effect.setText("All artifacts have \"At the beginning of your upkeep, sacrifice this artifact unless you pay {1}.\""); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); diff --git a/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java b/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java index 5533a3f4fea..291adaf8e81 100644 --- a/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java +++ b/Mage.Sets/src/mage/cards/k/KatsumasaTheAnimator.java @@ -2,7 +2,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -59,7 +59,7 @@ public final class KatsumasaTheAnimator extends CardImpl { // At the beginning of your upkeep, put a +1/+1 counter on each of up to three target noncreature artifacts. ability = new BeginningOfUpkeepTriggeredAbility( - new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false + new AddCountersTargetEffect(CounterType.P1P1.createInstance()) ); ability.addTarget(new TargetPermanent(0, 3, filter2)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KeenDuelist.java b/Mage.Sets/src/mage/cards/k/KeenDuelist.java index a435ca2fdfe..cc26fdf99ff 100644 --- a/Mage.Sets/src/mage/cards/k/KeenDuelist.java +++ b/Mage.Sets/src/mage/cards/k/KeenDuelist.java @@ -2,7 +2,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.*; @@ -27,7 +27,7 @@ public final class KeenDuelist extends CardImpl { // At the beginning of your upkeep, you and target opponent each reveal the top card of your library. You each lose life equal to the mana value of the card revealed by the other player. You each put the card you revealed into your hand. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new KeenDuelistEffect(), TargetController.YOU, false + new KeenDuelistEffect() ); ability.addTarget(new TargetOpponent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java b/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java index 1df6126d706..a35271883d5 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java @@ -3,7 +3,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -15,8 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; /** @@ -38,9 +36,9 @@ public final class KeeperOfKeys extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new BecomesMonarchSourceEffect()).addHint(MonarchHint.instance)); // At the beginning of your upkeep, if you're the monarch, creatures you control can't be blocked this turn. - this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new CantBeBlockedAllEffect(StaticFilters.FILTER_CONTROLLED_CREATURES, Duration.EndOfTurn), - TargetController.YOU, false), MonarchIsSourceControllerCondition.instance, + this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility( + new CantBeBlockedAllEffect(StaticFilters.FILTER_CONTROLLED_CREATURES, Duration.EndOfTurn) + ), MonarchIsSourceControllerCondition.instance, "At the beginning of your upkeep, if you're the monarch, creatures you control can't be blocked this turn.")); } diff --git a/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java b/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java index 6b3f6bddcc3..79fb827021e 100644 --- a/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java +++ b/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java @@ -3,7 +3,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.EquipmentAttachedCount; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.game.permanent.token.CatToken; /** @@ -29,8 +28,8 @@ public final class KembaKhaRegent extends CardImpl { this.power = new MageInt(2); this.toughness = new MageInt(4); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new CatToken(), new EquipmentAttachedCount()), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new CatToken(), new EquipmentAttachedCount()) + )); } private KembaKhaRegent(final KembaKhaRegent card) { diff --git a/Mage.Sets/src/mage/cards/k/Kezzerdrix.java b/Mage.Sets/src/mage/cards/k/Kezzerdrix.java index a5171f7a51f..2e4e111d1f2 100644 --- a/Mage.Sets/src/mage/cards/k/Kezzerdrix.java +++ b/Mage.Sets/src/mage/cards/k/Kezzerdrix.java @@ -3,7 +3,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CreatureCountCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -34,7 +33,7 @@ public final class Kezzerdrix extends CardImpl { // At the beginning of your upkeep, if your opponents control no creatures, Kezzerdrix deals 4 damage to you. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(4), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(4)), new CreatureCountCondition(0, TargetController.OPPONENT), "At the beginning of your upkeep, if your opponents control no creatures, {this} deals 4 damage to you.")); } diff --git a/Mage.Sets/src/mage/cards/k/KheruLichLord.java b/Mage.Sets/src/mage/cards/k/KheruLichLord.java index 7f16c65aa70..6079b97837e 100644 --- a/Mage.Sets/src/mage/cards/k/KheruLichLord.java +++ b/Mage.Sets/src/mage/cards/k/KheruLichLord.java @@ -3,7 +3,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.ContinuousEffect; @@ -41,8 +41,8 @@ public final class KheruLichLord extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, you may pay {2}{B}. If you do, return a creature card at random from your graveyard to the battlefield. It gains flying, trample, and haste. Exile that card at the beginning of the next end step. If that card would leave the battlefield, exile it instead of putting it anywhere else. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new DoIfCostPaid(new KheruLichLordEffect(), new ManaCostsImpl<>("{2}{B}"), "Return creature card from your graveyard?"), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new DoIfCostPaid(new KheruLichLordEffect(), new ManaCostsImpl<>("{2}{B}"), "Return creature card from your graveyard?"))); } private KheruLichLord(final KheruLichLord card) { diff --git a/Mage.Sets/src/mage/cards/k/KillerInstinct.java b/Mage.Sets/src/mage/cards/k/KillerInstinct.java index 5b349790c49..877ac5baf9f 100644 --- a/Mage.Sets/src/mage/cards/k/KillerInstinct.java +++ b/Mage.Sets/src/mage/cards/k/KillerInstinct.java @@ -4,7 +4,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.Effect; @@ -19,7 +19,6 @@ import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; @@ -37,7 +36,7 @@ public final class KillerInstinct extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}{G}"); // At the beginning of your upkeep, reveal the top card of your library. If it's a creature card, put it onto the battlefield. That creature gains haste until end of turn. Sacrifice it at the beginning of the next end step. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new KillerInstinctEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new KillerInstinctEffect())); } private KillerInstinct(final KillerInstinct card) { diff --git a/Mage.Sets/src/mage/cards/k/KomaCosmosSerpent.java b/Mage.Sets/src/mage/cards/k/KomaCosmosSerpent.java index 1199a61385a..8cb10a27161 100644 --- a/Mage.Sets/src/mage/cards/k/KomaCosmosSerpent.java +++ b/Mage.Sets/src/mage/cards/k/KomaCosmosSerpent.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.CantBeCounteredSourceAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; @@ -22,7 +22,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.KomasCoilToken; import mage.target.TargetPermanent; -import mage.target.common.TargetControlledPermanent; /** * @@ -50,7 +49,7 @@ public final class KomaCosmosSerpent extends CardImpl { // At the beginning of each upkeep, create a 3/3 blue Serpent creature token named Koma's Coil. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new CreateTokenEffect(new KomasCoilToken()), TargetController.EACH_PLAYER, false, false + TargetController.ANY, new CreateTokenEffect(new KomasCoilToken()), false )); // Sacrifice another Serpent: Choose one — diff --git a/Mage.Sets/src/mage/cards/k/Kookus.java b/Mage.Sets/src/mage/cards/k/Kookus.java index a3b4ada2e59..eaf313b0398 100644 --- a/Mage.Sets/src/mage/cards/k/Kookus.java +++ b/Mage.Sets/src/mage/cards/k/Kookus.java @@ -4,7 +4,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -20,7 +20,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.NamePredicate; @@ -48,7 +47,7 @@ public final class Kookus extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, if you don't control a creature named Keeper of Kookus, Kookus deals 3 damage to you and attacks this turn if able. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(3), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(3)); ability.addEffect(new AttacksIfAbleSourceEffect(Duration.EndOfTurn, false)); this.addAbility(new ConditionalInterveningIfTriggeredAbility( ability, diff --git a/Mage.Sets/src/mage/cards/k/KoskunFalls.java b/Mage.Sets/src/mage/cards/k/KoskunFalls.java index cfd44d31488..263c52f2a9e 100644 --- a/Mage.Sets/src/mage/cards/k/KoskunFalls.java +++ b/Mage.Sets/src/mage/cards/k/KoskunFalls.java @@ -1,7 +1,7 @@ package mage.cards.k; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.TapTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -36,7 +36,7 @@ public final class KoskunFalls extends CardImpl { // At the beginning of your upkeep, sacrifice Koskun Falls unless you tap an untapped creature you control. Effect effect = new SacrificeSourceUnlessPaysEffect(new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filterCreature, true))); effect.setText("sacrifice Koskun Falls unless you tap an untapped creature you control"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // Creatures can't attack you unless their controller pays {2} for each creature they control that's attacking you. this.addAbility(new SimpleStaticAbility( diff --git a/Mage.Sets/src/mage/cards/k/KrazyKow.java b/Mage.Sets/src/mage/cards/k/KrazyKow.java index a229070d2fa..e2f4498ae6f 100644 --- a/Mage.Sets/src/mage/cards/k/KrazyKow.java +++ b/Mage.Sets/src/mage/cards/k/KrazyKow.java @@ -3,7 +3,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamageEverythingEffect; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -33,7 +32,7 @@ public final class KrazyKow extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, roll a six-sided die. If you a roll a 1, sacrifice Krazy Kow and it deals 3 damage to each creature and each player. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new KrazyKowEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new KrazyKowEffect())); } private KrazyKow(final KrazyKow card) { @@ -73,4 +72,4 @@ class KrazyKowEffect extends OneShotEffect { public KrazyKowEffect copy() { return new KrazyKowEffect(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/k/KrosDefenseContractor.java b/Mage.Sets/src/mage/cards/k/KrosDefenseContractor.java index 9f2ac18adec..400c90449e9 100644 --- a/Mage.Sets/src/mage/cards/k/KrosDefenseContractor.java +++ b/Mage.Sets/src/mage/cards/k/KrosDefenseContractor.java @@ -2,7 +2,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutCounterOnCreatureTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.GoadTargetEffect; @@ -36,8 +36,8 @@ public final class KrosDefenseContractor extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, put a shield counter on target creature an opponent controls. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersTargetEffect(CounterType.SHIELD.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility( + new AddCountersTargetEffect(CounterType.SHIELD.createInstance())); ability.addTarget(new TargetOpponentsCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java b/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java index b871c4b1f59..a315aef695c 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java +++ b/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java @@ -3,7 +3,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.MorphAbility; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class KrosanCloudscraper extends CardImpl { this.toughness = new MageInt(13); // At the beginning of your upkeep, sacrifice Krosan Cloudscraper unless you pay {G}{G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}{G}")))); // Morph {7}{G}{G} this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{7}{G}{G}"))); diff --git a/Mage.Sets/src/mage/cards/k/KumenasAwakening.java b/Mage.Sets/src/mage/cards/k/KumenasAwakening.java index f2ccc846d11..b5c62227103 100644 --- a/Mage.Sets/src/mage/cards/k/KumenasAwakening.java +++ b/Mage.Sets/src/mage/cards/k/KumenasAwakening.java @@ -1,6 +1,6 @@ package mage.cards.k; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.effects.common.DrawCardAllEffect; @@ -10,7 +10,6 @@ import mage.abilities.keyword.AscendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -28,8 +27,8 @@ public final class KumenasAwakening extends CardImpl { // At the beginning of your upkeep, each player draws a card. If you have the city's blessing, instead only you draw a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( new ConditionalOneShotEffect(new DrawCardSourceControllerEffect(1), new DrawCardAllEffect(1), CitysBlessingCondition.instance, - "each player draws a card. If you have the city's blessing, instead only you draw a card"), - TargetController.YOU, false) + "each player draws a card. If you have the city's blessing, instead only you draw a card") + ) .addHint(CitysBlessingHint.instance)); } diff --git a/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java b/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java index 490d10e5c6e..25296aa0c39 100644 --- a/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java +++ b/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.effects.common.FlipSourceEffect; import mage.abilities.effects.common.SacrificeEffect; @@ -68,9 +68,8 @@ class KuonsEssenceToken extends TokenImpl { // At the beginning of each player's upkeep, that player sacrifices a creature.. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "that player"), - TargetController.ANY, false, true)); + TargetController.ANY, new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "that player"), + false)); } private KuonsEssenceToken(final KuonsEssenceToken token) { super(token); diff --git a/Mage.Sets/src/mage/cards/k/KuroPitlord.java b/Mage.Sets/src/mage/cards/k/KuroPitlord.java index 2409a859328..ee3b52ce025 100644 --- a/Mage.Sets/src/mage/cards/k/KuroPitlord.java +++ b/Mage.Sets/src/mage/cards/k/KuroPitlord.java @@ -4,7 +4,7 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -30,7 +30,7 @@ public final class KuroPitlord extends CardImpl { this.power = new MageInt(9); this.toughness = new MageInt(9); // At the beginning of your upkeep, sacrifice Kuro, Pitlord unless you pay {B}{B}{B}{B}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}{B}{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}{B}{B}")))); // Pay 1 life: Target creature gets -1/-1 until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new PayLifeCost(1)); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/k/KyrenArchive.java b/Mage.Sets/src/mage/cards/k/KyrenArchive.java index e51f3646873..e5406d9aa11 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenArchive.java +++ b/Mage.Sets/src/mage/cards/k/KyrenArchive.java @@ -3,7 +3,7 @@ package mage.cards.k; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DiscardHandCost; import mage.abilities.costs.common.SacrificeSourceCost; @@ -13,7 +13,6 @@ import mage.abilities.effects.common.ReturnFromExileForSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -27,9 +26,8 @@ public final class KyrenArchive extends CardImpl { // At the beginning of your upkeep, you may exile the top card of your library face down. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ExileCardsFromTopOfLibraryControllerEffect(1, true, true), - TargetController.YOU, - true) + new ExileCardsFromTopOfLibraryControllerEffect(1, true, true), true + ) ); // {5}, Discard your hand, Sacrifice Kyren Archive: Put all cards exiled with Kyren Archive into their owner's hand. diff --git a/Mage.Sets/src/mage/cards/k/KyrenSniper.java b/Mage.Sets/src/mage/cards/k/KyrenSniper.java index f90e4455ee1..e5d989ca0af 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenSniper.java +++ b/Mage.Sets/src/mage/cards/k/KyrenSniper.java @@ -4,13 +4,12 @@ package mage.cards.k; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.target.common.TargetPlayerOrPlaneswalker; /** @@ -26,7 +25,7 @@ public final class KyrenSniper extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, you may have Kyren Sniper deal 1 damage to target player. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(1), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(1), true); ability.addTarget(new TargetPlayerOrPlaneswalker()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/l/LandCap.java b/Mage.Sets/src/mage/cards/l/LandCap.java index 090411b03be..8715406dcf4 100644 --- a/Mage.Sets/src/mage/cards/l/LandCap.java +++ b/Mage.Sets/src/mage/cards/l/LandCap.java @@ -4,7 +4,7 @@ package mage.cards.l; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; @@ -17,7 +17,6 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -37,7 +36,7 @@ public final class LandCap extends CardImpl { Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); this.addAbility(ability); // At the beginning of your upkeep, remove a depletion counter from Land Cap. - Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()), TargetController.YOU, false); + Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance())); this.addAbility(ability2); // {T}: Add {W} or {U}. Put a depletion counter on Land Cap. Ability ability3 = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(1), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/l/LandTax.java b/Mage.Sets/src/mage/cards/l/LandTax.java index 7658c1dde72..8c31da5582c 100644 --- a/Mage.Sets/src/mage/cards/l/LandTax.java +++ b/Mage.Sets/src/mage/cards/l/LandTax.java @@ -1,14 +1,13 @@ package mage.cards.l; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.OpponentControlsMoreCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -25,7 +24,7 @@ public final class LandTax extends CardImpl { // At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, and put them into your hand. If you do, shuffle your library. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true), TargetController.YOU, true), + new BeginningOfUpkeepTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 3, StaticFilters.FILTER_CARD_BASIC_LAND), true), true), new OpponentControlsMoreCondition(StaticFilters.FILTER_LANDS), "At the beginning of your upkeep, if an opponent controls more lands than you, you may search your library for up to three basic land cards, reveal them, put them into your hand, then shuffle." )); diff --git a/Mage.Sets/src/mage/cards/l/LaughingJasperFlint.java b/Mage.Sets/src/mage/cards/l/LaughingJasperFlint.java index 41f8a671799..bed262d64e7 100644 --- a/Mage.Sets/src/mage/cards/l/LaughingJasperFlint.java +++ b/Mage.Sets/src/mage/cards/l/LaughingJasperFlint.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.OneShotEffect; @@ -50,7 +50,7 @@ public final class LaughingJasperFlint extends CardImpl { // At the beginning of your upkeep, exile the top X cards of target opponent's library, where X is the number of outlaws you control. Until end of turn, you may cast spells from among those cards, and mana of any type can be spent to cast those spells. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new LaughingJasperFlintEffect(), TargetController.YOU, false + new LaughingJasperFlintEffect() ); ability.addTarget(new TargetOpponent()); this.addAbility(ability.addHint(LaughingJasperFlintEffect.getHint())); diff --git a/Mage.Sets/src/mage/cards/l/LavaTubes.java b/Mage.Sets/src/mage/cards/l/LavaTubes.java index c6584d95443..bd934a28c11 100644 --- a/Mage.Sets/src/mage/cards/l/LavaTubes.java +++ b/Mage.Sets/src/mage/cards/l/LavaTubes.java @@ -4,7 +4,7 @@ package mage.cards.l; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; @@ -17,7 +17,6 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -37,7 +36,7 @@ public final class LavaTubes extends CardImpl { Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); this.addAbility(ability); // At the beginning of your upkeep, remove a depletion counter from Lava Tubes. - Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()), TargetController.YOU, false); + Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance())); this.addAbility(ability2); // {tap}: Add {B} or {R}. Put a depletion counter on Lava Tubes. Ability ability3 = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(1), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/l/LavabornMuse.java b/Mage.Sets/src/mage/cards/l/LavabornMuse.java index 0989e753fa4..13808b30afe 100644 --- a/Mage.Sets/src/mage/cards/l/LavabornMuse.java +++ b/Mage.Sets/src/mage/cards/l/LavabornMuse.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -30,7 +29,7 @@ public final class LavabornMuse extends CardImpl { // At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Lavaborn Muse deals 3 damage to that player. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), TargetController.OPPONENT, false, true), + new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new DamageTargetEffect(3), false), (Condition)new CardsInHandCondition(ComparisonType.FEWER_THAN, 3, TargetController.ACTIVE), "At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, {this} deals 3 damage to that player.")); } diff --git a/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java b/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java index c7ad4de5901..febb53720e5 100644 --- a/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java +++ b/Mage.Sets/src/mage/cards/l/LavabrinkFloodgates.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.OneShotEffect; @@ -39,7 +39,7 @@ public final class LavabrinkFloodgates extends CardImpl { // At the beginning of each player's upkeep, that player may put a doom counter on Lavabrink Floodgates or remove a doom counter from it. Then if it has three or more doom counters on it, sacrifice it. When you do, it deals 6 damage to each creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new LavabrinkFloodgatesEffect(), TargetController.ACTIVE, false + TargetController.EACH_PLAYER, new LavabrinkFloodgatesEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/l/LeechingLicid.java b/Mage.Sets/src/mage/cards/l/LeechingLicid.java index 4691f247986..7c1e863909e 100644 --- a/Mage.Sets/src/mage/cards/l/LeechingLicid.java +++ b/Mage.Sets/src/mage/cards/l/LeechingLicid.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.LicidAbility; import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.effects.Effect; @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -34,7 +33,7 @@ public final class LeechingLicid extends CardImpl { // At the beginning of the upkeep of enchanted creature's controller, Leeching Licid deals 1 damage to that player. Effect effect = new DamageTargetEffect(1); effect.setText("{this} deals 1 damage to that player"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, false)); } private LeechingLicid(final LeechingLicid card) { diff --git a/Mage.Sets/src/mage/cards/l/LegacysAllure.java b/Mage.Sets/src/mage/cards/l/LegacysAllure.java index 8bde6218faf..071cbbd1091 100644 --- a/Mage.Sets/src/mage/cards/l/LegacysAllure.java +++ b/Mage.Sets/src/mage/cards/l/LegacysAllure.java @@ -1,7 +1,7 @@ package mage.cards.l; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.dynamicvalue.common.CountersSourceCount; @@ -28,8 +28,8 @@ public final class LegacysAllure extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{U}"); // At the beginning of your upkeep, you may put a treasure counter on Legacy's Allure. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.TREASURE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.TREASURE.createInstance(), true), true)); // Sacrifice Legacy's Allure: Gain control of target creature with power less than or equal to the number of treasure counters on Legacy's Allure. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainControlTargetEffect(Duration.EndOfGame, true), new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/cards/l/Leviathan.java b/Mage.Sets/src/mage/cards/l/Leviathan.java index be1db9c23d8..b3ec3625bd8 100644 --- a/Mage.Sets/src/mage/cards/l/Leviathan.java +++ b/Mage.Sets/src/mage/cards/l/Leviathan.java @@ -4,7 +4,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; @@ -19,12 +19,10 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.game.Game; import mage.game.events.GameEvent; -import mage.target.common.TargetControlledPermanent; //import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -58,11 +56,9 @@ public final class Leviathan extends CardImpl { // At the beginning of your upkeep, you may sacrifice two Islands. If you do, untap Leviathan. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, - new DoIfCostPaid(new UntapSourceEffect(), - new SacrificeTargetCost(2, filter)), - TargetController.YOU, - false)); + new DoIfCostPaid(new UntapSourceEffect(), + new SacrificeTargetCost(2, filter)) + )); // Leviathan can't attack unless you sacrifice two Islands. (This cost is paid as attackers are declared.) this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LeviathanCostToAttackBlockEffect())); diff --git a/Mage.Sets/src/mage/cards/l/LeyLine.java b/Mage.Sets/src/mage/cards/l/LeyLine.java index d83ebcddb6f..86b15a37729 100644 --- a/Mage.Sets/src/mage/cards/l/LeyLine.java +++ b/Mage.Sets/src/mage/cards/l/LeyLine.java @@ -2,7 +2,7 @@ package mage.cards.l; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class LeyLine extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}"); // At the beginning of each player's upkeep, that player may put a +1/+1 counter on target creature of their choice. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new LeyLineEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new LeyLineEffect(), false); ability.setTargetAdjuster(LeyLineAdjuster.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/l/LeylineSurge.java b/Mage.Sets/src/mage/cards/l/LeylineSurge.java index 4104f812047..42a10f256e7 100644 --- a/Mage.Sets/src/mage/cards/l/LeylineSurge.java +++ b/Mage.Sets/src/mage/cards/l/LeylineSurge.java @@ -1,11 +1,10 @@ package mage.cards.l; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import java.util.UUID; @@ -23,8 +22,7 @@ public final class LeylineSurge extends CardImpl { // At the beginning of your upkeep, you may put a permanent card from your hand onto the battlefield. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_A_PERMANENT), - TargetController.YOU, false + new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_A_PERMANENT) )); } diff --git a/Mage.Sets/src/mage/cards/l/Lichenthrope.java b/Mage.Sets/src/mage/cards/l/Lichenthrope.java index 8a3ca8b718f..40dc576460a 100644 --- a/Mage.Sets/src/mage/cards/l/Lichenthrope.java +++ b/Mage.Sets/src/mage/cards/l/Lichenthrope.java @@ -4,7 +4,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -40,7 +39,7 @@ public final class Lichenthrope extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new LichenthropeEffect())); // At the beginning of your upkeep, remove a -1/-1 counter from Lichenthrope. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance()))); } private Lichenthrope(final Lichenthrope card) { diff --git a/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java b/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java index 602bbea601a..277fefe55fc 100644 --- a/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java +++ b/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; @@ -17,7 +17,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.Target; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetSacrifice; import java.util.UUID; @@ -38,7 +37,7 @@ public final class LiegeOfThePit extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice a creature other than Liege of the Pit. If you can't, Liege of the Pit deals 7 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LiegeOfThePitEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LiegeOfThePitEffect())); // Morph {B}{B}{B}{B} this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{B}{B}{B}{B}"))); } diff --git a/Mage.Sets/src/mage/cards/l/LifecraftersBestiary.java b/Mage.Sets/src/mage/cards/l/LifecraftersBestiary.java index fc5c3fd5823..00f8d578b09 100644 --- a/Mage.Sets/src/mage/cards/l/LifecraftersBestiary.java +++ b/Mage.Sets/src/mage/cards/l/LifecraftersBestiary.java @@ -2,7 +2,7 @@ package mage.cards.l; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; @@ -11,8 +11,6 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; /** @@ -25,7 +23,7 @@ public final class LifecraftersBestiary extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // At the beginning of your upkeep, scry 1. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScryEffect(1, false), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ScryEffect(1, false))); // Whenever you cast a creature spell, you may pay {G}. If you do, draw a card. this.addAbility(new SpellCastControllerTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{G}")), StaticFilters.FILTER_SPELL_A_CREATURE, false)); diff --git a/Mage.Sets/src/mage/cards/l/LightningCoils.java b/Mage.Sets/src/mage/cards/l/LightningCoils.java index 6220b2923be..6f3d4b17890 100644 --- a/Mage.Sets/src/mage/cards/l/LightningCoils.java +++ b/Mage.Sets/src/mage/cards/l/LightningCoils.java @@ -1,7 +1,7 @@ package mage.cards.l; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.Game; @@ -35,7 +34,7 @@ public final class LightningCoils extends CardImpl { false, StaticFilters.FILTER_CONTROLLED_CREATURE_NON_TOKEN)); // At the beginning of your upkeep, if Lightning Coils has five or more charge counters on it, remove all of them from it and put that many 3/1 red Elemental creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LightningCoilsEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LightningCoilsEffect())); } private LightningCoils(final LightningCoils card) { diff --git a/Mage.Sets/src/mage/cards/l/LilianasContract.java b/Mage.Sets/src/mage/cards/l/LilianasContract.java index 0b255c5a5a7..ef6b3616681 100644 --- a/Mage.Sets/src/mage/cards/l/LilianasContract.java +++ b/Mage.Sets/src/mage/cards/l/LilianasContract.java @@ -4,7 +4,7 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; @@ -42,8 +41,7 @@ public final class LilianasContract extends CardImpl { // At the beginning of your upkeep, if you control four or more Demons with different names, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new WinGameSourceControllerEffect(), - TargetController.YOU, false + new WinGameSourceControllerEffect(), false ), LilianasContractCondition.instance, "At the beginning of your upkeep, " + "if you control four or more Demons with different names, " diff --git a/Mage.Sets/src/mage/cards/l/LiltingRefrain.java b/Mage.Sets/src/mage/cards/l/LiltingRefrain.java index fc1a3d03a19..7d6d3fcb1dc 100644 --- a/Mage.Sets/src/mage/cards/l/LiltingRefrain.java +++ b/Mage.Sets/src/mage/cards/l/LiltingRefrain.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.dynamicvalue.common.CountersSourceCount; @@ -12,7 +12,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.TargetSpell; @@ -27,7 +26,7 @@ public final class LiltingRefrain extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); // At the beginning of your upkeep, you may put a verse counter on Lilting Refrain. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.VERSE.createInstance()), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.VERSE.createInstance()), true)); // Sacrifice Lilting Refrain: Counter target spell unless its controller pays {X}, where X is the number of verse counters on Lilting Refrain. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CounterUnlessPaysEffect(new CountersSourceCount(CounterType.VERSE)), new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/cards/l/LilyBowenRagingGrandma.java b/Mage.Sets/src/mage/cards/l/LilyBowenRagingGrandma.java index cdb10cf8743..d28e8183f62 100644 --- a/Mage.Sets/src/mage/cards/l/LilyBowenRagingGrandma.java +++ b/Mage.Sets/src/mage/cards/l/LilyBowenRagingGrandma.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.SourceMatchesFilterCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -59,9 +59,8 @@ public final class LilyBowenRagingGrandma extends CardImpl { new SourceMatchesFilterCondition(filter), "double the number of +1/+1 counters on {this} if its power is 16 or less. " + "Otherwise, remove all but one +1/+1 counter from it, " + - "then you gain 1 life for each +1/+1 counter removed this way"), - TargetController.YOU, - false)); + "then you gain 1 life for each +1/+1 counter removed this way") + )); } private LilyBowenRagingGrandma(final LilyBowenRagingGrandma card) { diff --git a/Mage.Sets/src/mage/cards/l/LimDulsHex.java b/Mage.Sets/src/mage/cards/l/LimDulsHex.java index 5b853c561e3..bbb8442d013 100644 --- a/Mage.Sets/src/mage/cards/l/LimDulsHex.java +++ b/Mage.Sets/src/mage/cards/l/LimDulsHex.java @@ -1,7 +1,7 @@ package mage.cards.l; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.OrCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -25,7 +24,7 @@ public final class LimDulsHex extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); // At the beginning of your upkeep, for each player, Lim-Dul's Hex deals 1 damage to that player unless they pay {B} or {3}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LimDulsHexEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LimDulsHexEffect())); } private LimDulsHex(final LimDulsHex card) { diff --git a/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java b/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java index 23a39d23889..d02fd801290 100644 --- a/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java +++ b/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java @@ -5,7 +5,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksAndIsNotBlockedTriggeredAbility; import mage.abilities.common.BecomesBlockedSourceTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -38,7 +38,7 @@ public final class LimDulsPaladin extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, you may discard a card. If you don't, sacrifice Lim-Dul's Paladin and draw a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LimDulsPaladinEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LimDulsPaladinEffect())); // Whenever Lim-Dul's Paladin becomes blocked, it gets +6/+3 until end of turn. this.addAbility(new BecomesBlockedSourceTriggeredAbility(new BoostSourceEffect(6, 3, Duration.EndOfTurn), false)); // Whenever Lim-Dul's Paladin attacks and isn't blocked, it assigns no combat damage to defending player this turn and that player loses 4 life. diff --git a/Mage.Sets/src/mage/cards/l/Lithophage.java b/Mage.Sets/src/mage/cards/l/Lithophage.java index 57923749804..ef5bf7d3ad4 100644 --- a/Mage.Sets/src/mage/cards/l/Lithophage.java +++ b/Mage.Sets/src/mage/cards/l/Lithophage.java @@ -3,17 +3,14 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; 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 mage.filter.common.FilterControlledLandPermanent; -import mage.target.common.TargetControlledPermanent; /** * @@ -34,8 +31,8 @@ public final class Lithophage extends CardImpl { this.toughness = new MageInt(7); // At the beginning of your upkeep, sacrifice Lithophage unless you sacrifice a Mountain. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(filter)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(filter)))); } private Lithophage(final Lithophage card) { diff --git a/Mage.Sets/src/mage/cards/l/LivingArtifact.java b/Mage.Sets/src/mage/cards/l/LivingArtifact.java index c4b3c6520d8..4df247332d8 100644 --- a/Mage.Sets/src/mage/cards/l/LivingArtifact.java +++ b/Mage.Sets/src/mage/cards/l/LivingArtifact.java @@ -4,7 +4,7 @@ package mage.cards.l; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -19,7 +19,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -48,7 +47,7 @@ public final class LivingArtifact extends CardImpl { // At the beginning of your upkeep, you may remove a vitality counter from Living Artifact. If you do, you gain 1 life. //TODO make this a custom ability- it's really not intervening if because you should be able to add counters in response to this trigger this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid(new GainLifeEffect(1), - new RemoveCountersSourceCost(CounterType.VITALITY.createInstance(1))), TargetController.YOU, false), + new RemoveCountersSourceCost(CounterType.VITALITY.createInstance(1)))), new SourceHasCounterCondition(CounterType.VITALITY, 1), "At the beginning of your upkeep, you may remove a vitality counter from {this}. If you do, you gain 1 life")); } diff --git a/Mage.Sets/src/mage/cards/l/LivingTsunami.java b/Mage.Sets/src/mage/cards/l/LivingTsunami.java index 75963f9076b..d28921a515a 100644 --- a/Mage.Sets/src/mage/cards/l/LivingTsunami.java +++ b/Mage.Sets/src/mage/cards/l/LivingTsunami.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost; import mage.abilities.effects.Effect; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -32,7 +32,7 @@ public final class LivingTsunami extends CardImpl { // At the beginning of your upkeep, sacrifice Living Tsunami unless you return a land you control to its owner's hand. Effect effect = new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(1, 1, StaticFilters.FILTER_CONTROLLED_PERMANENT_A_LAND, true))); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); } private LivingTsunami(final LivingTsunami card) { diff --git a/Mage.Sets/src/mage/cards/l/LootTheKeyToEverything.java b/Mage.Sets/src/mage/cards/l/LootTheKeyToEverything.java index 5fbad2354ff..208066315f7 100644 --- a/Mage.Sets/src/mage/cards/l/LootTheKeyToEverything.java +++ b/Mage.Sets/src/mage/cards/l/LootTheKeyToEverything.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -40,8 +40,7 @@ public final class LootTheKeyToEverything extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility( new ExileTopXMayPlayUntilEffect(LootTheKeyToEverythingValue.instance, Duration.EndOfTurn) .setText("exile the top X cards of your library, where X is the number of card types " + - "among other nonland permanents you control. You may play those cards this turn"), - TargetController.YOU, false + "among other nonland permanents you control. You may play those cards this turn") )); } diff --git a/Mage.Sets/src/mage/cards/l/LordOfThePit.java b/Mage.Sets/src/mage/cards/l/LordOfThePit.java index 59a92151821..3384deeee28 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfThePit.java +++ b/Mage.Sets/src/mage/cards/l/LordOfThePit.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.TrampleAbility; @@ -15,7 +15,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.Target; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetSacrifice; import java.util.UUID; @@ -37,7 +36,7 @@ public final class LordOfThePit extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice a creature other than Lord of the Pit. If you can't, Lord of the Pit deals 7 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LordOfThePitEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LordOfThePitEffect())); } private LordOfThePit(final LordOfThePit card) { diff --git a/Mage.Sets/src/mage/cards/l/LossarnachCaptain.java b/Mage.Sets/src/mage/cards/l/LossarnachCaptain.java index 1312503aead..83623fd07c1 100644 --- a/Mage.Sets/src/mage/cards/l/LossarnachCaptain.java +++ b/Mage.Sets/src/mage/cards/l/LossarnachCaptain.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldThisOrAnotherTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.TapTargetEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.HumanSoldierToken; @@ -46,7 +45,7 @@ public final class LossarnachCaptain extends CardImpl { // At the beginning of your upkeep, create a 1/1 white Human Soldier creature token. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new HumanSoldierToken()), TargetController.YOU, false + new CreateTokenEffect(new HumanSoldierToken()) )); } diff --git a/Mage.Sets/src/mage/cards/l/LotusBlossom.java b/Mage.Sets/src/mage/cards/l/LotusBlossom.java index cc9620379e0..fd4e26a73d5 100644 --- a/Mage.Sets/src/mage/cards/l/LotusBlossom.java +++ b/Mage.Sets/src/mage/cards/l/LotusBlossom.java @@ -3,7 +3,7 @@ package mage.cards.l; import java.util.UUID; import mage.Mana; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.dynamicvalue.common.CountersSourceCount; @@ -12,7 +12,6 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; /** @@ -25,7 +24,7 @@ public final class LotusBlossom extends CardImpl { // At the beginning of your upkeep, you may put a petal counter on Lotus Blossom. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PETAL.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PETAL.createInstance(), true), true)); // {tap}, Sacrifice Lotus Blossom: Add X mana of any one color, where X is the number of petal counters on Lotus Blossom. DynamicManaAbility ability = new DynamicManaAbility(new Mana(0, 0, 0, 0, 0, 0, 1, 0), new CountersSourceCount(CounterType.PETAL), new TapSourceCost(), "Add X mana of any one color, where X is the number of petal counters on {this}", true); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonPeacekeeper.java b/Mage.Sets/src/mage/cards/l/LoxodonPeacekeeper.java index 6bb6b9a7ca4..29b03bdfd46 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonPeacekeeper.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonPeacekeeper.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; @@ -35,7 +35,7 @@ public final class LoxodonPeacekeeper extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, the player with the lowest life total gains control of Loxodon Peacekeeper. If two or more players are tied for lowest life total, you choose one of them, and that player gains control of Loxodon Peacekeeper. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoxodonPeacekeeperEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoxodonPeacekeeperEffect())); } diff --git a/Mage.Sets/src/mage/cards/l/LuminousAngel.java b/Mage.Sets/src/mage/cards/l/LuminousAngel.java index 662569f1e77..7bc1557f241 100644 --- a/Mage.Sets/src/mage/cards/l/LuminousAngel.java +++ b/Mage.Sets/src/mage/cards/l/LuminousAngel.java @@ -3,14 +3,13 @@ package mage.cards.l; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.permanent.token.SpiritWhiteToken; /** @@ -26,7 +25,7 @@ public final class LuminousAngel extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritWhiteToken(), 1), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SpiritWhiteToken(), 1), true)); } private LuminousAngel(final LuminousAngel card) { diff --git a/Mage.Sets/src/mage/cards/l/LyndeCheerfulTormentor.java b/Mage.Sets/src/mage/cards/l/LyndeCheerfulTormentor.java index 3b5b5e6681b..3366ed15c9b 100644 --- a/Mage.Sets/src/mage/cards/l/LyndeCheerfulTormentor.java +++ b/Mage.Sets/src/mage/cards/l/LyndeCheerfulTormentor.java @@ -6,7 +6,7 @@ import mage.MageObject; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; @@ -49,7 +49,7 @@ public final class LyndeCheerfulTormentor extends CardImpl { this.addAbility(new LyndeCheerfulTormentorCurseDiesTriggeredAbility()); // At the beginning of your upkeep, you may attach a Curse attached to you to one of your opponents. If you do, draw two cards. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LyndeCheerfulTormentorAttachCurseEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LyndeCheerfulTormentorAttachCurseEffect(), true)); } private LyndeCheerfulTormentor(final LyndeCheerfulTormentor card) { diff --git a/Mage.Sets/src/mage/cards/m/MaddeningWind.java b/Mage.Sets/src/mage/cards/m/MaddeningWind.java index 08cb433d830..ca763059ec9 100644 --- a/Mage.Sets/src/mage/cards/m/MaddeningWind.java +++ b/Mage.Sets/src/mage/cards/m/MaddeningWind.java @@ -2,7 +2,7 @@ package mage.cards.m; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; import mage.constants.*; @@ -38,8 +38,8 @@ public final class MaddeningWind extends CardImpl { // At the beginning of the upkeep of enchanted creature's controller, Maddening Wind deals 2 damage to that player. Effect effect = new DamageTargetEffect(2); effect.setText("{this} deals 2 damage to that player"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, - TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, + false)); } private MaddeningWind(final MaddeningWind card) { diff --git a/Mage.Sets/src/mage/cards/m/Magmaroth.java b/Mage.Sets/src/mage/cards/m/Magmaroth.java index 630be63a49e..a5ceb0d4238 100644 --- a/Mage.Sets/src/mage/cards/m/Magmaroth.java +++ b/Mage.Sets/src/mage/cards/m/Magmaroth.java @@ -2,7 +2,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -23,7 +22,7 @@ public final class Magmaroth extends CardImpl{ toughness = new MageInt(5); // At the beginning of your upkeep, put a -1/-1 counter on Magmaroth - addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()), TargetController.YOU, false)); + addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()))); // Whenever you cast a noncreature spell, remove a -1/-1 counter from Magmaroth addAbility(new SpellCastControllerTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance()), diff --git a/Mage.Sets/src/mage/cards/m/Magmasaur.java b/Mage.Sets/src/mage/cards/m/Magmasaur.java index 96f9c5d6248..707e921d559 100644 --- a/Mage.Sets/src/mage/cards/m/Magmasaur.java +++ b/Mage.Sets/src/mage/cards/m/Magmasaur.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamageEverythingEffect; @@ -15,8 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -43,7 +41,7 @@ public final class Magmasaur extends CardImpl { "with five +1/+1 counters on it")); // At the beginning of your upkeep, you may remove a +1/+1 counter from Magmasaur. If you don't, sacrifice Magmasaur and it deals damage equal to the number of +1/+1 counters on it to each creature without flying and each player. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new MagmasaurEffect(), TargetController.YOU, false, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MagmasaurEffect())); } private Magmasaur(final Magmasaur card) { diff --git a/Mage.Sets/src/mage/cards/m/MagmaticForce.java b/Mage.Sets/src/mage/cards/m/MagmaticForce.java index 58f0b5e33de..82384d12fe4 100644 --- a/Mage.Sets/src/mage/cards/m/MagmaticForce.java +++ b/Mage.Sets/src/mage/cards/m/MagmaticForce.java @@ -4,14 +4,13 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; 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 mage.target.common.TargetAnyTarget; /** @@ -28,7 +27,7 @@ public final class MagmaticForce extends CardImpl { this.toughness = new MageInt(7); // At the beginning of each upkeep, Magmatic Force deals 3 damage to any target. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new DamageTargetEffect(3), false); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MagneticMountain.java b/Mage.Sets/src/mage/cards/m/MagneticMountain.java index 5daf2930657..bc2aa00d7f2 100644 --- a/Mage.Sets/src/mage/cards/m/MagneticMountain.java +++ b/Mage.Sets/src/mage/cards/m/MagneticMountain.java @@ -3,7 +3,7 @@ package mage.cards.m; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; @@ -42,7 +42,7 @@ public final class MagneticMountain extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, filter))); // At the beginning of each player's upkeep, that player may choose any number of tapped blue creatures they control and pay {4} for each creature chosen this way. If the player does, untap those creatures. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new MagneticMountainEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new MagneticMountainEffect(), false)); } private MagneticMountain(final MagneticMountain card) { diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java b/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java index 789141b9713..5982f92390e 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -36,7 +35,7 @@ public final class MagusOfTheTabernacle extends CardImpl { this.toughness = new MageInt(6); // All creatures have "At the beginning of your upkeep, sacrifice this creature unless you pay {1}." - Ability abilityToGain = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1)), TargetController.YOU, false); + Ability abilityToGain = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(abilityToGain, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURE, rule))); } diff --git a/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java b/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java index 2863027d33d..82d67cbcc0e 100644 --- a/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java +++ b/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.Set; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.Effect; @@ -37,7 +37,7 @@ public final class MaintenanceHangar extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); // At the beginning of your upkeep, remove an additional repair counter from each card in your graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterMaintenanceHangarEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterMaintenanceHangarEffect())); // Starship creatures you control and starship creatures in your graveyard have Repair 6. Effect effect = new GainAbilityControlledEffect(new RepairAbility(6), Duration.WhileOnBattlefield, filterPermanent); diff --git a/Mage.Sets/src/mage/cards/m/MalignantGrowth.java b/Mage.Sets/src/mage/cards/m/MalignantGrowth.java index 6cc36a32a06..565a7ba2ed6 100644 --- a/Mage.Sets/src/mage/cards/m/MalignantGrowth.java +++ b/Mage.Sets/src/mage/cards/m/MalignantGrowth.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.abilities.Ability; import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -32,8 +32,7 @@ public final class MalignantGrowth extends CardImpl { // At the beginning of your upkeep, put a growth counter on Malignant Growth. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.GROWTH.createInstance()), - TargetController.YOU, false + new AddCountersSourceEffect(CounterType.GROWTH.createInstance()) )); // 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. diff --git a/Mage.Sets/src/mage/cards/m/ManaBloom.java b/Mage.Sets/src/mage/cards/m/ManaBloom.java index a1df6055064..b3653beb35c 100644 --- a/Mage.Sets/src/mage/cards/m/ManaBloom.java +++ b/Mage.Sets/src/mage/cards/m/ManaBloom.java @@ -3,7 +3,7 @@ package mage.cards.m; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; @@ -15,7 +15,6 @@ import mage.abilities.mana.LimitedTimesPerTurnActivatedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -43,7 +42,7 @@ public final class ManaBloom extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand. - TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(true), TargetController.YOU, false); + TriggeredAbility triggeredAbility = new BeginningOfUpkeepTriggeredAbility(new ReturnToHandSourceEffect(true)); this.addAbility(new ConditionalInterveningIfTriggeredAbility(triggeredAbility, new SourceHasCounterCondition(CounterType.CHARGE, 0, 0), "At the beginning of your upkeep, if Mana Bloom has no charge counters on it, return it to its owner's hand.")); } diff --git a/Mage.Sets/src/mage/cards/m/ManaCrypt.java b/Mage.Sets/src/mage/cards/m/ManaCrypt.java index 9c8d2a8e586..da45611e6b0 100644 --- a/Mage.Sets/src/mage/cards/m/ManaCrypt.java +++ b/Mage.Sets/src/mage/cards/m/ManaCrypt.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.mana.SimpleManaAbility; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -26,7 +25,7 @@ public final class ManaCrypt extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{0}"); // At the beginning of your upkeep, flip a coin. If you lose the flip, Mana Crypt deals 3 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ManaCryptEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ManaCryptEffect())); // {T}: Add {C}{C}. this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(2), new TapSourceCost())); diff --git a/Mage.Sets/src/mage/cards/m/ManaVault.java b/Mage.Sets/src/mage/cards/m/ManaVault.java index f6c01369ba1..358589941d4 100644 --- a/Mage.Sets/src/mage/cards/m/ManaVault.java +++ b/Mage.Sets/src/mage/cards/m/ManaVault.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.Mana; import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.costs.common.TapSourceCost; @@ -15,7 +15,6 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import java.util.UUID; @@ -33,10 +32,8 @@ public final class ManaVault extends CardImpl { // 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)); + new DoIfCostPaid(new UntapSourceEffect(), new GenericManaCost(4), "Pay {4} to untap {this}?") + )); // At the beginning of your draw step, if Mana Vault is tapped, it deals 1 damage to you. this.addAbility(new BeginningOfDrawTriggeredAbility(new DamageControllerEffect(1, "it"), diff --git a/Mage.Sets/src/mage/cards/m/ManaVortex.java b/Mage.Sets/src/mage/cards/m/ManaVortex.java index c09c63b642b..09415e3dec3 100644 --- a/Mage.Sets/src/mage/cards/m/ManaVortex.java +++ b/Mage.Sets/src/mage/cards/m/ManaVortex.java @@ -1,11 +1,8 @@ - package mage.cards.m; -import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.Mode; import mage.abilities.StateTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CastSourceTriggeredAbility; @@ -18,30 +15,30 @@ import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.stack.Spell; import mage.game.stack.StackObject; import mage.players.Player; -import mage.target.common.TargetControlledPermanent; + +import java.util.UUID; /** - * * @author fireshoes */ public final class ManaVortex extends CardImpl { public ManaVortex(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}{U}"); // When you cast Mana Vortex, counter it unless you sacrifice a land. this.addAbility(new CastSourceTriggeredAbility(new CounterSourceEffect())); - + // At the beginning of each player's upkeep, that player sacrifices a land. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(StaticFilters.FILTER_LAND, 1, "that player"), - TargetController.ANY, false)); - + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, + new SacrificeEffect(StaticFilters.FILTER_LAND, 1, "that player"), + false)); + // When there are no lands on the battlefield, sacrifice Mana Vortex. this.addAbility(new ManaVortexStateTriggeredAbility()); } @@ -74,25 +71,24 @@ class CounterSourceEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - + StackObject spell = null; - for(StackObject objet : game.getStack()){ - if(objet instanceof Spell && objet.getSourceId().equals(source.getSourceId())){ + for (StackObject objet : game.getStack()) { + if (objet instanceof Spell && objet.getSourceId().equals(source.getSourceId())) { spell = objet; } } - if(spell != null){ - Player controller = game.getPlayer(source.getControllerId()); - if(controller != null && controller.chooseUse(Outcome.Detriment, "Sacrifice a land to not counter " + spell.getName() + '?', source, game)){ - SacrificeTargetCost cost = new SacrificeTargetCost(StaticFilters.FILTER_LAND); - if(cost.pay(source, game, source, source.getControllerId(), false, null)){ - game.informPlayers(controller.getLogName() + " sacrifices a land to not counter " + spell.getName() + '.'); - return true; - } - else { - game.getStack().counter(spell.getId(), source, game); - } + if (spell != null) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null && controller.chooseUse(Outcome.Detriment, "Sacrifice a land to not counter " + spell.getName() + '?', source, game)) { + SacrificeTargetCost cost = new SacrificeTargetCost(StaticFilters.FILTER_LAND); + if (cost.pay(source, game, source, source.getControllerId(), false, null)) { + game.informPlayers(controller.getLogName() + " sacrifices a land to not counter " + spell.getName() + '.'); + return true; + } else { + game.getStack().counter(spell.getId(), source, game); } + } return true; } return false; diff --git a/Mage.Sets/src/mage/cards/m/MangarasEquity.java b/Mage.Sets/src/mage/cards/m/MangarasEquity.java index 18d0e48395d..4bc4cbe2afe 100644 --- a/Mage.Sets/src/mage/cards/m/MangarasEquity.java +++ b/Mage.Sets/src/mage/cards/m/MangarasEquity.java @@ -4,7 +4,7 @@ import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.common.SavedDamageValue; import mage.abilities.effects.Effect; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -40,7 +39,7 @@ public final class MangarasEquity extends CardImpl { // At the beginning of your upkeep, sacrifice Mangara's Equity unless you pay {1}{W}. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{W}")), TargetController.YOU, false)); + new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{W}")))); // Whenever a creature of the chosen color deals damage to you or a white creature you control, Mangara's Equity deals that much damage to that creature. this.addAbility(new MangarasEquityTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/m/ManicScribe.java b/Mage.Sets/src/mage/cards/m/ManicScribe.java index 7489b59b5e7..cfeb585f4b4 100644 --- a/Mage.Sets/src/mage/cards/m/ManicScribe.java +++ b/Mage.Sets/src/mage/cards/m/ManicScribe.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -38,8 +38,8 @@ public final class ManicScribe extends CardImpl { // that player puts the top three cards of their library into their graveyard. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new MillCardsTargetEffect(3), - TargetController.OPPONENT, false, true + Zone.BATTLEFIELD, TargetController.OPPONENT, new MillCardsTargetEffect(3), + false ), DeliriumCondition.instance, "Delirium — At the beginning of each opponent's upkeep, " + "if there are four or more card types among cards in your graveyard, that player mills three cards." ).addHint(CardTypesInGraveyardHint.YOU)); diff --git a/Mage.Sets/src/mage/cards/m/MarchOfTheCanonized.java b/Mage.Sets/src/mage/cards/m/MarchOfTheCanonized.java index 57846af4e43..47841d26fd3 100644 --- a/Mage.Sets/src/mage/cards/m/MarchOfTheCanonized.java +++ b/Mage.Sets/src/mage/cards/m/MarchOfTheCanonized.java @@ -2,7 +2,7 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.IntCompareCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.token.IxalanVampireToken; import mage.game.permanent.token.VampireDemonToken; @@ -31,7 +30,7 @@ public final class MarchOfTheCanonized extends CardImpl { // At the beginning of your upkeep, if your devotion to white and black is seven or greater, create a 4/3 white and black Vampire Demon creature token with flying. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new VampireDemonToken()), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new VampireDemonToken())), new MarchOfTheCanonizedCondition(), "At the beginning of your upkeep, " + "if your devotion to white and black is seven or greater, " diff --git a/Mage.Sets/src/mage/cards/m/MarchesaResoluteMonarch.java b/Mage.Sets/src/mage/cards/m/MarchesaResoluteMonarch.java index 15029c65eab..aeca802c7fd 100644 --- a/Mage.Sets/src/mage/cards/m/MarchesaResoluteMonarch.java +++ b/Mage.Sets/src/mage/cards/m/MarchesaResoluteMonarch.java @@ -3,7 +3,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -54,7 +54,7 @@ public final class MarchesaResoluteMonarch extends CardImpl { // At the beginning of your upkeep, if you haven't been dealt combat damage since your last turn, you draw a card and you lose 1 life. ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new DrawCardSourceControllerEffect(1), TargetController.YOU, false + new DrawCardSourceControllerEffect(1), false ), MarchesaResoluteMonarchWatcher::checkPlayer, "At the beginning of your upkeep, " + "if you haven't been dealt combat damage since your last turn, you draw a card and you lose 1 life." ); diff --git a/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java b/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java index 844f951535e..5753d166982 100644 --- a/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java +++ b/Mage.Sets/src/mage/cards/m/MaritLagesSlumber.java @@ -1,6 +1,6 @@ package mage.cards.m; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldThisOrAnotherTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -10,13 +10,11 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.keyword.ScryEffect; import mage.abilities.hint.ConditionHint; -import mage.abilities.hint.Hint; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.MaritLageToken; @@ -55,7 +53,7 @@ public final class MaritLagesSlumber extends CardImpl { new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( new CreateTokenEffect(new MaritLageToken()), new SacrificeSourceCost(), "", false - ), TargetController.YOU, false), condition, "At the beginning of your upkeep, " + + )), condition, "At the beginning of your upkeep, " + "if you control ten or more snow permanents, sacrifice {this}. If you do, create Marit Lage, " + "a legendary 20/20 black Avatar creature token with flying and indestructible." ).addHint(hint)); diff --git a/Mage.Sets/src/mage/cards/m/MarkOfEviction.java b/Mage.Sets/src/mage/cards/m/MarkOfEviction.java index 29654bcd248..7b23eeefe7c 100644 --- a/Mage.Sets/src/mage/cards/m/MarkOfEviction.java +++ b/Mage.Sets/src/mage/cards/m/MarkOfEviction.java @@ -5,7 +5,7 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -15,7 +15,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; @@ -42,7 +41,7 @@ public final class MarkOfEviction extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, return enchanted creature and all Auras attached to that creature to their owners' hands. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MarkOfEvictionEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MarkOfEvictionEffect())); } private MarkOfEviction(final MarkOfEviction card) { diff --git a/Mage.Sets/src/mage/cards/m/MartialLaw.java b/Mage.Sets/src/mage/cards/m/MartialLaw.java index 5c7d02009e9..dffa0610bff 100644 --- a/Mage.Sets/src/mage/cards/m/MartialLaw.java +++ b/Mage.Sets/src/mage/cards/m/MartialLaw.java @@ -3,12 +3,11 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DetainTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -23,7 +22,7 @@ public final class MartialLaw extends CardImpl { // At the beginning of your upkeep, detain target creature an opponent controls. // (Until your next turn, that creature can't attack or block and its activated abilities can't be activated.) - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DetainTargetEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DetainTargetEffect()); TargetCreaturePermanent target = new TargetCreaturePermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURE); ability.addTarget(target); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java b/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java index d8ad1f425e5..a88e165c016 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfIntolerance.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.IntCompareCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -29,7 +29,7 @@ public final class MaskOfIntolerance extends CardImpl { // At the beginning of each player's upkeep, if there are four or more basic land types among lands that player controls, Mask of Intolerance deals 3 damage to that player. this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility( - new DamageTargetEffect(3), TargetController.ANY, false + TargetController.ANY, new DamageTargetEffect(3), false ), condition, "At the beginning of each player's upkeep, if there are four or more basic land types " + "among lands that player controls, {this} deals 3 damage to that player.").addHint(DomainHint.instance)); } diff --git a/Mage.Sets/src/mage/cards/m/MasterOfCeremonies.java b/Mage.Sets/src/mage/cards/m/MasterOfCeremonies.java index 8d317f05382..c861e20a3a1 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfCeremonies.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfCeremonies.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawCardTargetEffect; @@ -13,7 +13,6 @@ import mage.choices.ChoiceImpl; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.token.CitizenGreenWhiteToken; import mage.game.permanent.token.Token; @@ -40,9 +39,8 @@ public class MasterOfCeremonies extends CardImpl { // For each player who chose friends, you and that player each create a 1/1 green and white Citizen creature token. // For each player who chose secrets, you and that player each draw a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new MasterOfCeremoniesChoiceEffect(), - TargetController.YOU, - false) + new MasterOfCeremoniesChoiceEffect(), false + ) ); } diff --git a/Mage.Sets/src/mage/cards/m/MasterOfDeath.java b/Mage.Sets/src/mage/cards/m/MasterOfDeath.java index 06b17712863..d80010ee6aa 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfDeath.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfDeath.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.SourceInGraveyardCondition; import mage.abilities.costs.common.PayLifeCost; @@ -36,10 +36,10 @@ public final class MasterOfDeath extends CardImpl { // At the beginning of your upkeep, if Master of Death is in your graveyard, you may pay 1 life. If you do, return it to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( Zone.GRAVEYARD, - new DoIfCostPaid( + TargetController.YOU, new DoIfCostPaid( new ReturnSourceFromGraveyardToHandEffect().setText("return it to your hand"), new PayLifeCost(1) - ), TargetController.YOU, false + ), false ).withInterveningIf(SourceInGraveyardCondition.instance)); } diff --git a/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java b/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java index 64514956847..6a208c7f9e5 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java @@ -3,7 +3,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DrawCardAllEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -28,7 +28,7 @@ public final class MasterOfTheFeast extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, each opponent draws a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardAllEffect(1, TargetController.OPPONENT), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardAllEffect(1, TargetController.OPPONENT))); } private MasterOfTheFeast(final MasterOfTheFeast card) { diff --git a/Mage.Sets/src/mage/cards/m/Masticore.java b/Mage.Sets/src/mage/cards/m/Masticore.java index d628f46cd70..a9fd003b675 100644 --- a/Mage.Sets/src/mage/cards/m/Masticore.java +++ b/Mage.Sets/src/mage/cards/m/Masticore.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.costs.mana.GenericManaCost; @@ -15,7 +15,6 @@ 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 mage.target.common.TargetCardInHand; import mage.target.common.TargetCreaturePermanent; @@ -34,7 +33,7 @@ public final class Masticore extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, sacrifice Masticore unless you discard a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand())), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand())))); // {2}: Masticore deals 1 damage to target creature. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/m/MayaelsAria.java b/Mage.Sets/src/mage/cards/m/MayaelsAria.java index 1ef7538cf65..f829634fbd8 100644 --- a/Mage.Sets/src/mage/cards/m/MayaelsAria.java +++ b/Mage.Sets/src/mage/cards/m/MayaelsAria.java @@ -3,15 +3,13 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; @@ -32,7 +30,7 @@ public final class MayaelsAria extends CardImpl { // At the beginning of your upkeep, put a +1/+1 counter on each creature you control if you control a creature with power 5 or greater. // Then you gain 10 life if you control a creature with power 10 or greater. // Then you win the game if you control a creature with power 20 or greater. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new MayaelsAriaEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MayaelsAriaEffect())); } private MayaelsAria(final MayaelsAria card) { diff --git a/Mage.Sets/src/mage/cards/m/MechanizedProduction.java b/Mage.Sets/src/mage/cards/m/MechanizedProduction.java index a0adaa6e826..0932bd24930 100644 --- a/Mage.Sets/src/mage/cards/m/MechanizedProduction.java +++ b/Mage.Sets/src/mage/cards/m/MechanizedProduction.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterArtifactPermanent; import mage.filter.common.FilterControlledArtifactPermanent; import mage.game.Game; @@ -44,7 +43,7 @@ public final class MechanizedProduction extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, create a token that's a copy of enchanted artifact. Then if you control eight or more artifacts with the same name as one another, you win the game. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MechanizedProductionEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MechanizedProductionEffect())); } private MechanizedProduction(final MechanizedProduction card) { diff --git a/Mage.Sets/src/mage/cards/m/Melancholy.java b/Mage.Sets/src/mage/cards/m/Melancholy.java index 1550e6a734b..52c170add89 100644 --- a/Mage.Sets/src/mage/cards/m/Melancholy.java +++ b/Mage.Sets/src/mage/cards/m/Melancholy.java @@ -2,7 +2,7 @@ package mage.cards.m; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -40,8 +39,8 @@ public final class Melancholy extends CardImpl { // Enchanted creature doesn't untap during its controller's untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect())); // At the beginning of your upkeep, sacrifice Melancholy unless you pay {B}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}")), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}")) + )); } private Melancholy(final Melancholy card) { diff --git a/Mage.Sets/src/mage/cards/m/MidnightBanshee.java b/Mage.Sets/src/mage/cards/m/MidnightBanshee.java index 18ba566cf18..5880c137e4c 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightBanshee.java +++ b/Mage.Sets/src/mage/cards/m/MidnightBanshee.java @@ -2,14 +2,13 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -28,7 +27,7 @@ public final class MidnightBanshee extends CardImpl { this.addAbility(WitherAbility.getInstance()); // At the beginning of your upkeep, put a -1/-1 counter on each nonblack creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.M1M1.createInstance(), StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.M1M1.createInstance(), StaticFilters.FILTER_PERMANENT_CREATURE_NON_BLACK))); } private MidnightBanshee(final MidnightBanshee card) { diff --git a/Mage.Sets/src/mage/cards/m/MidnightClock.java b/Mage.Sets/src/mage/cards/m/MidnightClock.java index 58cc720d890..e4b789f69e1 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightClock.java +++ b/Mage.Sets/src/mage/cards/m/MidnightClock.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; @@ -44,7 +44,7 @@ public final class MidnightClock extends CardImpl { // At the beginning of each upkeep, put an hour counter on Midnight Clock. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.HOUR.createInstance()), TargetController.EACH_PLAYER, false + TargetController.ANY, new AddCountersSourceEffect(CounterType.HOUR.createInstance()), false )); // When the twelfth hour counter is put on Midnight Clock, shuffle your hand and graveyard into your library, then draw seven cards. Exile Midnight Clock. @@ -138,4 +138,4 @@ class MidnightClockEffect extends OneShotEffect { player.drawCards(7, source, game); return effect.apply(game, source); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/m/MidsummerRevel.java b/Mage.Sets/src/mage/cards/m/MidsummerRevel.java index 3a4bd3b54e5..2db1e81088d 100644 --- a/Mage.Sets/src/mage/cards/m/MidsummerRevel.java +++ b/Mage.Sets/src/mage/cards/m/MidsummerRevel.java @@ -3,7 +3,7 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -13,7 +13,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.token.BeastToken; @@ -28,8 +27,8 @@ public final class MidsummerRevel extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}{G}"); // At the beginning of your upkeep, you may put a verse counter on Midsummer Revel. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // {G}, Sacrifice Midsummer Revel: create X 3/3 green Beast creature tokens, where X is the number of verse counters on Midsummer Revel. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new BeastToken(), new CountersSourceCount(CounterType.VERSE)), new ManaCostsImpl<>("{G}")); diff --git a/Mage.Sets/src/mage/cards/m/MindUnbound.java b/Mage.Sets/src/mage/cards/m/MindUnbound.java index 9d94eaaa922..c2c37b1a078 100644 --- a/Mage.Sets/src/mage/cards/m/MindUnbound.java +++ b/Mage.Sets/src/mage/cards/m/MindUnbound.java @@ -3,14 +3,13 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; /** @@ -24,7 +23,7 @@ public final class MindUnbound extends CardImpl { // At the beginning of your upkeep, put a lore counter on Mind Unbound, then draw a card for each lore counter on Mind Unbound. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.LORE.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.LORE.createInstance())); ability.addEffect(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.LORE)).concatBy(", then")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MindWhip.java b/Mage.Sets/src/mage/cards/m/MindWhip.java index e56e53a8498..51fc6e16030 100644 --- a/Mage.Sets/src/mage/cards/m/MindWhip.java +++ b/Mage.Sets/src/mage/cards/m/MindWhip.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -47,8 +47,8 @@ public final class MindWhip extends CardImpl { ""); effect.setText("that player may pay {3}. If they don't, {this} deals 2 damage to that player and you tap that creature."); this.addAbility(new BeginningOfUpkeepTriggeredAbility( - effect, - TargetController.CONTROLLER_ATTACHED_TO, false)); + TargetController.CONTROLLER_ATTACHED_TO, effect, + false)); } diff --git a/Mage.Sets/src/mage/cards/m/MindbenderSpores.java b/Mage.Sets/src/mage/cards/m/MindbenderSpores.java index 54e3ad1c9b0..5285ec10bef 100644 --- a/Mage.Sets/src/mage/cards/m/MindbenderSpores.java +++ b/Mage.Sets/src/mage/cards/m/MindbenderSpores.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BlocksCreatureTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -51,7 +51,7 @@ public final class MindbenderSpores extends CardImpl { .setText("The creature gains \"This creature doesn't untap during your untap step if it has a fungus counter on it\"")); BeginningOfUpkeepTriggeredAbility removeCounterAbility = new BeginningOfUpkeepTriggeredAbility( - new RemoveCounterSourceEffect(CounterType.FUNGUS.createInstance()), TargetController.YOU, false); + new RemoveCounterSourceEffect(CounterType.FUNGUS.createInstance())); ability.addEffect(new GainAbilityTargetEffect(removeCounterAbility, Duration.Custom) .concatBy("and") .setText("\"At the beginning of your upkeep, remove a fungus counter from this creature.\"")); diff --git a/Mage.Sets/src/mage/cards/m/MindspliceApparatus.java b/Mage.Sets/src/mage/cards/m/MindspliceApparatus.java index e456aae8092..8fc9fa781ea 100644 --- a/Mage.Sets/src/mage/cards/m/MindspliceApparatus.java +++ b/Mage.Sets/src/mage/cards/m/MindspliceApparatus.java @@ -6,7 +6,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.SpellAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.cost.CostModificationEffectImpl; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.counters.CounterType; import mage.game.Game; -import mage.game.permanent.Permanent; import mage.util.CardUtil; /** @@ -33,7 +32,7 @@ public final class MindspliceApparatus extends CardImpl { // At the beginning of your upkeep, put an oil counter on Mindsplice Apparatus. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.OIL.createInstance()), TargetController.YOU, false + new AddCountersSourceEffect(CounterType.OIL.createInstance()) )); // Instant and sorcery spells you cast cost {1} less to cast for each oil counter on Mindsplice Apparatus. diff --git a/Mage.Sets/src/mage/cards/m/MindstormCrown.java b/Mage.Sets/src/mage/cards/m/MindstormCrown.java index 42952f22636..5994ad52cd8 100644 --- a/Mage.Sets/src/mage/cards/m/MindstormCrown.java +++ b/Mage.Sets/src/mage/cards/m/MindstormCrown.java @@ -1,13 +1,12 @@ package mage.cards.m; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.WatcherScope; import mage.game.Game; import mage.game.events.GameEvent; @@ -26,7 +25,7 @@ public final class MindstormCrown extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // At the beginning of your upkeep, draw a card if you had no cards in hand at the beginning of this turn. If you had a card in hand, Mindstorm Crown deals 1 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MindstormCrownEffect(), TargetController.YOU, false), new MindstormCrownWatcher()); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MindstormCrownEffect()), new MindstormCrownWatcher()); } private MindstormCrown(final MindstormCrown card) { diff --git a/Mage.Sets/src/mage/cards/m/Mindwhisker.java b/Mage.Sets/src/mage/cards/m/Mindwhisker.java index d26fc469425..16cb530f71b 100644 --- a/Mage.Sets/src/mage/cards/m/Mindwhisker.java +++ b/Mage.Sets/src/mage/cards/m/Mindwhisker.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -29,7 +29,7 @@ public final class Mindwhisker extends CardImpl { // At the beginning of your upkeep, surveil 1. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SurveilEffect(1), TargetController.YOU, false + new SurveilEffect(1) )); // Threshold -- As long as seven or more cards are in your graveyard, creatures your opponents control get -1/-0. diff --git a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java index e9a474b1e36..5099b17839d 100644 --- a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java +++ b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.DeliriumCondition; @@ -18,7 +18,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @author fireshoes @@ -42,7 +41,7 @@ public final class MindwrackDemon extends CardImpl { // At the beginning of your upkeep, if you don't have 4 or more card types in your graveyard, you lose 4 life. Ability ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(4), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(4)), new InvertCondition(DeliriumCondition.instance), "Delirium — At the beginning of your upkeep, you lose 4 life unless there are four or more card types among cards in your graveyard."); ability.addHint(CardTypesInGraveyardHint.YOU); diff --git a/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java b/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java index cbc0b43e30b..e9bced4f6ce 100644 --- a/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java +++ b/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java @@ -3,7 +3,7 @@ package mage.cards.m; import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; @@ -38,7 +38,7 @@ public final class MinionOfLeshrac extends CardImpl { this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); // At the beginning of your upkeep, Minion of Leshrac deals 5 damage to you unless you sacrifice a creature other than Minion of Leshrac. If Minion of Leshrac deals damage to you this way, tap it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MinionLeshracEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MinionLeshracEffect())); // {tap}: Destroy target creature or land. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java b/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java index 956c023c8a3..0880dc548b9 100644 --- a/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java +++ b/Mage.Sets/src/mage/cards/m/MinionOfTeveshSzat.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -16,7 +16,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.target.common.TargetCreaturePermanent; /** @@ -38,8 +37,7 @@ public final class MinionOfTeveshSzat extends CardImpl { new DoUnlessControllerPaysEffect( new DamageControllerEffect(2), new ManaCostsImpl<>("{B}{B}") - ), - TargetController.YOU, false + ) )); // {tap}: Target creature gets +3/-2 until end of turn. diff --git a/Mage.Sets/src/mage/cards/m/MinscBooTimelessHeroes.java b/Mage.Sets/src/mage/cards/m/MinscBooTimelessHeroes.java index e94d43396fb..ac6d38b968f 100644 --- a/Mage.Sets/src/mage/cards/m/MinscBooTimelessHeroes.java +++ b/Mage.Sets/src/mage/cards/m/MinscBooTimelessHeroes.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.abilities.Ability; import mage.abilities.LoyaltyAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.CanBeYourCommanderAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; @@ -62,7 +62,7 @@ public final class MinscBooTimelessHeroes extends CardImpl { true, "When {this} enters and at the beginning of your upkeep, ", new EntersBattlefieldTriggeredAbility(null, false), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false)) + new BeginningOfUpkeepTriggeredAbility(null)) ); // +1: Put three +1/+1 counters on up to one target creature with trample or haste. diff --git a/Mage.Sets/src/mage/cards/m/MirrisGuile.java b/Mage.Sets/src/mage/cards/m/MirrisGuile.java index 1ed1852003c..36131097d60 100644 --- a/Mage.Sets/src/mage/cards/m/MirrisGuile.java +++ b/Mage.Sets/src/mage/cards/m/MirrisGuile.java @@ -2,12 +2,11 @@ package mage.cards.m; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.LookLibraryControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; /** * @@ -20,7 +19,7 @@ public final class MirrisGuile extends CardImpl { // At the beginning of your upkeep, you may look at the top three cards of your library, then put them back in any order. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LookLibraryControllerEffect(3), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LookLibraryControllerEffect(3), true)); } private MirrisGuile(final MirrisGuile card) { diff --git a/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java b/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java index 4b6be51674e..a57dd03d453 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java +++ b/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.ObjectColor; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.Effect; @@ -15,8 +15,6 @@ 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 mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -48,7 +46,7 @@ public final class MirrorSigilSergeant extends CardImpl { // At the beginning of your upkeep, if you control a blue permanent, you may create a token that's a copy of Mirror-Sigil Sergeant. Effect effect = new CreateTokenCopySourceEffect(); effect.setText("you may create a token that's a copy of {this}"); - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, true); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(effect, true); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new PermanentsOnTheBattlefieldCondition(filter), rule)); } diff --git a/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java b/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java index 3de662ac53e..38814d489e2 100644 --- a/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java +++ b/Mage.Sets/src/mage/cards/m/MishrasWarMachine.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.BandingAbility; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -34,7 +33,7 @@ public final class MishrasWarMachine extends CardImpl { this.addAbility(BandingAbility.getInstance()); // At the beginning of your upkeep, Mishra's War Machine deals 3 damage to you unless you discard a card. If Mishra's War Machine deals damage to you this way, tap it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MishrasWarMachineEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MishrasWarMachineEffect())); } diff --git a/Mage.Sets/src/mage/cards/m/MissDemeanor.java b/Mage.Sets/src/mage/cards/m/MissDemeanor.java index 6a2ceab4909..8cd1e11c6d5 100644 --- a/Mage.Sets/src/mage/cards/m/MissDemeanor.java +++ b/Mage.Sets/src/mage/cards/m/MissDemeanor.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.FlyingAbility; @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -39,7 +38,7 @@ public final class MissDemeanor extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of each other player's upkeep, you may compliment that player on their game play. If you don't, sacrifice Miss Demeanour. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new MissDemeanorEffect(), TargetController.NOT_YOU, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.NOT_YOU, new MissDemeanorEffect(), false)); } private MissDemeanor(final MissDemeanor card) { diff --git a/Mage.Sets/src/mage/cards/m/MistOfStagnation.java b/Mage.Sets/src/mage/cards/m/MistOfStagnation.java index 9b87c62c171..f2b911329e4 100644 --- a/Mage.Sets/src/mage/cards/m/MistOfStagnation.java +++ b/Mage.Sets/src/mage/cards/m/MistOfStagnation.java @@ -2,7 +2,7 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DontUntapInControllersUntapStepAllEffect; @@ -32,7 +32,7 @@ public final class MistOfStagnation extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, StaticFilters.FILTER_PERMANENTS))); // At the beginning of each player's upkeep, that player chooses a permanent for each card in their graveyard, then untaps those permanents. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MistOfStagnationEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new MistOfStagnationEffect(), false)); } private MistOfStagnation(final MistOfStagnation card) { diff --git a/Mage.Sets/src/mage/cards/m/MistbreathElder.java b/Mage.Sets/src/mage/cards/m/MistbreathElder.java index c3618d5685a..5b587f0e230 100644 --- a/Mage.Sets/src/mage/cards/m/MistbreathElder.java +++ b/Mage.Sets/src/mage/cards/m/MistbreathElder.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DoIfCostPaid; @@ -38,7 +38,7 @@ public final class MistbreathElder extends CardImpl { new ReturnToHandChosenControlledPermanentCost( new TargetControlledPermanent(StaticFilters.FILTER_ANOTHER_CREATURE_YOU_CONTROL) ), false - ), TargetController.YOU, false)); + ))); } private MistbreathElder(final MistbreathElder card) { diff --git a/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java b/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java index 3e8a4c3ed59..38cf90d99a6 100644 --- a/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java +++ b/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.OneShotEffect; @@ -15,8 +15,6 @@ import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.TargetPermanent; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetSacrifice; import java.util.UUID; @@ -43,8 +41,8 @@ public final class MogisGodOfSlaughter extends CardImpl { // At the beginning of each opponent's upkeep, Mogis deals 2 damage to that player unless they sacrifice a creature. Ability ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new MogisGodOfSlaughterEffect(), - TargetController.OPPONENT, false, true + TargetController.OPPONENT, new MogisGodOfSlaughterEffect(), + false ); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/MolderSlug.java b/Mage.Sets/src/mage/cards/m/MolderSlug.java index bcd51076aaa..4606c62dffb 100644 --- a/Mage.Sets/src/mage/cards/m/MolderSlug.java +++ b/Mage.Sets/src/mage/cards/m/MolderSlug.java @@ -1,10 +1,7 @@ - package mage.cards.m; -import java.util.UUID; import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -13,6 +10,8 @@ import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterPermanent; +import java.util.UUID; + /** * @author Loki */ @@ -25,14 +24,16 @@ public final class MolderSlug extends CardImpl { } public MolderSlug(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); this.subtype.add(SubType.SLUG); this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(6); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(filter, 1, "that player"), TargetController.ANY, false); - this.addAbility(ability); + + // At the beginning of each player’s upkeep, that player sacrifices an artifact. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, + new SacrificeEffect(filter, 1, "that player"), false)); } private MolderSlug(final MolderSlug card) { diff --git a/Mage.Sets/src/mage/cards/m/MoltingHarpy.java b/Mage.Sets/src/mage/cards/m/MoltingHarpy.java index 3f167bfbdae..f57fb624b3a 100644 --- a/Mage.Sets/src/mage/cards/m/MoltingHarpy.java +++ b/Mage.Sets/src/mage/cards/m/MoltingHarpy.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -32,7 +31,7 @@ public final class MoltingHarpy extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Molting Harpy unless you pay {2}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{2}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{2}")))); } private MoltingHarpy(final MoltingHarpy card) { diff --git a/Mage.Sets/src/mage/cards/m/Momentum.java b/Mage.Sets/src/mage/cards/m/Momentum.java index 192a0124532..98f197864d4 100644 --- a/Mage.Sets/src/mage/cards/m/Momentum.java +++ b/Mage.Sets/src/mage/cards/m/Momentum.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.AttachEffect; @@ -17,7 +17,6 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -40,7 +39,7 @@ public final class Momentum extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, you may put a growth counter on Momentum. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.GROWTH.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.GROWTH.createInstance(), true), true)); // Enchanted creature gets +1/+1 for each growth counter on Momentum. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(new CountersSourceCount(CounterType.GROWTH), new CountersSourceCount(CounterType.GROWTH)))); diff --git a/Mage.Sets/src/mage/cards/m/MonkClass.java b/Mage.Sets/src/mage/cards/m/MonkClass.java index 19367bdceda..52fbec094cc 100644 --- a/Mage.Sets/src/mage/cards/m/MonkClass.java +++ b/Mage.Sets/src/mage/cards/m/MonkClass.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.abilities.Ability; import mage.abilities.common.BecomesClassLevelTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalCostModificationEffect; @@ -61,7 +61,7 @@ public final class MonkClass extends CardImpl { // At the beginning of your upkeep, exile the top card of your library. For as long as it remains exiled, it has "You may cast this card from exile as long as you've cast another spell this turn." this.addAbility(new SimpleStaticAbility(new GainClassAbilitySourceEffect( new BeginningOfUpkeepTriggeredAbility( - new MonkClassEffect(), TargetController.YOU, false + new MonkClassEffect(), false ), 3 ))); } diff --git a/Mage.Sets/src/mage/cards/m/MoonringMirror.java b/Mage.Sets/src/mage/cards/m/MoonringMirror.java index 41f1f0d7c3d..64e79ec3c56 100644 --- a/Mage.Sets/src/mage/cards/m/MoonringMirror.java +++ b/Mage.Sets/src/mage/cards/m/MoonringMirror.java @@ -3,13 +3,12 @@ package mage.cards.m; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DrawCardControllerTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.ExileZone; import mage.game.Game; @@ -34,7 +33,7 @@ public final class MoonringMirror extends CardImpl { this.addAbility(new DrawCardControllerTriggeredAbility(new MoonringMirrorExileEffect(), false)); // At the beginning of your upkeep, you may exile all cards from your hand face down. If you do, put all other cards you own exiled with Moonring Mirror into your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MoonringMirrorEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MoonringMirrorEffect(), true)); } private MoonringMirror(final MoonringMirror card) { diff --git a/Mage.Sets/src/mage/cards/m/MorgulKnifeWound.java b/Mage.Sets/src/mage/cards/m/MorgulKnifeWound.java index b6deac6b6f0..8a4f625f6cd 100644 --- a/Mage.Sets/src/mage/cards/m/MorgulKnifeWound.java +++ b/Mage.Sets/src/mage/cards/m/MorgulKnifeWound.java @@ -1,11 +1,10 @@ package mage.cards.m; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.DoUnlessControllerPaysEffect; import mage.abilities.effects.common.ExileSourceEffect; import mage.abilities.effects.common.continuous.BoostEnchantedEffect; @@ -42,7 +41,7 @@ public final class MorgulKnifeWound extends CardImpl { new ExileSourceEffect(), new PayLifeCost(2), "Pay 2 life to prevent {this} from being exiled?" - ).setText("exile {this} unless you pay 2 life"), TargetController.YOU, false + ).setText("exile {this} unless you pay 2 life") ), AttachmentType.AURA).setText("and has \"At the beginning of your upkeep, exile this creature unless you pay 2 life.\"")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/m/Moroii.java b/Mage.Sets/src/mage/cards/m/Moroii.java index c39bcf99c51..a3056f4cb78 100644 --- a/Mage.Sets/src/mage/cards/m/Moroii.java +++ b/Mage.Sets/src/mage/cards/m/Moroii.java @@ -3,14 +3,13 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -27,7 +26,7 @@ public final class Moroii extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, you lose 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1))); } private Moroii(final Moroii card) { diff --git a/Mage.Sets/src/mage/cards/m/MorskaUnderseaSleuth.java b/Mage.Sets/src/mage/cards/m/MorskaUnderseaSleuth.java index 6d0fb3276f1..8e227c07774 100644 --- a/Mage.Sets/src/mage/cards/m/MorskaUnderseaSleuth.java +++ b/Mage.Sets/src/mage/cards/m/MorskaUnderseaSleuth.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DrawNthCardTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect; @@ -37,7 +37,7 @@ public final class MorskaUnderseaSleuth extends CardImpl { // At the beginning of your upkeep, investigate. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new InvestigateEffect(), TargetController.YOU, false + new InvestigateEffect() )); // Whenever you draw your second card each turn, put two +1/+1 counters on Morska, Undersea Sleuth. diff --git a/Mage.Sets/src/mage/cards/m/MortalCombat.java b/Mage.Sets/src/mage/cards/m/MortalCombat.java index af615e2040c..cb72ca3dfe1 100644 --- a/Mage.Sets/src/mage/cards/m/MortalCombat.java +++ b/Mage.Sets/src/mage/cards/m/MortalCombat.java @@ -2,14 +2,13 @@ package mage.cards.m; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.WinGameSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; @@ -25,7 +24,7 @@ public final class MortalCombat extends CardImpl { // At the beginning of your upkeep, if twenty or more creature cards are in your graveyard, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()), new TwentyGraveyardCreatureCondition(), "At the beginning of your upkeep, if twenty or more creature cards are in your graveyard, you win the game.")); } diff --git a/Mage.Sets/src/mage/cards/m/Mudslide.java b/Mage.Sets/src/mage/cards/m/Mudslide.java index 2f09d1d3ea8..90e7097ea6d 100644 --- a/Mage.Sets/src/mage/cards/m/Mudslide.java +++ b/Mage.Sets/src/mage/cards/m/Mudslide.java @@ -1,7 +1,7 @@ package mage.cards.m; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; @@ -42,7 +42,7 @@ public final class Mudslide extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, filterCreature))); // At the beginning of each player's upkeep, that player may choose any number of tapped creatures without flying they control and pay {2} for each creature chosen this way. If the player does, untap those creatures. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new MudslideEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new MudslideEffect(), false)); } private Mudslide(final Mudslide card) { diff --git a/Mage.Sets/src/mage/cards/m/Musician.java b/Mage.Sets/src/mage/cards/m/Musician.java index af3d056fab5..f6fba20efed 100644 --- a/Mage.Sets/src/mage/cards/m/Musician.java +++ b/Mage.Sets/src/mage/cards/m/Musician.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.DynamicValueGenericManaCost; import mage.abilities.costs.common.TapSourceCost; @@ -96,12 +96,11 @@ class MusicianEffect extends OneShotEffect { class MusicianTriggeredAbility extends BeginningOfUpkeepTriggeredAbility { MusicianTriggeredAbility() { - super(Zone.BATTLEFIELD, new DoUnlessControllerPaysEffect( - new DestroySourceEffect(), - new DynamicValueGenericManaCost(new CountersSourceCount(CounterType.MUSIC), - "{1} for each music counter on {this}") - ).setText("destroy this creature unless you pay {1} for each music counter on it"), - TargetController.YOU, false, false); + super(new DoUnlessControllerPaysEffect( + new DestroySourceEffect(), + new DynamicValueGenericManaCost(new CountersSourceCount(CounterType.MUSIC), + "{1} for each music counter on {this}") + ).setText("destroy this creature unless you pay {1} for each music counter on it")); } private MusicianTriggeredAbility(final MusicianTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/cards/m/Mycologist.java b/Mage.Sets/src/mage/cards/m/Mycologist.java index 953762fd4ef..67b94469a8f 100644 --- a/Mage.Sets/src/mage/cards/m/Mycologist.java +++ b/Mage.Sets/src/mage/cards/m/Mycologist.java @@ -2,7 +2,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -13,12 +13,10 @@ 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 mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.SaprolingToken; -import mage.target.common.TargetControlledPermanent; /** * @@ -40,7 +38,7 @@ public final class Mycologist extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a spore counter on Mycologist. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Mycologist: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); diff --git a/Mage.Sets/src/mage/cards/m/Mycoloth.java b/Mage.Sets/src/mage/cards/m/Mycoloth.java index d8b13fc2e15..ed86f3e0951 100644 --- a/Mage.Sets/src/mage/cards/m/Mycoloth.java +++ b/Mage.Sets/src/mage/cards/m/Mycoloth.java @@ -2,7 +2,7 @@ package mage.cards.m; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.keyword.DevourAbility; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.permanent.token.SaprolingToken; @@ -34,10 +33,8 @@ public final class Mycoloth extends CardImpl { // At the beginning of your upkeep, create a 1/1 green Saproling creature token for each +1/+1 counter on Mycoloth. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new SaprolingToken(),new CountersSourceCount(CounterType.P1P1)), - TargetController.YOU, - false - )); + new CreateTokenEffect(new SaprolingToken(),new CountersSourceCount(CounterType.P1P1)) + )); } private Mycoloth(final Mycoloth card) { diff --git a/Mage.Sets/src/mage/cards/m/MyrPrototype.java b/Mage.Sets/src/mage/cards/m/MyrPrototype.java index 63572c568ee..876fe944317 100644 --- a/Mage.Sets/src/mage/cards/m/MyrPrototype.java +++ b/Mage.Sets/src/mage/cards/m/MyrPrototype.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCosts; import mage.abilities.costs.mana.ManaCostsImpl; @@ -14,7 +14,6 @@ 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 mage.counters.CounterType; import mage.game.Game; @@ -34,7 +33,7 @@ public final class MyrPrototype extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a +1/+1 counter on Myr Prototype. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()))); // Myr Prototype can't attack or block unless you pay {1} for each +1/+1 counter on it. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MyrPrototypeCantAttackUnlessYouPayEffect())); diff --git a/Mage.Sets/src/mage/cards/m/MyrServitor.java b/Mage.Sets/src/mage/cards/m/MyrServitor.java index 20a24a5433f..a2024a5a332 100644 --- a/Mage.Sets/src/mage/cards/m/MyrServitor.java +++ b/Mage.Sets/src/mage/cards/m/MyrServitor.java @@ -4,7 +4,7 @@ package mage.cards.m; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SourceOnBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; @@ -35,7 +34,7 @@ public final class MyrServitor extends CardImpl { // At the beginning of your upkeep, if Myr Servitor is on the battlefield, each player returns all cards named Myr Servitor from their graveyard to the battlefield. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new MyrServitorReturnEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new MyrServitorReturnEffect()), SourceOnBattlefieldCondition.instance, "At the beginning of your upkeep, if {this} is on the battlefield, each player returns all cards named Myr Servitor from their graveyard to the battlefield" )); diff --git a/Mage.Sets/src/mage/cards/m/MysticBarrier.java b/Mage.Sets/src/mage/cards/m/MysticBarrier.java index c7396d2f74e..06b5871afff 100644 --- a/Mage.Sets/src/mage/cards/m/MysticBarrier.java +++ b/Mage.Sets/src/mage/cards/m/MysticBarrier.java @@ -1,6 +1,6 @@ package mage.cards.m; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.PlayerCanOnlyAttackInDirectionRestrictionEffect; @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import java.util.UUID; @@ -25,7 +24,7 @@ public final class MysticBarrier extends CardImpl { // When Mystic Barrier enters the battlefield or at the beginning of your upkeep, choose left or right. this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, PlayerCanOnlyAttackInDirectionRestrictionEffect.choiceEffect(), new EntersBattlefieldTriggeredAbility(null, false), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false))); + new BeginningOfUpkeepTriggeredAbility(null))); // Each player may attack only the nearest opponent in the last chosen direction and planeswalkers controlled by that player. this.addAbility(new SimpleStaticAbility( diff --git a/Mage.Sets/src/mage/cards/m/MysticRedaction.java b/Mage.Sets/src/mage/cards/m/MysticRedaction.java index 6acf24d5a39..582969720d8 100644 --- a/Mage.Sets/src/mage/cards/m/MysticRedaction.java +++ b/Mage.Sets/src/mage/cards/m/MysticRedaction.java @@ -1,6 +1,6 @@ package mage.cards.m; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DiscardCardControllerTriggeredAbility; import mage.abilities.effects.common.MillCardsEachPlayerEffect; import mage.abilities.effects.keyword.ScryEffect; @@ -21,7 +21,7 @@ public final class MysticRedaction extends CardImpl { // At the beginning of your upkeep, scry 1. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ScryEffect(1, false), TargetController.YOU, false + new ScryEffect(1, false) )); // Whenever you discard a card, each opponent mills two cards. diff --git a/Mage.Sets/src/mage/cards/n/Narcolepsy.java b/Mage.Sets/src/mage/cards/n/Narcolepsy.java index 8a3a3fbcd2d..a25119e2b86 100644 --- a/Mage.Sets/src/mage/cards/n/Narcolepsy.java +++ b/Mage.Sets/src/mage/cards/n/Narcolepsy.java @@ -3,7 +3,7 @@ package mage.cards.n; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -54,7 +54,7 @@ public final class Narcolepsy extends CardImpl { class NarcolepsyTriggeredAbility extends BeginningOfUpkeepTriggeredAbility { NarcolepsyTriggeredAbility() { - super(new NarcolepsyEffect(), TargetController.ANY, false); + super(TargetController.ANY, new NarcolepsyEffect(), false); } private NarcolepsyTriggeredAbility(final NarcolepsyTriggeredAbility ability) { diff --git a/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java b/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java index a7d25b4b332..16bf47ff4fc 100644 --- a/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java +++ b/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiscardsACardOpponentTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.CreateTokenEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.game.permanent.token.ElfWarriorToken; import mage.target.common.TargetOpponent; @@ -35,7 +34,7 @@ public final class NathOfTheGiltLeaf extends CardImpl { // At the beginning of your upkeep, you may have target opponent discard a card at random. Effect effect = new DiscardTargetEffect(1, true); effect.setText("you may have target opponent discard a card at random"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, true); ability.addTarget(new TargetOpponent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/n/NaturesWrath.java b/Mage.Sets/src/mage/cards/n/NaturesWrath.java index 5c1f75e3930..5cc9732522e 100644 --- a/Mage.Sets/src/mage/cards/n/NaturesWrath.java +++ b/Mage.Sets/src/mage/cards/n/NaturesWrath.java @@ -2,7 +2,7 @@ package mage.cards.n; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SetTargetPointer; import mage.constants.SubType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -37,7 +36,7 @@ public final class NaturesWrath extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{G}{G}"); // At the beginning of your upkeep, sacrifice Nature's Wrath unless you pay {G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}")))); // Whenever a player puts an Island or blue permanent onto the battlefield, they sacrifice an Island or blue permanent. this.addAbility(new EntersBattlefieldAllTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/n/NearDeathExperience.java b/Mage.Sets/src/mage/cards/n/NearDeathExperience.java index 660fb19f02a..eed6eec6973 100644 --- a/Mage.Sets/src/mage/cards/n/NearDeathExperience.java +++ b/Mage.Sets/src/mage/cards/n/NearDeathExperience.java @@ -1,6 +1,6 @@ package mage.cards.n; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.LifeCompareCondition; import mage.abilities.effects.common.WinGameSourceControllerEffect; import mage.cards.CardImpl; @@ -20,7 +20,7 @@ public final class NearDeathExperience extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}{W}"); // At the beginning of your upkeep, if you have exactly 1 life, you win the game. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()) .withInterveningIf(new LifeCompareCondition(TargetController.YOU, ComparisonType.EQUAL_TO, 1))); } diff --git a/Mage.Sets/src/mage/cards/n/NecrogenMists.java b/Mage.Sets/src/mage/cards/n/NecrogenMists.java index a73ab0defd6..2445cd2cc53 100644 --- a/Mage.Sets/src/mage/cards/n/NecrogenMists.java +++ b/Mage.Sets/src/mage/cards/n/NecrogenMists.java @@ -2,7 +2,7 @@ package mage.cards.n; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -20,7 +20,7 @@ public final class NecrogenMists extends CardImpl { // At the beginning of each player's upkeep, that player discards a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new DiscardTargetEffect(1), false)); } private NecrogenMists(final NecrogenMists card) { diff --git a/Mage.Sets/src/mage/cards/n/Necrogoyf.java b/Mage.Sets/src/mage/cards/n/Necrogoyf.java index 15b095d0096..0a20029f192 100644 --- a/Mage.Sets/src/mage/cards/n/Necrogoyf.java +++ b/Mage.Sets/src/mage/cards/n/Necrogoyf.java @@ -1,7 +1,7 @@ package mage.cards.n; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.DynamicValue; @@ -37,8 +37,8 @@ public final class Necrogoyf extends CardImpl { // At the beginning of each player's upkeep, that player discards a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new DiscardTargetEffect(1), - TargetController.ACTIVE, false, true + TargetController.EACH_PLAYER, new DiscardTargetEffect(1), + false )); // Madness {1}{B}{B} diff --git a/Mage.Sets/src/mage/cards/n/Necroplasm.java b/Mage.Sets/src/mage/cards/n/Necroplasm.java index 331c3f6ba96..f0bdf8a7f1e 100644 --- a/Mage.Sets/src/mage/cards/n/Necroplasm.java +++ b/Mage.Sets/src/mage/cards/n/Necroplasm.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.DredgeAbility; @@ -37,7 +37,7 @@ public final class Necroplasm extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a +1/+1 counter on Necroplasm. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()))); // At the beginning of your end step, destroy each creature with converted mana cost equal to the number of +1/+1 counters on Necroplasm. this.addAbility(new BeginningOfEndStepTriggeredAbility(new NecroplasmEffect(), TargetController.YOU, false)); diff --git a/Mage.Sets/src/mage/cards/n/NecroticPlague.java b/Mage.Sets/src/mage/cards/n/NecroticPlague.java index 5c3e602fdba..1ec867a870c 100644 --- a/Mage.Sets/src/mage/cards/n/NecroticPlague.java +++ b/Mage.Sets/src/mage/cards/n/NecroticPlague.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; @@ -44,7 +44,7 @@ public final class NecroticPlague extends CardImpl { // Enchanted creature has "At the beginning of your upkeep, sacrifice this creature." // When enchanted creature dies, its controller chooses target creature one of their opponents controls. Return Necrotic Plague from its owner's graveyard to the battlefield attached to that creature. - ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect(), TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()); Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA, Duration.WhileOnBattlefield); effect.setText("Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature.\""); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); diff --git a/Mage.Sets/src/mage/cards/n/NetherShadow.java b/Mage.Sets/src/mage/cards/n/NetherShadow.java index 962d69cf31c..1d833ff4460 100644 --- a/Mage.Sets/src/mage/cards/n/NetherShadow.java +++ b/Mage.Sets/src/mage/cards/n/NetherShadow.java @@ -3,7 +3,7 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.abilities.keyword.HasteAbility; import mage.cards.Card; @@ -50,7 +50,7 @@ class NetherShadowTriggerdAbility extends BeginningOfUpkeepTriggeredAbility{ public NetherShadowTriggerdAbility(){ - super(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(), TargetController.YOU, true); + super(Zone.GRAVEYARD, TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect(), true); } private NetherShadowTriggerdAbility(final NetherShadowTriggerdAbility effect) { diff --git a/Mage.Sets/src/mage/cards/n/NetherSpirit.java b/Mage.Sets/src/mage/cards/n/NetherSpirit.java index 891c50cb45a..4dcc774254c 100644 --- a/Mage.Sets/src/mage/cards/n/NetherSpirit.java +++ b/Mage.Sets/src/mage/cards/n/NetherSpirit.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.cards.Card; @@ -33,8 +33,8 @@ public final class NetherSpirit extends CardImpl { // At the beginning of your upkeep, if Nether Spirit is the only creature card in your graveyard, you may return Nether Spirit to the battlefield. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return {this} to the battlefield"), - TargetController.YOU, true).withInterveningIf(NetherSpiritCondition.instance)); + TargetController.YOU, new ReturnSourceFromGraveyardToBattlefieldEffect().setText("return {this} to the battlefield"), + true).withInterveningIf(NetherSpiritCondition.instance)); } private NetherSpirit(final NetherSpirit card) { diff --git a/Mage.Sets/src/mage/cards/n/NetheresePuzzleWard.java b/Mage.Sets/src/mage/cards/n/NetheresePuzzleWard.java index e51a969093b..7943a43dfb6 100644 --- a/Mage.Sets/src/mage/cards/n/NetheresePuzzleWard.java +++ b/Mage.Sets/src/mage/cards/n/NetheresePuzzleWard.java @@ -2,14 +2,13 @@ package mage.cards.n; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.DieRolledEvent; @@ -29,7 +28,7 @@ public final class NetheresePuzzleWard extends CardImpl { // Focus Beam — At the beginning of your upkeep, roll a d4. Scry X, where X is the result. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new NetheresePuzzleWardEffect(), TargetController.YOU, false + new NetheresePuzzleWardEffect() ).withFlavorWord("Focus Beam")); // Perfect Illumination — Whenever you roll a die's highest natural result, draw a card. diff --git a/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java b/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java index b55852677a9..e6d5f84008b 100644 --- a/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java +++ b/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java @@ -3,13 +3,12 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -24,7 +23,7 @@ public final class NettletoothDjinn extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, Nettletooth Djinn deals 1 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1), TargetController.YOU, false)); } + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1))); } private NettletoothDjinn(final NettletoothDjinn card) { super(card); diff --git a/Mage.Sets/src/mage/cards/n/NezumiShortfang.java b/Mage.Sets/src/mage/cards/n/NezumiShortfang.java index 4541d86a986..e9f99bb019e 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiShortfang.java +++ b/Mage.Sets/src/mage/cards/n/NezumiShortfang.java @@ -4,7 +4,7 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; @@ -71,7 +71,7 @@ class StabwhiskerTheOdious extends TokenImpl { // At the beginning of each opponent's upkeep, that player loses 1 life for each card fewer than three in their hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new StabwhiskerLoseLifeEffect(), TargetController.OPPONENT, false, true)); + TargetController.OPPONENT, new StabwhiskerLoseLifeEffect(), false)); } private StabwhiskerTheOdious(final StabwhiskerTheOdious token) { super(token); diff --git a/Mage.Sets/src/mage/cards/n/NicolBolas.java b/Mage.Sets/src/mage/cards/n/NicolBolas.java index d513572bf5d..43a07f1dc26 100644 --- a/Mage.Sets/src/mage/cards/n/NicolBolas.java +++ b/Mage.Sets/src/mage/cards/n/NicolBolas.java @@ -3,7 +3,7 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsDamageToOpponentTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; /** * @@ -34,7 +33,7 @@ public final class NicolBolas extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Nicol Bolas unless you pay {U}{B}{R}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}{B}{R}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}{B}{R}")))); // Whenever Nicol Bolas deals damage to an opponent, that player discards their hand. this.addAbility(new DealsDamageToOpponentTriggeredAbility(new DiscardHandTargetEffect(), false, false, true)); diff --git a/Mage.Sets/src/mage/cards/n/NoeticScales.java b/Mage.Sets/src/mage/cards/n/NoeticScales.java index 8a79f87634e..0e183b9ccfa 100644 --- a/Mage.Sets/src/mage/cards/n/NoeticScales.java +++ b/Mage.Sets/src/mage/cards/n/NoeticScales.java @@ -1,7 +1,7 @@ package mage.cards.n; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -31,7 +31,7 @@ public final class NoeticScales extends CardImpl { // At the beginning of each player's upkeep, return to its owner's hand each creature that player controls with power greater than the number of cards in their hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new NoeticScalesEffect(), TargetController.ANY, false + TargetController.EACH_PLAYER, new NoeticScalesEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/n/NowIKnowMyABCs.java b/Mage.Sets/src/mage/cards/n/NowIKnowMyABCs.java index 1b6284caa78..ef6074fa4a0 100644 --- a/Mage.Sets/src/mage/cards/n/NowIKnowMyABCs.java +++ b/Mage.Sets/src/mage/cards/n/NowIKnowMyABCs.java @@ -5,14 +5,13 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.WinGameSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; @@ -27,7 +26,7 @@ public final class NowIKnowMyABCs extends CardImpl { // At the beginning of your upkeep, if you control permanents with names that include all twenty-six letters of the English alphabet, you win the game. this.addAbility(new ConditionalTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()), new NowIKnowMyABCsCondition(), "At the beginning of your upkeep, if you control permanents with names that include all twenty-six letters of the English alphabet, you win the game.")); } diff --git a/Mage.Sets/src/mage/cards/n/NutCollector.java b/Mage.Sets/src/mage/cards/n/NutCollector.java index 8421dfda0e7..f524b4ec945 100644 --- a/Mage.Sets/src/mage/cards/n/NutCollector.java +++ b/Mage.Sets/src/mage/cards/n/NutCollector.java @@ -2,7 +2,7 @@ package mage.cards.n; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -37,7 +37,7 @@ public final class NutCollector extends CardImpl { // At the beginning of your upkeep, you may create a 1/1 green Squirrel creature token. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new SquirrelToken()), TargetController.YOU, true + new CreateTokenEffect(new SquirrelToken()), true )); // Threshold - Squirrel creatures get +2/+2 as long as seven or more cards are in your graveyard. diff --git a/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java b/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java index 6c48cd2dfca..e9571fa43a1 100644 --- a/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java +++ b/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java @@ -3,13 +3,12 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -25,7 +24,7 @@ public final class NyxFleeceRam extends CardImpl { this.toughness = new MageInt(5); // At the beginning of your upkeep, you gain 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1))); } private NyxFleeceRam(final NyxFleeceRam card) { diff --git a/Mage.Sets/src/mage/cards/n/NyxWeaver.java b/Mage.Sets/src/mage/cards/n/NyxWeaver.java index a352b7675fc..30a67de5f42 100644 --- a/Mage.Sets/src/mage/cards/n/NyxWeaver.java +++ b/Mage.Sets/src/mage/cards/n/NyxWeaver.java @@ -4,7 +4,7 @@ package mage.cards.n; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.ExileSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -15,7 +15,6 @@ 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 mage.target.common.TargetCardInYourGraveyard; @@ -35,7 +34,7 @@ public final class NyxWeaver extends CardImpl { // Reach this.addAbility(ReachAbility.getInstance()); // At the beginning of your upkeep, put the top two cards of your library into your graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MillCardsControllerEffect(2))); // {1}{B}{G}, Exile Nyx Weaver: Return target card from your graveyard to your hand. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new ManaCostsImpl<>("{1}{B}{G}")); ability.addCost(new ExileSourceCost()); diff --git a/Mage.Sets/src/mage/cards/o/OathOfDruids.java b/Mage.Sets/src/mage/cards/o/OathOfDruids.java index 15df4ffb868..93c10603166 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfDruids.java +++ b/Mage.Sets/src/mage/cards/o/OathOfDruids.java @@ -2,7 +2,7 @@ package mage.cards.o; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; @@ -31,7 +31,7 @@ public final class OathOfDruids extends CardImpl { // At the beginning of each player's upkeep, that player chooses target player who controls more creatures than they do and is their opponent. // The first player may reveal cards from the top of their library until they reveal a creature card. // If they do, that player puts that card onto the battlefield and all other cards revealed this way into their graveyard. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new OathOfDruidsEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new OathOfDruidsEffect(), false).withTargetPointerSet(false); ability.setTargetAdjuster(OathOfDruidsAdjuster.instance); this.addAbility(ability); } @@ -99,7 +99,7 @@ class OathOfDruidsEffect extends OneShotEffect { super(Outcome.PutCardInPlay); staticText = "that player chooses target player who controls more creatures than they do and is their opponent. " + "The first player may reveal cards from the top of their library until they reveal a creature card. " - + "If they do, that player puts that card onto the battlefield and all other cards revealed this way into their graveyard"; + + "If the first player does, that player puts that card onto the battlefield and all other cards revealed this way into their graveyard"; } private OathOfDruidsEffect(final OathOfDruidsEffect effect) { diff --git a/Mage.Sets/src/mage/cards/o/OathOfGhouls.java b/Mage.Sets/src/mage/cards/o/OathOfGhouls.java index 607116b9ccf..a43fc204030 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfGhouls.java +++ b/Mage.Sets/src/mage/cards/o/OathOfGhouls.java @@ -3,7 +3,7 @@ package mage.cards.o; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -37,7 +37,7 @@ public final class OathOfGhouls extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); // At the beginning of each player's upkeep, that player chooses target player whose graveyard has fewer creature cards in it than their graveyard does and is their opponent. The first player may return a creature card from their graveyard to their hand. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new OathOfGhoulsEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new OathOfGhoulsEffect(), false).withTargetPointerSet(false); ability.setTargetAdjuster(OathOfGhoulsAdjuster.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OathOfJace.java b/Mage.Sets/src/mage/cards/o/OathOfJace.java index d52bce15c6c..dbfcd69cfa2 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfJace.java +++ b/Mage.Sets/src/mage/cards/o/OathOfJace.java @@ -3,7 +3,7 @@ package mage.cards.o; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawDiscardControllerEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; @@ -31,7 +30,7 @@ public final class OathOfJace extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawDiscardControllerEffect(3, 2), false)); // At the beginning of your upkeep, scry X, where X is the number of planeswalkers you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new OathOfJaceEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new OathOfJaceEffect())); } diff --git a/Mage.Sets/src/mage/cards/o/OathOfLieges.java b/Mage.Sets/src/mage/cards/o/OathOfLieges.java index aa89d706668..a8e97bc9d1c 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfLieges.java +++ b/Mage.Sets/src/mage/cards/o/OathOfLieges.java @@ -1,7 +1,7 @@ package mage.cards.o; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.search.SearchLibraryPutInPlayTargetPlayerEffect; @@ -32,7 +32,7 @@ public final class OathOfLieges extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); // At the beginning of each player's upkeep, that player chooses target player who controls more lands than they do and is their opponent. The first player may search their library for a basic land card, put that card onto the battlefield, then shuffle their library. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new OathOfLiegesEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new OathOfLiegesEffect(), false).withTargetPointerSet(false); ability.setTargetAdjuster(OathOfLiegesAdjuster.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OathOfMages.java b/Mage.Sets/src/mage/cards/o/OathOfMages.java index 2c6319d1b8c..022ad958074 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfMages.java +++ b/Mage.Sets/src/mage/cards/o/OathOfMages.java @@ -2,7 +2,7 @@ package mage.cards.o; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,8 +29,8 @@ public final class OathOfMages extends CardImpl { // At the beginning of each player's upkeep, that player chooses target player who has more life than they do and is their opponent. The first player may have Oath of Mages deal 1 damage to the second player. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new OathOfMagesEffect(), TargetController.ANY, false - ); + TargetController.EACH_PLAYER, new OathOfMagesEffect(), false + ).withTargetPointerSet(false); ability.setTargetAdjuster(OathOfMagesAdjuster.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OathOfScholars.java b/Mage.Sets/src/mage/cards/o/OathOfScholars.java index b4ae2f82d37..ec2bdbbad85 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfScholars.java +++ b/Mage.Sets/src/mage/cards/o/OathOfScholars.java @@ -3,7 +3,7 @@ package mage.cards.o; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +29,7 @@ public final class OathOfScholars extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); // At the beginning of each player's upkeep, that player chooses target player who has more cards in hand than they do and is their opponent. The first player may discard their hand and draw three cards. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new OathOfScholarsEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new OathOfScholarsEffect(), false).withTargetPointerSet(false); ability.setTargetAdjuster(OathOfScholarsAdjuster.instance); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java b/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java index d1ff295a566..1538f17d57d 100644 --- a/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java +++ b/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -38,7 +38,7 @@ public final class ObsessiveSkinner extends CardImpl { // Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, // put a +1/+1 counter on target creature. ability = new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), TargetController.OPPONENT, false), + new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new AddCountersTargetEffect(CounterType.P1P1.createInstance()), false), DeliriumCondition.instance, "Delirium — At the beginning of each opponent's upkeep, if there are four or more card types among cards in your graveyard, " + "put a +1/+1 counter on target creature."); diff --git a/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java b/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java index d36d5725dae..ff90c215b1a 100644 --- a/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java +++ b/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java @@ -3,7 +3,7 @@ package mage.cards.o; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -99,8 +99,7 @@ class ObsidianFireheartOneShotEffect extends OneShotEffect { && source.getTargets().get(0) != null) { ContinuousEffect effect = new ObsidianFireheartGainAbilityEffect( new BeginningOfUpkeepTriggeredAbility( - new DamageControllerEffect(1), - TargetController.YOU, + TargetController.YOU, new DamageControllerEffect(1), false), Duration.Custom, ""); diff --git a/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java b/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java index 73ab6fee2d1..2ac4f4f0935 100644 --- a/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java +++ b/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java @@ -3,7 +3,7 @@ package mage.cards.o; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.GainLifeControllerTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.dynamicvalue.common.StaticValue; @@ -36,7 +36,7 @@ public final class OloroAgelessAscetic extends CardImpl { this.toughness = new MageInt(5); // At the beginning of your upkeep, you gain 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(2))); // Whenever you gain life, you may pay {1}. If you do, draw a card and each opponent loses 1 life. DoIfCostPaid effect = new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); @@ -47,7 +47,7 @@ public final class OloroAgelessAscetic extends CardImpl { // At the beginning of your upkeep, if Oloro, Ageless Ascetic is in the command zone, you gain 2 life. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, - new GainLifeEffect(StaticValue.get(2), "if {this} is in the command zone, you gain 2 life"), TargetController.YOU, false)); + TargetController.YOU, new GainLifeEffect(StaticValue.get(2), "if {this} is in the command zone, you gain 2 life"), false)); } private OloroAgelessAscetic(final OloroAgelessAscetic card) { diff --git a/Mage.Sets/src/mage/cards/o/OneThousandLashes.java b/Mage.Sets/src/mage/cards/o/OneThousandLashes.java index f7f1119cc5f..5bd53433bbc 100644 --- a/Mage.Sets/src/mage/cards/o/OneThousandLashes.java +++ b/Mage.Sets/src/mage/cards/o/OneThousandLashes.java @@ -3,7 +3,7 @@ package mage.cards.o; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -41,7 +41,7 @@ public final class OneThousandLashes extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttackActivateAttachedEffect())); // At the beginning of the upkeep of enchanted creature's controller, that player loses 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new LoseLifeTargetEffect(1), false)); } private OneThousandLashes(final OneThousandLashes card) { diff --git a/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java b/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java index 0850f564e5e..8303b1032c5 100644 --- a/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java +++ b/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java @@ -4,14 +4,13 @@ package mage.cards.o; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -36,7 +35,7 @@ public final class OniOfWildPlaces extends CardImpl { this.toughness = new MageInt(5); this.addAbility(HasteAbility.getInstance()); // At the beginning of your upkeep, return a red creature you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter))); } private OniOfWildPlaces(final OniOfWildPlaces card) { diff --git a/Mage.Sets/src/mage/cards/o/OniPossession.java b/Mage.Sets/src/mage/cards/o/OniPossession.java index 80860208b3c..c6d282f7193 100644 --- a/Mage.Sets/src/mage/cards/o/OniPossession.java +++ b/Mage.Sets/src/mage/cards/o/OniPossession.java @@ -1,7 +1,7 @@ package mage.cards.o; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.SacrificeControllerEffect; @@ -37,7 +37,7 @@ public final class OniPossession extends CardImpl { // At the beginning of your upkeep, sacrifice a creature. Ability ability2 = new BeginningOfUpkeepTriggeredAbility( - new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, ""), TargetController.YOU, false); + new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "")); this.addAbility(ability2); // Enchanted creature gets +3/+3 and has trample. Ability staticAbility = new SimpleStaticAbility(new BoostEnchantedEffect(3, 3)); diff --git a/Mage.Sets/src/mage/cards/o/Ophiomancer.java b/Mage.Sets/src/mage/cards/o/Ophiomancer.java index ab493ac2140..4427d99cd68 100644 --- a/Mage.Sets/src/mage/cards/o/Ophiomancer.java +++ b/Mage.Sets/src/mage/cards/o/Ophiomancer.java @@ -3,7 +3,7 @@ package mage.cards.o; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -29,7 +29,7 @@ public final class Ophiomancer extends CardImpl { // At the beginning of each upkeep, if you control no Snakes, create a 1/1 black Snake creature token with deathtouch. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new OphiomancerSnakeToken()), TargetController.ANY, false, false), + new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new OphiomancerSnakeToken()), false), new PermanentsOnTheBattlefieldCondition(new FilterCreaturePermanent(SubType.SNAKE, "no Snakes"), ComparisonType.EQUAL_TO, 0), "At the beginning of each upkeep, if you control no Snakes, create a 1/1 black Snake creature token with deathtouch.")); } diff --git a/Mage.Sets/src/mage/cards/o/OrcishMine.java b/Mage.Sets/src/mage/cards/o/OrcishMine.java index f6d7b5ed1ef..23bdf9ed256 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishMine.java +++ b/Mage.Sets/src/mage/cards/o/OrcishMine.java @@ -3,7 +3,7 @@ package mage.cards.o; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.common.BecomesTappedAttachedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageAttachedControllerEffect; @@ -47,7 +47,7 @@ public final class OrcishMine extends CardImpl { // At the beginning of your upkeep or whenever enchanted land becomes tapped, remove an ore counter from Orcish Mine. this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new RemoveCounterSourceEffect(CounterType.ORE.createInstance()), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(null), new BecomesTappedAttachedTriggeredAbility(null, "enchanted land"))); // When the last ore counter is removed from Orcish Mine, destroy enchanted land and Orcish Mine deals 2 damage to that land's controller. diff --git a/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java b/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java index 064628fe6b6..378703e74f0 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java @@ -3,7 +3,7 @@ package mage.cards.o; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.CantAttackYouAllEffect; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; @@ -43,7 +42,7 @@ public final class OrzhovAdvokist extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, each player may put two +1/+1 counters on a creature they control. If a player does, creatures that player controls can't attack you or a planeswalker you control until your next turn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new OrzhovAdvokistEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new OrzhovAdvokistEffect())); } private OrzhovAdvokist(final OrzhovAdvokist card) { diff --git a/Mage.Sets/src/mage/cards/o/OutOfTheTombs.java b/Mage.Sets/src/mage/cards/o/OutOfTheTombs.java index e2d99ac53f1..a5ff9a3a90d 100644 --- a/Mage.Sets/src/mage/cards/o/OutOfTheTombs.java +++ b/Mage.Sets/src/mage/cards/o/OutOfTheTombs.java @@ -1,7 +1,7 @@ package mage.cards.o; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.ReplacementEffectImpl; @@ -29,7 +29,7 @@ public final class OutOfTheTombs extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); // At the beginning of your upkeep, put two eon counters on Out of the Tombs, then mill cards equal to the number of eon counters on it. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.EON.createInstance(2)), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.EON.createInstance(2))); ability.addEffect(new MillCardsControllerEffect(new CountersSourceCount(CounterType.EON)).concatBy(", then").setText("mill cards equal to the number of eon counters on it")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/o/OutlawsMerriment.java b/Mage.Sets/src/mage/cards/o/OutlawsMerriment.java index 653fa86cf9b..48fa2891e8c 100644 --- a/Mage.Sets/src/mage/cards/o/OutlawsMerriment.java +++ b/Mage.Sets/src/mage/cards/o/OutlawsMerriment.java @@ -2,12 +2,11 @@ package mage.cards.o; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.game.permanent.token.OutlawsMerrimentClericToken; import mage.game.permanent.token.OutlawsMerrimentRogueToken; import mage.game.permanent.token.OutlawsMerrimentWarriorToken; @@ -26,8 +25,7 @@ public final class OutlawsMerriment extends CardImpl { // • 3/1 Human Warrior with trample and haste. Ability ability = new BeginningOfUpkeepTriggeredAbility( new CreateTokenEffect(new OutlawsMerrimentWarriorToken()) - .setText("3/1 Human Warrior with trample and haste"), - TargetController.YOU, false + .setText("3/1 Human Warrior with trample and haste") ); // • 2/1 Human Cleric with lifelink and haste. diff --git a/Mage.Sets/src/mage/cards/o/OutpostSiege.java b/Mage.Sets/src/mage/cards/o/OutpostSiege.java index 93335f133de..449ac8d4711 100644 --- a/Mage.Sets/src/mage/cards/o/OutpostSiege.java +++ b/Mage.Sets/src/mage/cards/o/OutpostSiege.java @@ -2,7 +2,7 @@ package mage.cards.o; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.ZoneChangeAllTriggeredAbility; import mage.abilities.condition.common.ModeChoiceSourceCondition; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.common.TargetAnyTarget; @@ -37,7 +36,7 @@ public final class OutpostSiege extends CardImpl { // * Khans - At the beginning of your upkeep, exile the top card of your library. Until end of turn, you may play that card. this.addAbility(new ConditionalTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn)), new ModeChoiceSourceCondition("Khans"), ruleTrigger1)); diff --git a/Mage.Sets/src/mage/cards/o/OversoldCemetery.java b/Mage.Sets/src/mage/cards/o/OversoldCemetery.java index 4602b8b0180..e913ac234ab 100644 --- a/Mage.Sets/src/mage/cards/o/OversoldCemetery.java +++ b/Mage.Sets/src/mage/cards/o/OversoldCemetery.java @@ -2,15 +2,13 @@ package mage.cards.o; import java.util.UUID; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInGraveyard; @@ -24,7 +22,7 @@ public final class OversoldCemetery extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); // At the beginning of your upkeep, if you have four or more creature cards in your graveyard, you may return target creature card from your graveyard to your hand. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), TargetController.YOU, true); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE)); CardsInControllerGraveyardCondition condition = new CardsInControllerGraveyardCondition(4, StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, "At the beginning of your upkeep, if you have four or more creature cards in your graveyard, you may return target creature card from your graveyard to your hand.")); diff --git a/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java b/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java index e5769ef54e3..e9e39dc8b95 100644 --- a/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java +++ b/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.ControlsPermanentGreatestCMCCondition; @@ -41,7 +41,7 @@ public final class PadeemConsulOfInnovation extends CardImpl { // At the beginning of your upkeep, if you control the artifact with the highest converted mana cost or tied for the highest converted mana cost, draw a card. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new DrawCardSourceControllerEffect(1), TargetController.YOU, false + new DrawCardSourceControllerEffect(1), false ), condition, "At the beginning of your upkeep, if you control the artifact " + "with the highest mana value or tied for the highest mana value, draw a card." )); diff --git a/Mage.Sets/src/mage/cards/p/Painiac.java b/Mage.Sets/src/mage/cards/p/Painiac.java index 04a0d5614a1..520dc4646a5 100644 --- a/Mage.Sets/src/mage/cards/p/Painiac.java +++ b/Mage.Sets/src/mage/cards/p/Painiac.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -32,7 +31,7 @@ public final class Painiac extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, roll a six-sided die. Painiac gets +X/+0 until end of turn, where X is the result. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PainiacEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PainiacEffect())); } private Painiac(final Painiac card) { diff --git a/Mage.Sets/src/mage/cards/p/PainwrackerOni.java b/Mage.Sets/src/mage/cards/p/PainwrackerOni.java index d15443608b3..5520e665767 100644 --- a/Mage.Sets/src/mage/cards/p/PainwrackerOni.java +++ b/Mage.Sets/src/mage/cards/p/PainwrackerOni.java @@ -2,7 +2,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; @@ -47,8 +46,7 @@ public final class PainwrackerOni extends CardImpl { new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, null), condition, "sacrifice a creature if you don't control an Ogre" - ), - TargetController.YOU, false + ) )); } diff --git a/Mage.Sets/src/mage/cards/p/PalaceSiege.java b/Mage.Sets/src/mage/cards/p/PalaceSiege.java index 86e2f8c0ab9..445a1411d5d 100644 --- a/Mage.Sets/src/mage/cards/p/PalaceSiege.java +++ b/Mage.Sets/src/mage/cards/p/PalaceSiege.java @@ -2,7 +2,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.ModeChoiceSourceCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; @@ -14,7 +14,6 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; @@ -36,7 +35,7 @@ public final class PalaceSiege extends CardImpl { // * Khans - At the beginning of your upkeep, return target creature card from your graveyard to your hand. Ability ability1 = new ConditionalTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect()), new ModeChoiceSourceCondition("Khans"), ruleTrigger1); ability1.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE)); @@ -44,7 +43,7 @@ public final class PalaceSiege extends CardImpl { // * Dragons - At the beginning of your upkeep, each opponent loses 2 life and you gain 2 life. Ability ability2 = new ConditionalTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsEffect(2), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsEffect(2)), new ModeChoiceSourceCondition("Dragons"), ruleTrigger2); Effect effect = new GainLifeEffect(2); diff --git a/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java b/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java index 6ad01142820..c28eb82f0cc 100644 --- a/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java +++ b/Mage.Sets/src/mage/cards/p/PaladinOfAtonement.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.condition.common.LiveLostLastTurnCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -33,7 +33,7 @@ public final class PaladinOfAtonement extends CardImpl { // At the beginning of each upkeep, if you lost life last turn, put a +1/+1 counter on Paladin of Atonement. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.ANY, false), + new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false), LiveLostLastTurnCondition.instance, "At the beginning of each upkeep, if you lost life last turn, put a +1/+1 counter on {this}")); diff --git a/Mage.Sets/src/mage/cards/p/PalladiaMors.java b/Mage.Sets/src/mage/cards/p/PalladiaMors.java index 4a5f05918b6..cf07dbe8992 100644 --- a/Mage.Sets/src/mage/cards/p/PalladiaMors.java +++ b/Mage.Sets/src/mage/cards/p/PalladiaMors.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; /** * @@ -34,7 +33,7 @@ public final class PalladiaMors extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice Palladia-Mors unless you pay {R}{G}{W}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{R}{G}{W}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{R}{G}{W}")))); } private PalladiaMors(final PalladiaMors card) { diff --git a/Mage.Sets/src/mage/cards/p/PallidMycoderm.java b/Mage.Sets/src/mage/cards/p/PallidMycoderm.java index 629152ff3d2..b4be88d0c71 100644 --- a/Mage.Sets/src/mage/cards/p/PallidMycoderm.java +++ b/Mage.Sets/src/mage/cards/p/PallidMycoderm.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -19,7 +19,6 @@ import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.game.permanent.token.SaprolingToken; -import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -49,7 +48,7 @@ public final class PallidMycoderm extends CardImpl { // At the beginning of your upkeep, put a spore counter on Pallid Mycoderm. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false + new AddCountersSourceEffect(CounterType.SPORE.createInstance()) )); // Remove three spore counters from Pallid Mycoderm: Create a 1/1 green Saproling creature token. diff --git a/Mage.Sets/src/mage/cards/p/PanopticMirror.java b/Mage.Sets/src/mage/cards/p/PanopticMirror.java index baf35508b62..4ffe5ef062e 100644 --- a/Mage.Sets/src/mage/cards/p/PanopticMirror.java +++ b/Mage.Sets/src/mage/cards/p/PanopticMirror.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.ApprovingObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.VariableCostType; import mage.abilities.costs.common.TapSourceCost; @@ -35,7 +35,7 @@ public final class PanopticMirror extends CardImpl { ability.addCost(new TapSourceCost()); this.addAbility(ability.setAbilityWord(AbilityWord.IMPRINT)); // At the beginning of your upkeep, you may copy a card exiled with Panoptic Mirror. If you do, you may cast the copy without paying its mana cost. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PanopticMirrorCastEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PanopticMirrorCastEffect(), true)); } private PanopticMirror(final PanopticMirror card) { diff --git a/Mage.Sets/src/mage/cards/p/Paralyze.java b/Mage.Sets/src/mage/cards/p/Paralyze.java index dcca6c5c02e..5636aa850c1 100644 --- a/Mage.Sets/src/mage/cards/p/Paralyze.java +++ b/Mage.Sets/src/mage/cards/p/Paralyze.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; @@ -40,7 +40,7 @@ public final class Paralyze extends CardImpl { // Enchanted creature doesn't untap during its controller's untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect())); // At the beginning of the upkeep of enchanted creature's controller, that player may pay {4}. If they do, untap the creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ParalyzeEffect(), TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new ParalyzeEffect(), false)); } private Paralyze(final Paralyze card) { diff --git a/Mage.Sets/src/mage/cards/p/ParasiticBond.java b/Mage.Sets/src/mage/cards/p/ParasiticBond.java index 55cc46692e2..f2e26045321 100644 --- a/Mage.Sets/src/mage/cards/p/ParasiticBond.java +++ b/Mage.Sets/src/mage/cards/p/ParasiticBond.java @@ -2,7 +2,7 @@ package mage.cards.p; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageTargetEffect; @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -35,8 +34,8 @@ public final class ParasiticBond extends CardImpl { // At the beginning of the upkeep of enchanted creature's controller, Parasitic Bond deals 2 damage to that player. Effect effect = new DamageTargetEffect(2); effect.setText("{this} deals 2 damage to that player"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, - TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, + false)); } private ParasiticBond(final ParasiticBond card) { diff --git a/Mage.Sets/src/mage/cards/p/ParasiticImplant.java b/Mage.Sets/src/mage/cards/p/ParasiticImplant.java index 84bcd696fea..605e476b5aa 100644 --- a/Mage.Sets/src/mage/cards/p/ParasiticImplant.java +++ b/Mage.Sets/src/mage/cards/p/ParasiticImplant.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.CreateTokenEffect; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.PhyrexianMyrToken; @@ -34,7 +33,7 @@ public final class ParasiticImplant extends CardImpl { this.getSpellAbility().addEffect(new AttachEffect(Outcome.Sacrifice)); Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); - ability = new BeginningOfUpkeepTriggeredAbility(new ParasiticImplantEffect(), TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility(new ParasiticImplantEffect()); ability.addEffect(new CreateTokenEffect(new PhyrexianMyrToken()).concatBy("and you")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/Paroxysm.java b/Mage.Sets/src/mage/cards/p/Paroxysm.java index 2246745327e..970b2ea0334 100644 --- a/Mage.Sets/src/mage/cards/p/Paroxysm.java +++ b/Mage.Sets/src/mage/cards/p/Paroxysm.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; @@ -37,8 +37,8 @@ public final class Paroxysm extends CardImpl { // At the beginning of the upkeep of enchanted creature's controller, that player reveals the top card of their library. // If that card is a land card, destroy that creature. Otherwise, it gets +3/+3 until end of turn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ParoxysmEffect(), - TargetController.CONTROLLER_ATTACHED_TO, false, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new ParoxysmEffect(), + false)); } private Paroxysm(final Paroxysm card) { diff --git a/Mage.Sets/src/mage/cards/p/PatchworkBeastie.java b/Mage.Sets/src/mage/cards/p/PatchworkBeastie.java index 7500ab5a1f8..e37891b49f0 100644 --- a/Mage.Sets/src/mage/cards/p/PatchworkBeastie.java +++ b/Mage.Sets/src/mage/cards/p/PatchworkBeastie.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.effects.RestrictionEffect; @@ -35,7 +35,7 @@ public final class PatchworkBeastie extends CardImpl { // At the beginning of your upkeep, you may mill a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new MillCardsControllerEffect(1), TargetController.YOU, true + new MillCardsControllerEffect(1), true )); } diff --git a/Mage.Sets/src/mage/cards/p/PatientRebuilding.java b/Mage.Sets/src/mage/cards/p/PatientRebuilding.java index 82a41038b22..8528c528694 100644 --- a/Mage.Sets/src/mage/cards/p/PatientRebuilding.java +++ b/Mage.Sets/src/mage/cards/p/PatientRebuilding.java @@ -1,14 +1,13 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; import mage.target.common.TargetOpponent; @@ -26,9 +25,7 @@ public final class PatientRebuilding extends CardImpl { // At the beginning of your upkeep, target opponent puts the top three cards of their library into their graveyard, then you draw a card for each land card put into that graveyard this way. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new PatientRebuildingEffect(), - TargetController.YOU, - false + new PatientRebuildingEffect() ); ability.addTarget(new TargetOpponent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/PaupersCage.java b/Mage.Sets/src/mage/cards/p/PaupersCage.java index dabf04a5a23..6995e5364bd 100644 --- a/Mage.Sets/src/mage/cards/p/PaupersCage.java +++ b/Mage.Sets/src/mage/cards/p/PaupersCage.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -24,8 +23,8 @@ public final class PaupersCage extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Paupers' Cage deals 2 damage to that player. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new DamageTargetEffect(2), TargetController.OPPONENT, false, true); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility( + TargetController.OPPONENT, new DamageTargetEffect(2), false); CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.FEWER_THAN, 3, TargetController.ACTIVE); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, condition, "At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, {this} deals 2 damage to that player.")); diff --git a/Mage.Sets/src/mage/cards/p/Peacekeeper.java b/Mage.Sets/src/mage/cards/p/Peacekeeper.java index 6a8a4c8c2c9..ae8ef2e8759 100644 --- a/Mage.Sets/src/mage/cards/p/Peacekeeper.java +++ b/Mage.Sets/src/mage/cards/p/Peacekeeper.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.RestrictionEffect; @@ -28,7 +28,7 @@ public final class Peacekeeper extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, sacrifice Peacekeeper unless you pay {1}{W}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{W}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{W}")))); // Creatures can't attack. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PeacekeeperCantAttackEffect())); diff --git a/Mage.Sets/src/mage/cards/p/PendrellFlux.java b/Mage.Sets/src/mage/cards/p/PendrellFlux.java index 6f66fc8c901..22934917988 100644 --- a/Mage.Sets/src/mage/cards/p/PendrellFlux.java +++ b/Mage.Sets/src/mage/cards/p/PendrellFlux.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.effects.Effect; @@ -39,7 +39,7 @@ public final class PendrellFlux extends CardImpl { Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); // Enchanted creature has "At the beginning of your upkeep, sacrifice this creature unless you pay its mana cost." - ability = new BeginningOfUpkeepTriggeredAbility(new PendrellFluxEffect(), TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility(new PendrellFluxEffect()); Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA); effect.setText("Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature unless you pay its mana cost.\""); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); diff --git a/Mage.Sets/src/mage/cards/p/PendrellMists.java b/Mage.Sets/src/mage/cards/p/PendrellMists.java index 3600fba07db..24067280037 100644 --- a/Mage.Sets/src/mage/cards/p/PendrellMists.java +++ b/Mage.Sets/src/mage/cards/p/PendrellMists.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -26,7 +25,7 @@ public final class PendrellMists extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); // All creatures have "At the beginning of your upkeep, sacrifice this creature unless you pay {1}." - Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1)), TargetController.YOU, false); + Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new GenericManaCost(1))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(gainedAbility, Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES, "All creatures have \"At the beginning of your upkeep, sacrifice this creature unless you pay {1}.\""))); } diff --git a/Mage.Sets/src/mage/cards/p/PersistentConstrictor.java b/Mage.Sets/src/mage/cards/p/PersistentConstrictor.java index 3644e3288e7..fb12f5df51f 100644 --- a/Mage.Sets/src/mage/cards/p/PersistentConstrictor.java +++ b/Mage.Sets/src/mage/cards/p/PersistentConstrictor.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.keyword.PersistAbility; @@ -42,7 +42,7 @@ public final class PersistentConstrictor extends CardImpl { // At the beginning of each opponent's upkeep, they lose 1 life and you put a -1/-1 counter on up to one target creature they control. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new PersistentConstrictorEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new PersistentConstrictorEffect(), false ); ability.addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance()).concatBy("and you")); ability.addTarget(new TargetPermanent(0, 1, filter)); diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalForces.java b/Mage.Sets/src/mage/cards/p/PhantasmalForces.java index 3b2e1401424..338e2a5026e 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalForces.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalForces.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class PhantasmalForces extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Phantasmal Forces unless you pay {U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")))); } private PhantasmalForces(final PhantasmalForces card) { diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalSphere.java b/Mage.Sets/src/mage/cards/p/PhantasmalSphere.java index 0a66cfaa253..821da3e51af 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalSphere.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalSphere.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.LeavesBattlefieldTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.Effect; @@ -17,7 +17,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.token.TokenImpl; @@ -42,7 +41,7 @@ public final class PhantasmalSphere extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, put a +1/+1 counter on Phantasmal Sphere, then sacrifice Phantasmal Sphere unless you pay {1} for each +1/+1 counter on it. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); Effect effect = new SacrificeSourceUnlessPaysEffect(new CountersSourceCount(CounterType.P1P1)); effect.setText("then sacrifice {this} unless you pay {1} for each +1/+1 counter on it."); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianArena.java b/Mage.Sets/src/mage/cards/p/PhyrexianArena.java index d7b6b642f2f..20f9ed3484c 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianArena.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianArena.java @@ -1,13 +1,12 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -21,7 +20,7 @@ public final class PhyrexianArena extends CardImpl { // At the beginning of your upkeep, you draw a card and you lose 1 life. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new DrawCardSourceControllerEffect(1, true), TargetController.YOU, false + new DrawCardSourceControllerEffect(1, true) ); ability.addEffect(new LoseLifeSourceControllerEffect(1).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java b/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java index b209e267a4d..f87e64471d6 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersPlayersEffect; import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; @@ -29,7 +29,7 @@ public final class PhyrexianVatmother extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility( new AddCountersPlayersEffect( CounterType.POISON.createInstance(), TargetController.YOU - ), TargetController.YOU, false + ) )); } diff --git a/Mage.Sets/src/mage/cards/p/PillarTombsOfAku.java b/Mage.Sets/src/mage/cards/p/PillarTombsOfAku.java index a1a9b3d010f..c62b0a504c7 100644 --- a/Mage.Sets/src/mage/cards/p/PillarTombsOfAku.java +++ b/Mage.Sets/src/mage/cards/p/PillarTombsOfAku.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.OneShotEffect; @@ -15,7 +15,6 @@ import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.Game; import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -31,8 +30,7 @@ public final class PillarTombsOfAku extends CardImpl { // At the beginning of each player's upkeep, that player may sacrifice a creature. If that player doesn't, they lose 5 life and you sacrifice Pillar Tombs of Aku. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new PillarTombsOfAkuEffect(), - TargetController.ANY, + TargetController.EACH_PLAYER, new PillarTombsOfAkuEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java b/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java index 30517638fb1..e0b131fcebd 100644 --- a/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java +++ b/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -16,7 +16,6 @@ import mage.constants.AttachmentType; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -43,7 +42,7 @@ public final class PilloryOfTheSleepless extends CardImpl { // Enchanted creature has "At the beginning of your upkeep, you lose 1 life." this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect( - new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1), TargetController.YOU, false), AttachmentType.AURA))); + new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1)), AttachmentType.AURA))); } private PilloryOfTheSleepless(final PilloryOfTheSleepless card) { diff --git a/Mage.Sets/src/mage/cards/p/PiousKitsune.java b/Mage.Sets/src/mage/cards/p/PiousKitsune.java index 7033b94f45e..b8158168b71 100644 --- a/Mage.Sets/src/mage/cards/p/PiousKitsune.java +++ b/Mage.Sets/src/mage/cards/p/PiousKitsune.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -40,7 +39,7 @@ public final class PiousKitsune extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a devotion counter on Pious Kitsune. Then if a creature named Eight-and-a-Half-Tails is on the battlefield, you gain 1 life for each devotion counter on Pious Kitsune. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PiousKitsuneEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PiousKitsuneEffect())); // {tap}, Remove a devotion counter from Pious Kitsune: You gain 1 life. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new TapSourceCost()); ability.addCost(new RemoveCountersSourceCost(CounterType.DEVOTION.createInstance())); diff --git a/Mage.Sets/src/mage/cards/p/PiruTheVolatile.java b/Mage.Sets/src/mage/cards/p/PiruTheVolatile.java index 85638ef5748..4a1858b0d43 100644 --- a/Mage.Sets/src/mage/cards/p/PiruTheVolatile.java +++ b/Mage.Sets/src/mage/cards/p/PiruTheVolatile.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DamageAllEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -48,8 +47,7 @@ public final class PiruTheVolatile extends CardImpl { // At the beginning of your upkeep, sacrifice Piru, the Volatile unless you pay {R}{W}{B}. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{R}{W}{B}")), - TargetController.YOU, false + new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{R}{W}{B}")) )); // When Piru dies, it deals 7 damage to each nonlegendary creature. diff --git a/Mage.Sets/src/mage/cards/p/PitRaptor.java b/Mage.Sets/src/mage/cards/p/PitRaptor.java index 214f5d9e7dc..bc0ce76d79b 100644 --- a/Mage.Sets/src/mage/cards/p/PitRaptor.java +++ b/Mage.Sets/src/mage/cards/p/PitRaptor.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FirstStrikeAbility; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -31,7 +30,7 @@ public final class PitRaptor extends CardImpl { this.addAbility(FlyingAbility.getInstance()); this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, sacrifice Pit Raptor unless you pay {2}{B}{B} - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{2}{B}{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{2}{B}{B}")))); } private PitRaptor(final PitRaptor card) { @@ -42,4 +41,4 @@ public final class PitRaptor extends CardImpl { public PitRaptor copy() { return new PitRaptor(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/p/PitSpawn.java b/Mage.Sets/src/mage/cards/p/PitSpawn.java index 6c6b048cf2e..580da57e377 100644 --- a/Mage.Sets/src/mage/cards/p/PitSpawn.java +++ b/Mage.Sets/src/mage/cards/p/PitSpawn.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsDamageToACreatureTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.ExileTargetEffect; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -31,7 +30,7 @@ public final class PitSpawn extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, sacrifice Pit Spawn unless you pay {B}{B}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{B}")))); // Whenever Pit Spawn deals damage to a creature, exile that creature. this.addAbility(new DealsDamageToACreatureTriggeredAbility(new ExileTargetEffect("exile that creature"), false, false, true)); diff --git a/Mage.Sets/src/mage/cards/p/PitilessHorde.java b/Mage.Sets/src/mage/cards/p/PitilessHorde.java index 3fddaf25800..a3c06d27d0e 100644 --- a/Mage.Sets/src/mage/cards/p/PitilessHorde.java +++ b/Mage.Sets/src/mage/cards/p/PitilessHorde.java @@ -3,14 +3,13 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -26,7 +25,7 @@ public final class PitilessHorde extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, lose 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2))); // Dash {2}{B}{B} this.addAbility(new DashAbility("{2}{B}{B}")); diff --git a/Mage.Sets/src/mage/cards/p/PlagueBoiler.java b/Mage.Sets/src/mage/cards/p/PlagueBoiler.java index d25ab599dc4..ffd537a9c90 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueBoiler.java +++ b/Mage.Sets/src/mage/cards/p/PlagueBoiler.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -15,13 +15,11 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterNonlandPermanent; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.players.Player; @@ -35,7 +33,7 @@ public final class PlagueBoiler extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // At the beginning of your upkeep, put a plague counter on Plague Boiler. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.PLAGUE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.PLAGUE.createInstance()))); // {1}{B}{G}: Put a plague counter on Plague Boiler or remove a plague counter from it. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new PlagueBoilerEffect(), new ManaCostsImpl<>("{1}{B}{G}"))); // When Plague Boiler has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents. diff --git a/Mage.Sets/src/mage/cards/p/PlagueSliver.java b/Mage.Sets/src/mage/cards/p/PlagueSliver.java index 541f695ccbb..3f01d4a3973 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueSliver.java +++ b/Mage.Sets/src/mage/cards/p/PlagueSliver.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.continuous.GainAbilityAllEffect; @@ -33,7 +33,7 @@ public final class PlagueSliver extends CardImpl { this.toughness = new MageInt(5); // All Slivers have "At the beginning of your upkeep, this permanent deals 1 damage to you." - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1)); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect( ability, Duration.WhileOnBattlefield, filterSliver, "All Slivers have \"At the beginning of your upkeep, this permanent deals 1 damage to you.\""))); diff --git a/Mage.Sets/src/mage/cards/p/PlagueSpitter.java b/Mage.Sets/src/mage/cards/p/PlagueSpitter.java index 48cdf8a7abc..69062b7d0bc 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueSpitter.java +++ b/Mage.Sets/src/mage/cards/p/PlagueSpitter.java @@ -3,14 +3,13 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -27,7 +26,7 @@ public final class PlagueSpitter extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, Plague Spitter deals 1 damage to each creature and each player. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageEverythingEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageEverythingEffect(1))); // When Plague Spitter dies, Plague Spitter deals 1 damage to each creature and each player. this.addAbility(new DiesSourceTriggeredAbility(new DamageEverythingEffect(1), false)); } diff --git a/Mage.Sets/src/mage/cards/p/PlanarChaos.java b/Mage.Sets/src/mage/cards/p/PlanarChaos.java index 53d27b69055..6229cb00d36 100644 --- a/Mage.Sets/src/mage/cards/p/PlanarChaos.java +++ b/Mage.Sets/src/mage/cards/p/PlanarChaos.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastAllTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -12,9 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; -import mage.constants.TargetController; import mage.constants.Zone; -import mage.filter.FilterSpell; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; @@ -31,7 +29,7 @@ public final class PlanarChaos extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); // At the beginning of your upkeep, flip a coin. If you lose the flip, sacrifice Planar Chaos. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PlanarChaosUpkeepEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PlanarChaosUpkeepEffect())); // Whenever a player casts a spell, that player flips a coin. If they lose the flip, counter that spell. this.addAbility(new SpellCastAllTriggeredAbility(new PlanarChaosCastAllEffect(), StaticFilters.FILTER_SPELL_A, false, SetTargetPointer.SPELL)); diff --git a/Mage.Sets/src/mage/cards/p/PlanarCollapse.java b/Mage.Sets/src/mage/cards/p/PlanarCollapse.java index 79e5e08c402..96bfb43e1fc 100644 --- a/Mage.Sets/src/mage/cards/p/PlanarCollapse.java +++ b/Mage.Sets/src/mage/cards/p/PlanarCollapse.java @@ -4,15 +4,13 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DestroyAllEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -26,7 +24,7 @@ public final class PlanarCollapse extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); // At the beginning of your upkeep, if there are four or more creatures on the battlefield, sacrifice Planar Collapse and destroy all creatures. They can't be regenerated. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()); ability.addEffect(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT_CREATURE, true)); PlanarCollapseCondition contition = new PlanarCollapseCondition(); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, contition, "At the beginning of your upkeep, if there are four or more creatures on the battlefield, sacrifice {this} and destroy all creatures. They can't be regenerated")); diff --git a/Mage.Sets/src/mage/cards/p/PlarggAndNassari.java b/Mage.Sets/src/mage/cards/p/PlarggAndNassari.java index 2fcfdef15b9..524353af1f3 100644 --- a/Mage.Sets/src/mage/cards/p/PlarggAndNassari.java +++ b/Mage.Sets/src/mage/cards/p/PlarggAndNassari.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.*; @@ -34,7 +34,7 @@ public final class PlarggAndNassari extends CardImpl { // At the beginning of your upkeep, each player exiles cards from the top of their library until they exile a nonland card. An opponent chooses a nonland card exiled this way. You may cast up to two spells from among the other cards exiled this way without paying their mana costs. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new PlarggAndNassariEffect(), TargetController.YOU, false + new PlarggAndNassariEffect() )); } diff --git a/Mage.Sets/src/mage/cards/p/PoppetFactory.java b/Mage.Sets/src/mage/cards/p/PoppetFactory.java index 3d7864b335f..6f43a33be51 100644 --- a/Mage.Sets/src/mage/cards/p/PoppetFactory.java +++ b/Mage.Sets/src/mage/cards/p/PoppetFactory.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.TransformSourceEffect; @@ -32,7 +32,7 @@ public final class PoppetFactory extends CardImpl { // At the beginning of your upkeep, you may transform Poppet Factory. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new TransformSourceEffect(), TargetController.YOU, true + new TransformSourceEffect(), true )); } diff --git a/Mage.Sets/src/mage/cards/p/PoppetStitcher.java b/Mage.Sets/src/mage/cards/p/PoppetStitcher.java index 07e4dab0ae6..018254b646b 100644 --- a/Mage.Sets/src/mage/cards/p/PoppetStitcher.java +++ b/Mage.Sets/src/mage/cards/p/PoppetStitcher.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.permanent.token.ZombieDecayedToken; @@ -55,8 +54,7 @@ public final class PoppetStitcher extends CardImpl { this.addAbility(new TransformAbility()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new TransformSourceEffect(), - TargetController.YOU, true + new TransformSourceEffect(), true ), condition, "At the beginning of your upkeep, " + "if you control three or more creature tokens, you may transform {this}." ).addHint(hint)); diff --git a/Mage.Sets/src/mage/cards/p/PorgNest.java b/Mage.Sets/src/mage/cards/p/PorgNest.java index 65972b67a69..d7b481f0ed6 100644 --- a/Mage.Sets/src/mage/cards/p/PorgNest.java +++ b/Mage.Sets/src/mage/cards/p/PorgNest.java @@ -2,15 +2,13 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.constants.SubType; import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.permanent.token.PorgToken; /** @@ -30,7 +28,7 @@ public final class PorgNest extends CardImpl { this.addAbility(DefenderAbility.getInstance()); // At the beginning of your upkeep, create a 0/1 green Bird creature token named Porg with "{G}: Monstrosity 1." - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new PorgToken()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new PorgToken()))); } private PorgNest(final PorgNest card) { diff --git a/Mage.Sets/src/mage/cards/p/PorphyryNodes.java b/Mage.Sets/src/mage/cards/p/PorphyryNodes.java index 35c340475bd..81f5633f1b4 100644 --- a/Mage.Sets/src/mage/cards/p/PorphyryNodes.java +++ b/Mage.Sets/src/mage/cards/p/PorphyryNodes.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.StateTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.PowerPredicate; @@ -36,7 +35,7 @@ public final class PorphyryNodes extends CardImpl { // At the beginning of your upkeep, destroy the creature with the least power. It can't be regenerated. If two or more creatures are tied for least power, you choose one of them. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PorphyryNodesEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PorphyryNodesEffect())); // When there are no creatures on the battlefield, sacrifice Porphyry Nodes. this.addAbility(new PorphyryNodesStateTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/p/PortalToPhyrexia.java b/Mage.Sets/src/mage/cards/p/PortalToPhyrexia.java index 6cb416c830b..f2d11968e1b 100644 --- a/Mage.Sets/src/mage/cards/p/PortalToPhyrexia.java +++ b/Mage.Sets/src/mage/cards/p/PortalToPhyrexia.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.effects.common.SacrificeOpponentsEffect; @@ -10,10 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; -import mage.filter.FilterCard; import mage.filter.StaticFilters; -import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInGraveyard; import java.util.UUID; @@ -33,7 +30,7 @@ public final class PortalToPhyrexia extends CardImpl { // At the beginning of your upkeep, put target creature card from a graveyard onto the battlefield under your control. It's a Phyrexian in addition to its other types. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.YOU, false + new ReturnFromGraveyardToBattlefieldTargetEffect() ); ability.addEffect(new AddCreatureTypeAdditionEffect(SubType.PHYREXIAN, false)); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); diff --git a/Mage.Sets/src/mage/cards/p/PowderKeg.java b/Mage.Sets/src/mage/cards/p/PowderKeg.java index 679e5cb7ec2..f81f61d7ba4 100644 --- a/Mage.Sets/src/mage/cards/p/PowderKeg.java +++ b/Mage.Sets/src/mage/cards/p/PowderKeg.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -33,7 +32,7 @@ public final class PowderKeg extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); // At the beginning of your upkeep, you may put a fuse counter on Powder Keg. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.FUSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.FUSE.createInstance(), true), true)); // {T}, Sacrifice Powder Keg: Destroy each artifact and creature with converted mana cost equal to the number of fuse counters on Powder Keg. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PowderKegEffect(), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/p/PowerLeak.java b/Mage.Sets/src/mage/cards/p/PowerLeak.java index 20b92ed3410..8acc101045c 100644 --- a/Mage.Sets/src/mage/cards/p/PowerLeak.java +++ b/Mage.Sets/src/mage/cards/p/PowerLeak.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCost; import mage.abilities.costs.mana.ManaCosts; @@ -38,8 +38,8 @@ public final class PowerLeak extends CardImpl { this.addAbility(new EnchantAbility(auraTarget)); // At the beginning of the upkeep of enchanted enchantment's controller, that player may pay any amount of mana. Power Leak deals 2 damage to that player. Prevent X of that damage, where X is the amount of mana that player paid this way. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PowerLeakEffect(), - TargetController.CONTROLLER_ATTACHED_TO, false, true + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new PowerLeakEffect(), + false ).setTriggerPhrase("At the beginning of the upkeep of enchanted enchantment's controller, ")); } diff --git a/Mage.Sets/src/mage/cards/p/PowerSurge.java b/Mage.Sets/src/mage/cards/p/PowerSurge.java index 45e4bbf0421..cc617ecf68b 100644 --- a/Mage.Sets/src/mage/cards/p/PowerSurge.java +++ b/Mage.Sets/src/mage/cards/p/PowerSurge.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -25,7 +25,7 @@ public final class PowerSurge extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{R}{R}"); // At the beginning of each player's upkeep, Power Surge deals X damage to that player, where X is the number of untapped lands they controlled at the beginning of this turn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PowerSurgeDamageEffect(), TargetController.ANY, false, true), new PowerSurgeWatcher()); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new PowerSurgeDamageEffect(), false), new PowerSurgeWatcher()); } private PowerSurge(final PowerSurge card) { diff --git a/Mage.Sets/src/mage/cards/p/PowerTaint.java b/Mage.Sets/src/mage/cards/p/PowerTaint.java index 1431fece78b..16949b4c52a 100644 --- a/Mage.Sets/src/mage/cards/p/PowerTaint.java +++ b/Mage.Sets/src/mage/cards/p/PowerTaint.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; @@ -37,8 +37,8 @@ public final class PowerTaint extends CardImpl { // At the beginning of the upkeep of enchanted enchantment's controller, that player loses 2 life unless they pay {2}. Effect effect = new DoUnlessTargetPlayerOrTargetsControllerPaysEffect(new LoseLifeTargetEffect(2), new ManaCostsImpl<>("{2}")).setText("that player loses 2 life unless they pay {2}"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, - TargetController.CONTROLLER_ATTACHED_TO, false, true) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, + false) .setTriggerPhrase("At the beginning of the upkeep of enchanted enchantment's controller, ")); // Cycling {2} diff --git a/Mage.Sets/src/mage/cards/p/Precognition.java b/Mage.Sets/src/mage/cards/p/Precognition.java index 22c74cd511d..11f943ec240 100644 --- a/Mage.Sets/src/mage/cards/p/Precognition.java +++ b/Mage.Sets/src/mage/cards/p/Precognition.java @@ -1,12 +1,11 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -23,7 +22,7 @@ public final class Precognition extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{U}"); // At the beginning of your upkeep, you may look at the top card of target opponent's library. If you do, you may put that card on the bottom of that player's library. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PrecognitionEffect(), TargetController.YOU, true, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new PrecognitionEffect(), true); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PreferredSelection.java b/Mage.Sets/src/mage/cards/p/PreferredSelection.java index e3802b446af..766cd376e4b 100644 --- a/Mage.Sets/src/mage/cards/p/PreferredSelection.java +++ b/Mage.Sets/src/mage/cards/p/PreferredSelection.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.CompositeCost; import mage.abilities.costs.Cost; import mage.abilities.costs.common.SacrificeSourceCost; @@ -16,7 +16,6 @@ import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.PutCards; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -32,7 +31,7 @@ public final class PreferredSelection extends CardImpl { // At the beginning of your upkeep, look at the top two cards of your library. You may sacrifice Preferred Selection and pay {2}{G}{G}. If you do, put one of those cards into your hand. If you don't, put one of those cards on the bottom of your library. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new PreferredSelectionEffect(), TargetController.YOU, false + new PreferredSelectionEffect() )); } diff --git a/Mage.Sets/src/mage/cards/p/PriceOfKnowledge.java b/Mage.Sets/src/mage/cards/p/PriceOfKnowledge.java index 53dee313077..2a6816b6eb6 100644 --- a/Mage.Sets/src/mage/cards/p/PriceOfKnowledge.java +++ b/Mage.Sets/src/mage/cards/p/PriceOfKnowledge.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -28,7 +28,7 @@ public final class PriceOfKnowledge extends CardImpl { Effect effect = new MaximumHandSizeControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield, HandSizeModification.SET, TargetController.ANY); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); // At the beginning of each opponent's upkeep, Price of Knowledge deals damage to that player equal to the number of cards in that player's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PriceOfKnowledgeEffect(), TargetController.OPPONENT, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new PriceOfKnowledgeEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/p/PrickleFaeries.java b/Mage.Sets/src/mage/cards/p/PrickleFaeries.java index 05f62d714a9..a25a5ac2c23 100644 --- a/Mage.Sets/src/mage/cards/p/PrickleFaeries.java +++ b/Mage.Sets/src/mage/cards/p/PrickleFaeries.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; @@ -41,8 +41,8 @@ public final class PrickleFaeries extends CardImpl { // At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Prickle Faeries deals 2 damage to them. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new DamageTargetEffect(2), - TargetController.OPPONENT, false, true + Zone.BATTLEFIELD, TargetController.OPPONENT, new DamageTargetEffect(2), + false ), PrickleFaeriesCondition.instance, "At the beginning of each opponent's upkeep, " + "if that player has two or fewer cards in hand, {this} deals 2 damage to them." )); @@ -71,4 +71,4 @@ enum PrickleFaeriesCondition implements Condition { .map(Set::size) .orElse(0) <= 2; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java b/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java index 29d1ec762e9..f156bb2f640 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.permanent.token.DemonToken; /** @@ -31,7 +30,7 @@ public final class PriestOfTheBloodRite extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new DemonToken()))); // At the beginning of your upkeep, you lose 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2))); } private PriestOfTheBloodRite(final PriestOfTheBloodRite card) { diff --git a/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java b/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java index 2ad9e975d1f..9ffcc85b840 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java @@ -4,7 +4,7 @@ package mage.cards.p; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -43,7 +43,7 @@ public final class PriestOfTheWakeningSun extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, you may reveal a Dinosaur card from your hand. If you do, you gain 2 life. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new PriestOfTheWakeningSunEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new PriestOfTheWakeningSunEffect(), true); this.addAbility(ability); // {3}{W}{W}, Sacrifice Priest of the Wakening Sun: Search your library for a Dinosaur card, reveal it, put it into your hand, then shuffle your library. diff --git a/Mage.Sets/src/mage/cards/p/PrimalCocoon.java b/Mage.Sets/src/mage/cards/p/PrimalCocoon.java index 5ecc926d0e8..51beb5a80c1 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalCocoon.java +++ b/Mage.Sets/src/mage/cards/p/PrimalCocoon.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.abilities.Ability; import mage.abilities.common.AttacksOrBlocksAttachedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.counter.AddCountersAttachedEffect; @@ -37,7 +37,7 @@ public final class PrimalCocoon extends CardImpl { // At the beginning of your upkeep, put a +1/+1 counter on enchanted creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect( CounterType.P1P1.createInstance(), "enchanted creature" - ), TargetController.YOU, false)); + ))); // When enchanted creature attacks or blocks, sacrifice Primal Cocoon. this.addAbility(new AttacksOrBlocksAttachedTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/p/PrimalEmpathy.java b/Mage.Sets/src/mage/cards/p/PrimalEmpathy.java index 6067acb2ab3..d2a9c86d8b8 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalEmpathy.java +++ b/Mage.Sets/src/mage/cards/p/PrimalEmpathy.java @@ -2,13 +2,12 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -28,7 +27,7 @@ public final class PrimalEmpathy extends CardImpl { // At the beginning of your upkeep, draw a card if you control a creature with the greatest power among creatures on the battlefield. Otherwise, put a +1/+1 counter on a creature you control. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new PrimalEmpathyEffect(), TargetController.YOU, false + new PrimalEmpathyEffect() )); } @@ -93,4 +92,4 @@ class PrimalEmpathyEffect extends OneShotEffect { Permanent permanent = game.getPermanent(target.getFirstTarget()); return permanent != null && permanent.addCounters(CounterType.P1P1.createInstance(), source.getControllerId(), source, game); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/p/PrimalOrder.java b/Mage.Sets/src/mage/cards/p/PrimalOrder.java index cfdf4d983a2..7de0d136c0a 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalOrder.java +++ b/Mage.Sets/src/mage/cards/p/PrimalOrder.java @@ -1,15 +1,13 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.game.Game; import mage.players.Player; @@ -25,7 +23,7 @@ public final class PrimalOrder extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{G}"); // At the beginning of each player's upkeep, Primal Order deals damage to that player equal to the number of nonbasic lands they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PrimalOrderDamageTargetEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new PrimalOrderDamageTargetEffect(), false)); } private PrimalOrder(final PrimalOrder card) { diff --git a/Mage.Sets/src/mage/cards/p/PrimordialHydra.java b/Mage.Sets/src/mage/cards/p/PrimordialHydra.java index 2732b3c6397..607c850a9e9 100644 --- a/Mage.Sets/src/mage/cards/p/PrimordialHydra.java +++ b/Mage.Sets/src/mage/cards/p/PrimordialHydra.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import java.util.UUID; @@ -41,7 +40,7 @@ public final class PrimordialHydra extends CardImpl { // At the beginning of your upkeep, double the number of +1/+1 counters on Primordial Hydra. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DoubleCountersSourceEffect(CounterType.P1P1), TargetController.YOU, false + new DoubleCountersSourceEffect(CounterType.P1P1) )); // Primordial Hydra has trample as long as it has ten or more +1/+1 counters on it. diff --git a/Mage.Sets/src/mage/cards/p/PrimordialOoze.java b/Mage.Sets/src/mage/cards/p/PrimordialOoze.java index 47c73a69f85..f910cba8425 100644 --- a/Mage.Sets/src/mage/cards/p/PrimordialOoze.java +++ b/Mage.Sets/src/mage/cards/p/PrimordialOoze.java @@ -3,7 +3,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AttacksEachCombatStaticAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -32,7 +32,7 @@ public final class PrimordialOoze extends CardImpl { // Primordial Ooze attacks each combat if able. this.addAbility(new AttacksEachCombatStaticAbility()); // At the beginning of your upkeep, put a +1/+1 counter on Primordial Ooze. Then you may pay {X}, where X is the number of +1/+1 counters on it. If you don't, tap Primordial Ooze and it deals X damage to you. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance())); ability.addEffect(new PrimordialOozeEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/p/PrivateResearch.java b/Mage.Sets/src/mage/cards/p/PrivateResearch.java index 182a91b7268..58e97cd8d62 100644 --- a/Mage.Sets/src/mage/cards/p/PrivateResearch.java +++ b/Mage.Sets/src/mage/cards/p/PrivateResearch.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.AttachEffect; @@ -16,8 +16,6 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -41,8 +39,8 @@ public final class PrivateResearch extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, you may put a page counter on Private Research. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.PAGE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.PAGE.createInstance(), true), true)); // When enchanted creature dies, draw a card for each page counter on Private Research. this.addAbility(new DiesAttachedTriggeredAbility(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.PAGE)).setText(rule), "enchanted creature")); diff --git a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java index 18ecfdc367a..e671856f85f 100644 --- a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java +++ b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.SourceMatchesFilterCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TokenPredicate; import mage.util.functions.AbilityCopyApplier; @@ -46,7 +45,7 @@ public final class ProgenitorMimic extends CardImpl { AbilityCopyApplier applier = new AbilityCopyApplier( new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(effect), new SourceMatchesFilterCondition(filter), "At the beginning of your upkeep, if this creature isn't a token, create a token that's a copy of this creature.") ); diff --git a/Mage.Sets/src/mage/cards/p/ProtectionRacket.java b/Mage.Sets/src/mage/cards/p/ProtectionRacket.java index 1a26dcbc86a..4696d46a400 100644 --- a/Mage.Sets/src/mage/cards/p/ProtectionRacket.java +++ b/Mage.Sets/src/mage/cards/p/ProtectionRacket.java @@ -1,7 +1,7 @@ package mage.cards.p; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.OneShotEffect; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -32,7 +31,7 @@ public final class ProtectionRacket extends CardImpl { // If they do, exile that card. // Otherwise, put it into your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ProtectionRacketEffect(), TargetController.YOU, false + new ProtectionRacketEffect() )); } diff --git a/Mage.Sets/src/mage/cards/p/PsychicAllergy.java b/Mage.Sets/src/mage/cards/p/PsychicAllergy.java index 7364504e1af..102b0f908fa 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicAllergy.java +++ b/Mage.Sets/src/mage/cards/p/PsychicAllergy.java @@ -3,7 +3,7 @@ package mage.cards.p; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ChooseColorEffect; @@ -18,7 +18,6 @@ import mage.filter.predicate.mageobject.ColorPredicate; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.Game; import mage.players.Player; -import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -40,14 +39,13 @@ public final class PsychicAllergy extends CardImpl { this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Damage))); // At the beginning of each opponent's upkeep, Psychic Allergy deals X damage to that player, where X is the number of nontoken permanents of the chosen color they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PsychicAllergyEffect(), TargetController.OPPONENT, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new PsychicAllergyEffect(), false)); // At the beginning of your upkeep, destroy Psychic Allergy unless you sacrifice two Islands. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, + this.addAbility(new BeginningOfUpkeepTriggeredAbility( new DoUnlessControllerPaysEffect(new DestroySourceEffect(), - new SacrificeTargetCost(2, filter)).setText("destroy {this} unless you sacrifice two Islands"), - TargetController.YOU, - false)); + new SacrificeTargetCost(2, filter)).setText("destroy {this} unless you sacrifice two Islands") + )); } private PsychicAllergy(final PsychicAllergy card) { diff --git a/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java b/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java index 3126a863ce3..62935979b8b 100644 --- a/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java +++ b/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java @@ -3,7 +3,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -15,7 +15,6 @@ 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 mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; @@ -36,7 +35,7 @@ public final class PsychotropeThallid extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a spore counter on Psychotrope Thallid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Psychotrope Thallid: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), diff --git a/Mage.Sets/src/mage/cards/p/PucasMischief.java b/Mage.Sets/src/mage/cards/p/PucasMischief.java index c8c0fc40ebd..9b19fbab9b1 100644 --- a/Mage.Sets/src/mage/cards/p/PucasMischief.java +++ b/Mage.Sets/src/mage/cards/p/PucasMischief.java @@ -3,7 +3,7 @@ package mage.cards.p; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.continuous.ExchangeControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -32,7 +32,7 @@ public final class PucasMischief extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); // At the beginning of your upkeep, you may exchange control of target nonland permanent you control and target nonland permanent an opponent controls with an equal or lesser converted mana cost. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new ExchangeControlTargetEffect(Duration.EndOfGame, rule, false, true), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ExchangeControlTargetEffect(Duration.EndOfGame, rule, false, true), true); ability.addTarget(new TargetControlledPermanentWithCMCGreaterOrLessThanOpponentPermanent()); ability.addTarget(new PucasMischiefSecondTarget()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/p/PuppetConjurer.java b/Mage.Sets/src/mage/cards/p/PuppetConjurer.java index 47d5d1f2e83..273b1049412 100644 --- a/Mage.Sets/src/mage/cards/p/PuppetConjurer.java +++ b/Mage.Sets/src/mage/cards/p/PuppetConjurer.java @@ -4,7 +4,7 @@ package mage.cards.p; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -14,7 +14,6 @@ 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 mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.HomunculusToken; @@ -40,7 +39,7 @@ public final class PuppetConjurer extends CardImpl { ability.addCost(new TapSourceCost()); this.addAbility(ability); // At the beginning of your upkeep, sacrifice a Homunculus. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(filter, 1, ""), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeEffect(filter, 1, ""))); } private PuppetConjurer(final PuppetConjurer card) { diff --git a/Mage.Sets/src/mage/cards/p/Purgatory.java b/Mage.Sets/src/mage/cards/p/Purgatory.java index 331095c25a2..05c5dc84327 100644 --- a/Mage.Sets/src/mage/cards/p/Purgatory.java +++ b/Mage.Sets/src/mage/cards/p/Purgatory.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.CompositeCost; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.mana.GenericManaCost; @@ -16,7 +16,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; import mage.game.ExileZone; @@ -43,11 +42,10 @@ public final class Purgatory extends CardImpl { this.addAbility(new PurgatoryTriggeredAbility()); // At the beginning of your upkeep, you may pay {4} and 2 life. If you do, return a card exiled with Purgatory to the battlefield. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new DoIfCostPaid(new PurgatoryReturnEffect(), - new CompositeCost(new GenericManaCost(4), new PayLifeCost(2), "{4} and 2 life")), - TargetController.YOU, - false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new DoIfCostPaid(new PurgatoryReturnEffect(), + new CompositeCost(new GenericManaCost(4), new PayLifeCost(2), "{4} and 2 life")) + )); } private Purgatory(final Purgatory card) { diff --git a/Mage.Sets/src/mage/cards/p/PurgingScythe.java b/Mage.Sets/src/mage/cards/p/PurgingScythe.java index c9d7a1673b3..598b63d3fcf 100644 --- a/Mage.Sets/src/mage/cards/p/PurgingScythe.java +++ b/Mage.Sets/src/mage/cards/p/PurgingScythe.java @@ -3,15 +3,13 @@ package mage.cards.p; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ToughnessPredicate; @@ -31,7 +29,7 @@ public final class PurgingScythe extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); // At the beginning of your upkeep, Purging Scythe deals 2 damage to the creature with the least toughness. If two or more creatures are tied for least toughness, you choose one of them. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new PurgingScytheEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PurgingScytheEffect())); } private PurgingScythe(final PurgingScythe card) { diff --git a/Mage.Sets/src/mage/cards/p/PyreZombie.java b/Mage.Sets/src/mage/cards/p/PyreZombie.java index 026b3e6f641..b6e7920bd8b 100644 --- a/Mage.Sets/src/mage/cards/p/PyreZombie.java +++ b/Mage.Sets/src/mage/cards/p/PyreZombie.java @@ -2,7 +2,7 @@ package mage.cards.p; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.SourceInGraveyardCondition; import mage.abilities.costs.common.SacrificeSourceCost; @@ -34,8 +34,8 @@ public final class PyreZombie extends CardImpl { // At the beginning of your upkeep, if Pyre Zombie is in your graveyard, you may pay {1}{B}{B}. If you do, return Pyre Zombie to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new DoIfCostPaid(new ReturnToHandSourceEffect().setText("return {this} to your hand"), new ManaCostsImpl<>("{1}{B}{B}")), - TargetController.YOU, false).withInterveningIf(SourceInGraveyardCondition.instance)); + TargetController.YOU, new DoIfCostPaid(new ReturnToHandSourceEffect().setText("return {this} to your hand"), new ManaCostsImpl<>("{1}{B}{B}")), + false).withInterveningIf(SourceInGraveyardCondition.instance)); // {1}{R}{R}, Sacrifice Pyre Zombie: Pyre Zombie deals 2 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, "it"), new ManaCostsImpl<>("{1}{R}{R}")); diff --git a/Mage.Sets/src/mage/cards/q/QueenMarchesa.java b/Mage.Sets/src/mage/cards/q/QueenMarchesa.java index 3aba2f4977b..1c4d74e037d 100644 --- a/Mage.Sets/src/mage/cards/q/QueenMarchesa.java +++ b/Mage.Sets/src/mage/cards/q/QueenMarchesa.java @@ -4,7 +4,7 @@ package mage.cards.q; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -18,7 +18,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.token.QueenMarchesaAssassinToken; @@ -46,7 +45,7 @@ public final class QueenMarchesa extends CardImpl { // At the beginning of your upkeep, if an opponent is the monarch, create a 1/1 black Assassin creature token with deathtouch and haste. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new QueenMarchesaAssassinToken()), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new QueenMarchesaAssassinToken())), OpponentIsMonarchCondition.instance, "At the beginning of your upkeep, if an opponent is the monarch, create a 1/1 black Assassin creature token with deathtouch and haste.")); } diff --git a/Mage.Sets/src/mage/cards/q/QuestForUlasTemple.java b/Mage.Sets/src/mage/cards/q/QuestForUlasTemple.java index 86e916037b8..153518bcc7a 100644 --- a/Mage.Sets/src/mage/cards/q/QuestForUlasTemple.java +++ b/Mage.Sets/src/mage/cards/q/QuestForUlasTemple.java @@ -2,7 +2,7 @@ package mage.cards.q; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.effects.OneShotEffect; @@ -46,7 +46,7 @@ public final class QuestForUlasTemple extends CardImpl { // At the beginning of your upkeep, you may look at the top card of your library. If it's a creature card, you may reveal it and put a quest counter on Quest for Ula's Temple. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new QuestForUlasTempleEffect(), TargetController.YOU, true + new QuestForUlasTempleEffect(), true )); // At the beginning of each end step, if there are three or more quest counters on Quest for Ula's Temple, you may put a Kraken, Leviathan, Octopus, or Serpent creature card from your hand onto the battlefield. diff --git a/Mage.Sets/src/mage/cards/q/QuicksilverFountain.java b/Mage.Sets/src/mage/cards/q/QuicksilverFountain.java index ea2faa67b18..9954f1f577f 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksilverFountain.java +++ b/Mage.Sets/src/mage/cards/q/QuicksilverFountain.java @@ -2,7 +2,7 @@ package mage.cards.q; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -35,8 +35,8 @@ public final class QuicksilverFountain extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // At the beginning of each player's upkeep, that player puts a flood counter on target non-Island land they control of their choice. That land is an Island for as long as it has a flood counter on it. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new QuicksilverFountainEffect(), TargetController.ANY, false, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility( + TargetController.EACH_PLAYER, new QuicksilverFountainEffect(), false); ability.addTarget(new TargetLandPermanent()); ability.setTargetAdjuster(QuicksilverFountainAdjuster.instance); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/q/QuietDisrepair.java b/Mage.Sets/src/mage/cards/q/QuietDisrepair.java index 0d4cfc8cc48..14bcd3e9147 100644 --- a/Mage.Sets/src/mage/cards/q/QuietDisrepair.java +++ b/Mage.Sets/src/mage/cards/q/QuietDisrepair.java @@ -3,7 +3,7 @@ package mage.cards.q; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DestroyAttachedToEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -38,7 +37,7 @@ public final class QuietDisrepair extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, choose one - Destroy enchanted permanent; or you gain 2 life. - ability = new BeginningOfUpkeepTriggeredAbility(new DestroyAttachedToEffect("enchanted permanent"), TargetController.YOU, false); + ability = new BeginningOfUpkeepTriggeredAbility(new DestroyAttachedToEffect("enchanted permanent")); Mode mode = new Mode(new GainLifeEffect(2)); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/r/Rackling.java b/Mage.Sets/src/mage/cards/r/Rackling.java index f102b76ab91..c0b57d6325d 100644 --- a/Mage.Sets/src/mage/cards/r/Rackling.java +++ b/Mage.Sets/src/mage/cards/r/Rackling.java @@ -2,7 +2,7 @@ package mage.cards.r; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class Rackling extends CardImpl { this.toughness = new MageInt(2); // At the beginning of each opponent's upkeep, Rackling deals X damage to that player, where X is 3 minus the number of cards in their hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new RacklingEffect(), TargetController.OPPONENT, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new RacklingEffect(), false)); } private Rackling(final Rackling card) { diff --git a/Mage.Sets/src/mage/cards/r/RadiantScrollwielder.java b/Mage.Sets/src/mage/cards/r/RadiantScrollwielder.java index f272f8e34d5..edbd306c6e1 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantScrollwielder.java +++ b/Mage.Sets/src/mage/cards/r/RadiantScrollwielder.java @@ -3,7 +3,7 @@ package mage.cards.r; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.ReplacementEffectImpl; @@ -57,7 +57,7 @@ public final class RadiantScrollwielder extends CardImpl { // At the beginning of your upkeep, exile an instant or sorcery card at random from your graveyard. You may cast it this turn. If a spell cast this way would be put into your graveyard, exile it instead. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new RadiantScrollwielderEffect(), TargetController.YOU, false + new RadiantScrollwielderEffect() ), new RadiantScrollwielderWatcher()); } diff --git a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java index eda5e45c9f2..ce6db651f63 100644 --- a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java +++ b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java @@ -7,7 +7,7 @@ import java.util.UUID; import mage.MageInt; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.CantHaveMoreThanAmountCountersSourceAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; @@ -56,7 +56,7 @@ public final class RasputinDreamweaver extends CardImpl { // At the beginning of your upkeep, if Rasputin started the turn untapped, put a dream counter on it. this.addAbility( new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DREAM.createInstance()), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.DREAM.createInstance())), RasputinDreamweaverStartedUntappedCondition.instance, "At the beginning of your upkeep, if {this} started the turn untapped, put a dream counter on it."), new RasputinDreamweaverStartedUntappedWatcher()); diff --git a/Mage.Sets/src/mage/cards/r/Ratcatcher.java b/Mage.Sets/src/mage/cards/r/Ratcatcher.java index c39758bcf85..b55367036ba 100644 --- a/Mage.Sets/src/mage/cards/r/Ratcatcher.java +++ b/Mage.Sets/src/mage/cards/r/Ratcatcher.java @@ -3,15 +3,13 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.abilities.keyword.FearAbility; 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 mage.filter.FilterCard; import mage.target.common.TargetCardInLibrary; @@ -39,7 +37,7 @@ public final class Ratcatcher extends CardImpl { // At the beginning of your upkeep, you may search your library for a Rat card, reveal it, and put it into your hand. If you do, shuffle your library. TargetCardInLibrary targetCard = new TargetCardInLibrary(1, 1, filter); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(targetCard, true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SearchLibraryPutInHandEffect(targetCard, true), true)); } diff --git a/Mage.Sets/src/mage/cards/r/RavenousGiant.java b/Mage.Sets/src/mage/cards/r/RavenousGiant.java index 65a9bdef7ac..a44a91d9664 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousGiant.java +++ b/Mage.Sets/src/mage/cards/r/RavenousGiant.java @@ -1,13 +1,12 @@ package mage.cards.r; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -25,8 +24,7 @@ public final class RavenousGiant extends CardImpl { // At the beginning of your upkeep, Ravenous Giant deals 1 damage to you. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DamageControllerEffect(1), - TargetController.YOU, false + new DamageControllerEffect(1) )); } diff --git a/Mage.Sets/src/mage/cards/r/RavenousVampire.java b/Mage.Sets/src/mage/cards/r/RavenousVampire.java index a4b8547c94b..f7acd4d7bd2 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousVampire.java +++ b/Mage.Sets/src/mage/cards/r/RavenousVampire.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.TapSourceEffect; @@ -11,11 +11,9 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; -import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; @@ -46,8 +44,7 @@ public final class RavenousVampire extends CardImpl { new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new TapSourceEffect(), new SacrificeTargetCost(filter) - ), - TargetController.YOU, false + ) )); } diff --git a/Mage.Sets/src/mage/cards/r/RavosSoultender.java b/Mage.Sets/src/mage/cards/r/RavosSoultender.java index c38ed01eb40..716ad8ed0a7 100644 --- a/Mage.Sets/src/mage/cards/r/RavosSoultender.java +++ b/Mage.Sets/src/mage/cards/r/RavosSoultender.java @@ -4,7 +4,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.abilities.effects.common.continuous.BoostControlledEffect; @@ -38,7 +38,7 @@ public final class RavosSoultender extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, true))); // At the beginning of your upkeep, you may return target creature card from your graveyard to your hand. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java b/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java index ddd38ac898f..a534a04f20a 100644 --- a/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java +++ b/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.triggers.BeginningOfDrawTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -14,8 +14,6 @@ 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 mage.target.common.TargetCardInHand; import mage.target.common.TargetCreaturePermanent; @@ -36,7 +34,7 @@ public final class RazormaneMasticore extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, sacrifice Razormane Masticore unless you discard a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand())), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand())))); // At the beginning of your draw step, you may have Razormane Masticore deal 3 damage to target creature. Ability ability = new BeginningOfDrawTriggeredAbility(new DamageTargetEffect(3), true); diff --git a/Mage.Sets/src/mage/cards/r/ReaverDrone.java b/Mage.Sets/src/mage/cards/r/ReaverDrone.java index 457909fbb30..24962b9e6f3 100644 --- a/Mage.Sets/src/mage/cards/r/ReaverDrone.java +++ b/Mage.Sets/src/mage/cards/r/ReaverDrone.java @@ -3,7 +3,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -13,8 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorlessPredicate; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -46,7 +44,7 @@ public final class ReaverDrone extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ConditionalOneShotEffect( new LoseLifeSourceControllerEffect(1), new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)), - "you lose 1 life unless you control another colorless creature"), TargetController.YOU, false)); + "you lose 1 life unless you control another colorless creature"))); } private ReaverDrone(final ReaverDrone card) { diff --git a/Mage.Sets/src/mage/cards/r/Recantation.java b/Mage.Sets/src/mage/cards/r/Recantation.java index 075da6e3c36..6848bf4e656 100644 --- a/Mage.Sets/src/mage/cards/r/Recantation.java +++ b/Mage.Sets/src/mage/cards/r/Recantation.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -12,7 +12,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -31,8 +30,8 @@ public final class Recantation extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}"); // At the beginning of your upkeep, you may put a verse counter on Recantation. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // {U}, Sacrifice Recantation: Return up to X target permanents to their owners' hands, where X is the number of verse counters on Recantation. Effect effect = new ReturnToHandTargetEffect(); diff --git a/Mage.Sets/src/mage/cards/r/ReclusiveWight.java b/Mage.Sets/src/mage/cards/r/ReclusiveWight.java index 11ccd3cd406..13a130eaf55 100644 --- a/Mage.Sets/src/mage/cards/r/ReclusiveWight.java +++ b/Mage.Sets/src/mage/cards/r/ReclusiveWight.java @@ -3,7 +3,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -11,7 +11,6 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -39,7 +38,7 @@ public final class ReclusiveWight extends CardImpl { // At the beginning of your upkeep, if you control another nonland permanent, sacrifice Reclusive Wight. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()), new PermanentsOnTheBattlefieldCondition(filter), "At the beginning of your upkeep, if you control another nonland permanent, sacrifice {this}." )); diff --git a/Mage.Sets/src/mage/cards/r/RecumbentBliss.java b/Mage.Sets/src/mage/cards/r/RecumbentBliss.java index 7bd942ce88d..b56fdc38140 100644 --- a/Mage.Sets/src/mage/cards/r/RecumbentBliss.java +++ b/Mage.Sets/src/mage/cards/r/RecumbentBliss.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -30,7 +30,7 @@ public final class RecumbentBliss extends CardImpl { Ability ability = new EnchantAbility(auraTarget); this.addAbility(ability); this.addAbility(new SimpleStaticAbility(new CantAttackBlockAttachedEffect(AttachmentType.AURA))); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1), true)); } private RecumbentBliss(final RecumbentBliss card) { @@ -41,4 +41,4 @@ public final class RecumbentBliss extends CardImpl { public RecumbentBliss copy() { return new RecumbentBliss(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/r/RedcapGutterDweller.java b/Mage.Sets/src/mage/cards/r/RedcapGutterDweller.java index 0f145952299..f76af76d15c 100644 --- a/Mage.Sets/src/mage/cards/r/RedcapGutterDweller.java +++ b/Mage.Sets/src/mage/cards/r/RedcapGutterDweller.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.CreateTokenEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.permanent.token.RatCantBlockToken; @@ -48,9 +47,7 @@ public final class RedcapGutterDweller extends CardImpl { "Sacrifice another creature? If you do, put a +1/+1 counter on {this} " + "and exile the top card of your library. You may play that card this turn." ).addEffect(new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn) - .setText("and exile the top card of your library. You may play that card this turn")), - TargetController.YOU, - false + .setText("and exile the top card of your library. You may play that card this turn")) )); } diff --git a/Mage.Sets/src/mage/cards/r/RekindledFlame.java b/Mage.Sets/src/mage/cards/r/RekindledFlame.java index 3cae4599540..92115531b71 100644 --- a/Mage.Sets/src/mage/cards/r/RekindledFlame.java +++ b/Mage.Sets/src/mage/cards/r/RekindledFlame.java @@ -1,6 +1,6 @@ package mage.cards.r; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.OpponentHasNoCardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; @@ -35,8 +35,8 @@ public final class RekindledFlame extends CardImpl { // At the beginning of your upkeep, if an opponent has no cards in hand, you may return Rekindled Flame from your graveyard to your hand. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), - TargetController.YOU, true + Zone.GRAVEYARD, TargetController.YOU, new ReturnSourceFromGraveyardToHandEffect(), + true ), OpponentHasNoCardsInHandCondition.instance, "At the beginning of your upkeep, " + "if an opponent has no cards in hand, you may return {this} from your graveyard to your hand." ).addHint(hint)); diff --git a/Mage.Sets/src/mage/cards/r/RelicBane.java b/Mage.Sets/src/mage/cards/r/RelicBane.java index fa5bcc06c94..124055cb41d 100644 --- a/Mage.Sets/src/mage/cards/r/RelicBane.java +++ b/Mage.Sets/src/mage/cards/r/RelicBane.java @@ -2,7 +2,7 @@ package mage.cards.r; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; @@ -14,7 +14,6 @@ import mage.constants.AttachmentType; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetArtifactPermanent; @@ -36,8 +35,8 @@ public final class RelicBane extends CardImpl { this.addAbility(new EnchantAbility(auraTarget)); // Enchanted artifact has "At the beginning of your upkeep, you lose 2 life." this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect( - new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2), - TargetController.YOU, false), AttachmentType.AURA))); + new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(2) + ), AttachmentType.AURA))); } private RelicBane(final RelicBane card) { diff --git a/Mage.Sets/src/mage/cards/r/ReplicatingRing.java b/Mage.Sets/src/mage/cards/r/ReplicatingRing.java index ba44d82e025..e7f446ecde9 100644 --- a/Mage.Sets/src/mage/cards/r/ReplicatingRing.java +++ b/Mage.Sets/src/mage/cards/r/ReplicatingRing.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; @@ -9,7 +9,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -32,7 +31,7 @@ public final class ReplicatingRing extends CardImpl { // At the beginning of your upkeep, put a night counter on Replicating Ring. Then if it has eight or more night counters on it, remove all of them and create eight colorless snow artifact tokens named Replicated Ring with "{T}: Add one mana of any color." this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ReplicatingRingEffect(), TargetController.YOU, false + new ReplicatingRingEffect() )); } diff --git a/Mage.Sets/src/mage/cards/r/RevelInRiches.java b/Mage.Sets/src/mage/cards/r/RevelInRiches.java index 71f2e194e79..4a98b043e30 100644 --- a/Mage.Sets/src/mage/cards/r/RevelInRiches.java +++ b/Mage.Sets/src/mage/cards/r/RevelInRiches.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledPermanent; @@ -39,7 +38,7 @@ public final class RevelInRiches extends CardImpl { // Whenever a creature an opponent controls dies, create a colorless Treasure artifact token with "{T}, Sacrifice this artifact: Add one mana of any color." this.addAbility(new DiesCreatureTriggeredAbility(new CreateTokenEffect(new TreasureToken()), false, StaticFilters.FILTER_OPPONENTS_PERMANENT_A_CREATURE)); // At the beginning of your upkeep, if you control ten or more Treasures, you win the game. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()); this.addAbility(new ConditionalInterveningIfTriggeredAbility( ability, new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 9), diff --git a/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java b/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java index ca08eb16902..a00e11ea162 100644 --- a/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java +++ b/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java @@ -4,7 +4,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; @@ -30,7 +29,7 @@ public final class ReyaDawnbringer extends CardImpl { this.power = new MageInt(4); this.toughness = new MageInt(6); this.addAbility(FlyingAbility.getInstance()); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java b/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java index 60b9a6450e4..065e76fe1b4 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java +++ b/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java @@ -2,8 +2,7 @@ package mage.cards.r; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.AttachedToMatchesFilterCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -44,7 +43,7 @@ public final class RingOfEvosIsle extends CardImpl { new AttachedToMatchesFilterCondition(filter), "put a +1/+1 counter on equipped creature if it's blue" ); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // Equip {1} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfKalonia.java b/Mage.Sets/src/mage/cards/r/RingOfKalonia.java index 5b60ddee44e..b913b709a28 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfKalonia.java +++ b/Mage.Sets/src/mage/cards/r/RingOfKalonia.java @@ -2,8 +2,7 @@ package mage.cards.r; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.AttachedToMatchesFilterCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -44,7 +43,7 @@ public final class RingOfKalonia extends CardImpl { new AttachedToMatchesFilterCondition(filter), "put a +1/+1 counter on equipped creature if it's green" ); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // Equip {1} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfThune.java b/Mage.Sets/src/mage/cards/r/RingOfThune.java index 65350a71cda..5794fd049de 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfThune.java +++ b/Mage.Sets/src/mage/cards/r/RingOfThune.java @@ -2,8 +2,7 @@ package mage.cards.r; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.AttachedToMatchesFilterCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -44,7 +43,7 @@ public final class RingOfThune extends CardImpl { new AttachedToMatchesFilterCondition(filter), "put a +1/+1 counter on equipped creature if it's white" ); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // Equip {1} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfValkas.java b/Mage.Sets/src/mage/cards/r/RingOfValkas.java index 1d425031b86..c6ecf96bc14 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfValkas.java +++ b/Mage.Sets/src/mage/cards/r/RingOfValkas.java @@ -2,8 +2,7 @@ package mage.cards.r; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.AttachedToMatchesFilterCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -44,7 +43,7 @@ public final class RingOfValkas extends CardImpl { new AttachedToMatchesFilterCondition(filter), "put a +1/+1 counter on equipped creature if it's red" ); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // Equip {1} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfXathrid.java b/Mage.Sets/src/mage/cards/r/RingOfXathrid.java index 49709d1a72d..9ae27c645e9 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfXathrid.java +++ b/Mage.Sets/src/mage/cards/r/RingOfXathrid.java @@ -2,8 +2,7 @@ package mage.cards.r; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.AttachedToMatchesFilterCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -43,7 +42,7 @@ public final class RingOfXathrid extends CardImpl { new AttachedToMatchesFilterCondition(filter), "put a +1/+1 counter on equipped creature if it's black" ); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // Equip {1} this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/cards/r/RiptideChimera.java b/Mage.Sets/src/mage/cards/r/RiptideChimera.java index 68f0f92c9c2..78b6ec7278a 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideChimera.java +++ b/Mage.Sets/src/mage/cards/r/RiptideChimera.java @@ -2,7 +2,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.abilities.keyword.FlyingAbility; @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; /** @@ -31,7 +30,7 @@ public final class RiptideChimera extends CardImpl { // At the beginning of your upkeep, return an enchantment you control to its owner's hand. Effect effect = new ReturnToHandChosenControlledPermanentEffect(StaticFilters.FILTER_CONTROLLED_PERMANENT_AN_ENCHANTMENT, 1); effect.setText("return an enchantment you control to its owner's hand"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); } private RiptideChimera(final RiptideChimera card) { diff --git a/Mage.Sets/src/mage/cards/r/RisingWaters.java b/Mage.Sets/src/mage/cards/r/RisingWaters.java index ae03f63e58a..e825b58d4db 100644 --- a/Mage.Sets/src/mage/cards/r/RisingWaters.java +++ b/Mage.Sets/src/mage/cards/r/RisingWaters.java @@ -2,7 +2,7 @@ package mage.cards.r; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DontUntapInControllersUntapStepAllEffect; @@ -31,7 +31,7 @@ public final class RisingWaters extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, StaticFilters.FILTER_LANDS))); // At the beginning of each player's upkeep, that player untaps a land they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new RisingWatersUntapEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new RisingWatersUntapEffect(), false)); } private RisingWaters(final RisingWaters card) { diff --git a/Mage.Sets/src/mage/cards/r/RiskyMove.java b/Mage.Sets/src/mage/cards/r/RiskyMove.java index 09c22f682df..d26b544b98c 100644 --- a/Mage.Sets/src/mage/cards/r/RiskyMove.java +++ b/Mage.Sets/src/mage/cards/r/RiskyMove.java @@ -3,7 +3,7 @@ package mage.cards.r; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -31,7 +31,7 @@ public final class RiskyMove extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}{R}{R}"); // At the beginning of each player's upkeep, that player gains control of Risky Move. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new RiskyMoveGetControlEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new RiskyMoveGetControlEffect(), false)); // When you gain control of Risky Move from another player, choose a creature you control and an opponent. Flip a coin. If you lose the flip, that opponent gains control of that creature. this.addAbility(new RiskyMoveTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/r/RiteOfTheRagingStorm.java b/Mage.Sets/src/mage/cards/r/RiteOfTheRagingStorm.java index 9f9640400a4..751fcad8eec 100644 --- a/Mage.Sets/src/mage/cards/r/RiteOfTheRagingStorm.java +++ b/Mage.Sets/src/mage/cards/r/RiteOfTheRagingStorm.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.CantAttackYouAllEffect; @@ -36,7 +36,7 @@ public final class RiteOfTheRagingStorm extends CardImpl { // At the beginning of each player's upkeep, that player creates a 5/1 red Elemental creature token named Lightning Rager. // It has trample, haste, and "At the beginning of the end step, sacrifice this creature." - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new RiteOfTheRagingStormEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new RiteOfTheRagingStormEffect(), false)); } private RiteOfTheRagingStorm(final RiteOfTheRagingStorm card) { diff --git a/Mage.Sets/src/mage/cards/r/RiverDelta.java b/Mage.Sets/src/mage/cards/r/RiverDelta.java index 021fec28a6b..bdf0697ebe6 100644 --- a/Mage.Sets/src/mage/cards/r/RiverDelta.java +++ b/Mage.Sets/src/mage/cards/r/RiverDelta.java @@ -4,7 +4,7 @@ package mage.cards.r; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; @@ -17,7 +17,6 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -37,7 +36,7 @@ public final class RiverDelta extends CardImpl { Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); this.addAbility(ability); // At the beginning of your upkeep, remove a depletion counter from River Delta. - Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()), TargetController.YOU, false); + Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance())); this.addAbility(ability2); // {tap}: Add {U} or {B}. Put a depletion counter on River Delta. Ability ability3 = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(1), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/r/RocHatchling.java b/Mage.Sets/src/mage/cards/r/RocHatchling.java index bacb031968d..04dc9fa566b 100644 --- a/Mage.Sets/src/mage/cards/r/RocHatchling.java +++ b/Mage.Sets/src/mage/cards/r/RocHatchling.java @@ -4,7 +4,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -19,7 +19,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -38,7 +37,7 @@ public final class RocHatchling extends CardImpl { // Roc Hatchling enters the battlefield with four shell counters on it. this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.SHELL.createInstance(4)), "with four shell counters on it")); // At the beginning of your upkeep, remove a shell counter from Roc Hatchling. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.SHELL.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.SHELL.createInstance()))); // As long as Roc Hatchling has no shell counters on it, it gets +3/+2 and has flying. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( new BoostSourceEffect(3, 2, Duration.WhileOnBattlefield), diff --git a/Mage.Sets/src/mage/cards/r/RogueSkycaptain.java b/Mage.Sets/src/mage/cards/r/RogueSkycaptain.java index 14903c91361..28dececa75f 100644 --- a/Mage.Sets/src/mage/cards/r/RogueSkycaptain.java +++ b/Mage.Sets/src/mage/cards/r/RogueSkycaptain.java @@ -2,7 +2,7 @@ package mage.cards.r; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.RemoveAllCountersSourceEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -42,7 +41,7 @@ public class RogueSkycaptain extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, put a wage counter on Rogue Skycaptain. You may pay 2 for each wage counter on it. If you don't, remove all wage counters from Rogue Skycaptain and an opponent gains control of it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RogueSkycaptainEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RogueSkycaptainEffect())); } private RogueSkycaptain(final RogueSkycaptain card) { diff --git a/Mage.Sets/src/mage/cards/r/RohgahhOfKherKeep.java b/Mage.Sets/src/mage/cards/r/RohgahhOfKherKeep.java index 0914ea7e7a8..d01dad0f49e 100644 --- a/Mage.Sets/src/mage/cards/r/RohgahhOfKherKeep.java +++ b/Mage.Sets/src/mage/cards/r/RohgahhOfKherKeep.java @@ -3,7 +3,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -52,7 +52,7 @@ public final class RohgahhOfKherKeep extends CardImpl { this.toughness = new MageInt(5); // At the beginning of your upkeep, you may pay {R}{R}{R}. If you don't, tap Rohgahh of Kher Keep and all creatures named Kobolds of Kher Keep, then an opponent gains control of them. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RohgahhOfKherKeepEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RohgahhOfKherKeepEffect())); // Creatures you control named Kobolds of Kher Keep get +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(2, 2, Duration.WhileOnBattlefield, filter, false))); diff --git a/Mage.Sets/src/mage/cards/r/RoilingVortex.java b/Mage.Sets/src/mage/cards/r/RoilingVortex.java index 1fa4d5aae86..3f64b096d95 100644 --- a/Mage.Sets/src/mage/cards/r/RoilingVortex.java +++ b/Mage.Sets/src/mage/cards/r/RoilingVortex.java @@ -1,6 +1,6 @@ package mage.cards.r; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastAllTriggeredAbility; import mage.abilities.costs.mana.ColoredManaCost; @@ -32,8 +32,8 @@ public final class RoilingVortex extends CardImpl { // At the beginning of each player's upkeep, Roiling Vortex deals 1 damage to them. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new DamageTargetEffect(1, true, "them"), - TargetController.ANY, false, true + TargetController.EACH_PLAYER, new DamageTargetEffect(1, true, "them"), + false )); // Whenever a player casts a spell, if no mana was spent to cast that spell, Roiling Vortex deals 5 damage to that player. diff --git a/Mage.Sets/src/mage/cards/r/RottingRegisaur.java b/Mage.Sets/src/mage/cards/r/RottingRegisaur.java index 6e7e6d8028c..608eb6058c4 100644 --- a/Mage.Sets/src/mage/cards/r/RottingRegisaur.java +++ b/Mage.Sets/src/mage/cards/r/RottingRegisaur.java @@ -1,13 +1,12 @@ package mage.cards.r; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.discard.DiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -26,8 +25,7 @@ public final class RottingRegisaur extends CardImpl { // At the beginning of your upkeep, discard a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DiscardControllerEffect(1), - TargetController.YOU, false + new DiscardControllerEffect(1) )); } diff --git a/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java b/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java index 299b75be345..5e668b1f707 100644 --- a/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java +++ b/Mage.Sets/src/mage/cards/r/RumblingCrescendo.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -12,7 +12,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -37,8 +36,8 @@ public final class RumblingCrescendo extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}{R}"); // At the beginning of your upkeep, you may put a verse counter on Rumbling Crescendo. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // {R}, Sacrifice Rumbling Crescendo: Destroy up to X target lands, where X is the number of verse counters on Rumbling Crescendo. Effect effect = new DestroyTargetEffect(true); diff --git a/Mage.Sets/src/mage/cards/r/RumblingSlum.java b/Mage.Sets/src/mage/cards/r/RumblingSlum.java index 2b1fc13abae..977b60bb3dc 100644 --- a/Mage.Sets/src/mage/cards/r/RumblingSlum.java +++ b/Mage.Sets/src/mage/cards/r/RumblingSlum.java @@ -3,7 +3,7 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -28,7 +27,7 @@ public final class RumblingSlum extends CardImpl { // At the beginning of your upkeep, Rumbling Slum deals 1 damage to each player. Effect effect = new DamagePlayersEffect(1, TargetController.ANY); effect.setText("{this} deals 1 damage to each player"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); } private RumblingSlum(final RumblingSlum card) { diff --git a/Mage.Sets/src/mage/cards/r/RunoStromkirk.java b/Mage.Sets/src/mage/cards/r/RunoStromkirk.java index be872052542..1dd67837199 100644 --- a/Mage.Sets/src/mage/cards/r/RunoStromkirk.java +++ b/Mage.Sets/src/mage/cards/r/RunoStromkirk.java @@ -2,7 +2,7 @@ package mage.cards.r; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.PutOnLibraryTargetEffect; @@ -47,7 +47,7 @@ public final class RunoStromkirk extends CardImpl { // At the beginning of your upkeep, look at the top card of your library. You may reveal that card. If a creature card with mana value 6 or greater is revealed this way, transform Runo Stromkirk. this.addAbility(new TransformAbility()); this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new RunoStromkirkEffect(), TargetController.YOU, false + new RunoStromkirkEffect() )); } diff --git a/Mage.Sets/src/mage/cards/r/RushwoodElemental.java b/Mage.Sets/src/mage/cards/r/RushwoodElemental.java index 99b0c29402b..fd0d4745c6e 100644 --- a/Mage.Sets/src/mage/cards/r/RushwoodElemental.java +++ b/Mage.Sets/src/mage/cards/r/RushwoodElemental.java @@ -3,14 +3,13 @@ package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; /** @@ -28,7 +27,7 @@ public final class RushwoodElemental extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, you may put a +1/+1 counter on Rushwood Elemental. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), true)); } private RushwoodElemental(final RushwoodElemental card) { diff --git a/Mage.Sets/src/mage/cards/r/RuthlessWinnower.java b/Mage.Sets/src/mage/cards/r/RuthlessWinnower.java index 5e572246797..ef176963e61 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessWinnower.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessWinnower.java @@ -1,7 +1,7 @@ package mage.cards.r; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -34,7 +34,7 @@ public final class RuthlessWinnower extends CardImpl { // At the beginning of each player's upkeep, that player sacrifices a non-Elf creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeEffect(filter, 1, "that player"), TargetController.ANY, false + TargetController.EACH_PLAYER, new SacrificeEffect(filter, 1, "that player"), false )); } diff --git a/Mage.Sets/src/mage/cards/s/SacredMesa.java b/Mage.Sets/src/mage/cards/s/SacredMesa.java index 1abf64ac21a..55b6e17be93 100644 --- a/Mage.Sets/src/mage/cards/s/SacredMesa.java +++ b/Mage.Sets/src/mage/cards/s/SacredMesa.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -12,11 +12,9 @@ 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 mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.PegasusToken; -import mage.target.common.TargetControlledPermanent; /** * @@ -33,7 +31,7 @@ public final class SacredMesa extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); // At the beginning of your upkeep, sacrifice Sacred Mesa unless you sacrifice a Pegasus. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(filter)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(filter)))); // {1}{W}: Create a 1/1 white Pegasus creature token with flying. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new PegasusToken()), new ManaCostsImpl<>("{1}{W}"))); diff --git a/Mage.Sets/src/mage/cards/s/SafeHaven.java b/Mage.Sets/src/mage/cards/s/SafeHaven.java index 945f567c999..443209ab4cd 100644 --- a/Mage.Sets/src/mage/cards/s/SafeHaven.java +++ b/Mage.Sets/src/mage/cards/s/SafeHaven.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -12,7 +12,6 @@ import mage.abilities.effects.common.ReturnFromExileEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -37,7 +36,7 @@ public final class SafeHaven extends CardImpl { new DoIfCostPaid(new ReturnFromExileEffect( Zone.BATTLEFIELD, "return each card exiled with " + "{this} to the battlefield under its owner's control" - ), new SacrificeSourceCost()), TargetController.YOU, false + ), new SacrificeSourceCost()) )); } diff --git a/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java b/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java index 21975ae7a78..6ddce73e873 100644 --- a/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java +++ b/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java @@ -2,13 +2,12 @@ package mage.cards.s; import mage.MageInt; import mage.Mana; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.mana.UntilEndOfTurnManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -26,8 +25,8 @@ public final class SakuraTribeSpringcaller extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, add {G}. Until end of turn, you don't lose this mana as steps and phases end. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new UntilEndOfTurnManaEffect(Mana.GreenMana(1)), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new UntilEndOfTurnManaEffect(Mana.GreenMana(1)) + )); } private SakuraTribeSpringcaller(final SakuraTribeSpringcaller card) { diff --git a/Mage.Sets/src/mage/cards/s/SanctumOfAll.java b/Mage.Sets/src/mage/cards/s/SanctumOfAll.java index 71b0793ef5a..c82143cf4e6 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumOfAll.java +++ b/Mage.Sets/src/mage/cards/s/SanctumOfAll.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.ReplacementEffectImpl; @@ -14,7 +14,6 @@ import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; @@ -47,7 +46,7 @@ public final class SanctumOfAll extends CardImpl { this.subtype.add(SubType.SHRINE); // At the beginning of your upkeep, you may search your library and/or graveyard for a Shrine card and put it onto the battlefield. If you search your library this way, shuffle it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SearchLibraryGraveyardPutOntoBattlefieldEffect(filterCard), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SearchLibraryGraveyardPutOntoBattlefieldEffect(filterCard), true)); // If an ability of another Shrine you control triggers while you control six or more Shrines, that ability triggers an additional time. this.addAbility(new SimpleStaticAbility(new SanctumOfAllTriggerEffect()).addHint(new ValueHint("Shrines you control", count))); diff --git a/Mage.Sets/src/mage/cards/s/SandSilos.java b/Mage.Sets/src/mage/cards/s/SandSilos.java index eb91cd10c9c..544cf9cf1ab 100644 --- a/Mage.Sets/src/mage/cards/s/SandSilos.java +++ b/Mage.Sets/src/mage/cards/s/SandSilos.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.SkipUntapOptionalAbility; import mage.abilities.condition.common.SourceTappedCondition; @@ -20,8 +20,6 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -40,7 +38,7 @@ public final class SandSilos extends CardImpl { // At the beginning of your upkeep, if Sand Silos is tapped, put a storage counter on it. OneShotEffect addStorageCounter = new AddCountersSourceEffect(CounterType.STORAGE.createInstance()); Effect effect = new ConditionalOneShotEffect(addStorageCounter, SourceTappedCondition.TAPPED, "if {this} is tapped, put a storage counter on it"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); // {tap}, Remove any number of storage counters from Sand Silos: Add {U} for each storage counter removed this way. Ability ability = new DynamicManaAbility( Mana.BlueMana(1), diff --git a/Mage.Sets/src/mage/cards/s/SandsOfTime.java b/Mage.Sets/src/mage/cards/s/SandsOfTime.java index a27a4bc7bdb..2ab09131700 100644 --- a/Mage.Sets/src/mage/cards/s/SandsOfTime.java +++ b/Mage.Sets/src/mage/cards/s/SandsOfTime.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SkipUntapStepEffect; @@ -32,7 +32,7 @@ public final class SandsOfTime extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipUntapStepEffect())); // At the beginning of each player's upkeep, that player simultaneously untaps each tapped artifact, creature, and land they control and taps each untapped artifact, creature, and land they control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SandsOfTimeEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new SandsOfTimeEffect(), false)); } private SandsOfTime(final SandsOfTime card) { diff --git a/Mage.Sets/src/mage/cards/s/Sangrophage.java b/Mage.Sets/src/mage/cards/s/Sangrophage.java index 79f9aedac9a..7a487b2e788 100644 --- a/Mage.Sets/src/mage/cards/s/Sangrophage.java +++ b/Mage.Sets/src/mage/cards/s/Sangrophage.java @@ -3,14 +3,13 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.common.TapSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -26,7 +25,7 @@ public final class Sangrophage extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, tap Sangrophage unless you pay 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)))); } diff --git a/Mage.Sets/src/mage/cards/s/Sarcomancy.java b/Mage.Sets/src/mage/cards/s/Sarcomancy.java index 5332f75feb0..e9d4b223a3e 100644 --- a/Mage.Sets/src/mage/cards/s/Sarcomancy.java +++ b/Mage.Sets/src/mage/cards/s/Sarcomancy.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -28,7 +28,7 @@ public final class Sarcomancy extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieToken(), 1), false)); // At the beginning of your upkeep, if there are no Zombies on the battlefield, Sarcomancy deals 1 damage to you. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(1), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1)), new PermanentsOnTheBattlefieldCondition(new FilterPermanent(SubType.ZOMBIE, "Zombies"), ComparisonType.EQUAL_TO, 0, false), "At the beginning of your upkeep, if there are no Zombies on the battlefield, {this} deals 1 damage to you.")); } diff --git a/Mage.Sets/src/mage/cards/s/SarulfRealmEater.java b/Mage.Sets/src/mage/cards/s/SarulfRealmEater.java index f6c766feb02..739780fb50b 100644 --- a/Mage.Sets/src/mage/cards/s/SarulfRealmEater.java +++ b/Mage.Sets/src/mage/cards/s/SarulfRealmEater.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.MageItem; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutIntoGraveFromBattlefieldAllTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -57,7 +57,7 @@ public final class SarulfRealmEater extends CardImpl { // At the beginning of your upkeep, if Sarulf has one or more +1/+1 counters on it, you may remove all of them. If you do, exile each other nonland permanent with converted mana cost less than or equal to the number of counters removed this way. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new SarulfRealmEaterEffect(), TargetController.YOU, true + new SarulfRealmEaterEffect(), true ), condition, "At the beginning of your upkeep, if {this} has one or more +1/+1 counters on it, " + "you may remove all of them. If you do, exile each other nonland permanent with mana value " + "less than or equal to the number of counters removed this way." diff --git a/Mage.Sets/src/mage/cards/s/SavageThallid.java b/Mage.Sets/src/mage/cards/s/SavageThallid.java index 6ec0efb5c06..79951df43cb 100644 --- a/Mage.Sets/src/mage/cards/s/SavageThallid.java +++ b/Mage.Sets/src/mage/cards/s/SavageThallid.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -15,7 +15,6 @@ 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 mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -44,7 +43,7 @@ public final class SavageThallid extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a spore counter on Savage Thallid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Savage Thallid: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); // Sacrifice a Saproling: Regenerate target Fungus. diff --git a/Mage.Sets/src/mage/cards/s/ScaldingTongs.java b/Mage.Sets/src/mage/cards/s/ScaldingTongs.java index f037fdca311..9327ff8b01e 100644 --- a/Mage.Sets/src/mage/cards/s/ScaldingTongs.java +++ b/Mage.Sets/src/mage/cards/s/ScaldingTongs.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; @@ -11,8 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.target.common.TargetOpponentOrPlaneswalker; /** @@ -24,7 +22,7 @@ public final class ScaldingTongs extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); // At the beginning of your upkeep, if you have three or fewer cards in hand, Scalding Tongs deals 1 damage to target opponent. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(1)); ability.addTarget(new TargetOpponentOrPlaneswalker()); CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.FEWER_THAN, 4); this.addAbility(new ConditionalInterveningIfTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java b/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java index 077867a8b1b..44634dae890 100644 --- a/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java +++ b/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java @@ -3,14 +3,13 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -25,7 +24,7 @@ public final class SchoolOfPiranha extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, sacrifice School of Piranha unless you pay {1}{U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{1}{U}")))); } private SchoolOfPiranha(final SchoolOfPiranha card) { diff --git a/Mage.Sets/src/mage/cards/s/ScoriaWurm.java b/Mage.Sets/src/mage/cards/s/ScoriaWurm.java index 2c3fe177b89..c3fc4a70f5d 100644 --- a/Mage.Sets/src/mage/cards/s/ScoriaWurm.java +++ b/Mage.Sets/src/mage/cards/s/ScoriaWurm.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; @@ -12,8 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -31,7 +29,7 @@ public final class ScoriaWurm extends CardImpl { this.toughness = new MageInt(7); // At the beginning of your upkeep, flip a coin. If you lose the flip, return Scoria Wurm to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScoriaWurmEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ScoriaWurmEffect())); } private ScoriaWurm(final ScoriaWurm card) { diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java b/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java index 71910a6b885..eddf61a1c7f 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; /** @@ -42,8 +41,7 @@ public final class ScourgeOfNumai extends CardImpl { new LoseLifeSourceControllerEffect(2), condition, "you lose 2 life if you don't control an Ogre" - ), - TargetController.YOU, false + ) )); } diff --git a/Mage.Sets/src/mage/cards/s/ScreechingBat.java b/Mage.Sets/src/mage/cards/s/ScreechingBat.java index f3eb8b86340..102b78c99a2 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingBat.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingBat.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.TransformSourceEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -36,7 +35,7 @@ public final class ScreechingBat extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( new TransformSourceEffect(), new ManaCostsImpl<>("{2}{B}{B}") - ), TargetController.YOU, false)); + ))); } private ScreechingBat(final ScreechingBat card) { diff --git a/Mage.Sets/src/mage/cards/s/ScroungingBandar.java b/Mage.Sets/src/mage/cards/s/ScroungingBandar.java index 9045a12da46..2f0a7a50c9d 100644 --- a/Mage.Sets/src/mage/cards/s/ScroungingBandar.java +++ b/Mage.Sets/src/mage/cards/s/ScroungingBandar.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -12,8 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.Game; @@ -39,7 +37,7 @@ public final class ScroungingBandar extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)), "with two +1/+1 counters on it")); // At the beginning of you upkeep, you may move any number of +1/+1 counters from Scrounging Bandar onto another target creature. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScroungingBandarEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ScroungingBandarEffect(), true); ability.addTarget(new TargetCreaturePermanent(StaticFilters.FILTER_ANOTHER_TARGET_CREATURE)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/Seance.java b/Mage.Sets/src/mage/cards/s/Seance.java index 77d6d383c16..d9a7b66bab6 100644 --- a/Mage.Sets/src/mage/cards/s/Seance.java +++ b/Mage.Sets/src/mage/cards/s/Seance.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenCopyTargetEffect; @@ -33,7 +33,7 @@ public final class Seance extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); // At the beginning of each upkeep, you may exile target creature card from your graveyard. If you do, create a token that's a copy of that card except it's a Spirit in addition to its other types. Exile it at the beginning of the next end step. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new SeanceEffect(), TargetController.ANY, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new SeanceEffect(), true); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE)); this.addAbility(ability); } @@ -52,7 +52,7 @@ class SeanceEffect extends OneShotEffect { SeanceEffect() { super(Outcome.PutCreatureInPlay); - this.staticText = "you may exile target creature card from your graveyard. If you do, create a token that's a copy of that card except it's a Spirit in addition to its other types. Exile it at the beginning of the next end step"; + this.staticText = "you may exile target creature card from your graveyard. If you do, create a token that's a copy of that card, except it's a Spirit in addition to its other types. Exile it at the beginning of the next end step"; } private SeanceEffect(final SeanceEffect effect) { diff --git a/Mage.Sets/src/mage/cards/s/SearchForAzcanta.java b/Mage.Sets/src/mage/cards/s/SearchForAzcanta.java index 593ecce4e3d..348a84913c5 100644 --- a/Mage.Sets/src/mage/cards/s/SearchForAzcanta.java +++ b/Mage.Sets/src/mage/cards/s/SearchForAzcanta.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.keyword.SurveilEffect; import mage.abilities.keyword.TransformAbility; @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -31,8 +30,7 @@ public final class SearchForAzcanta extends CardImpl { // At the beginning of your upkeep, look at the top card of your library. You may put it into your graveyard. Then if you have seven or more cards in your graveyard, you may transform Search for Azcanta. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new SurveilEffect(1, false), - TargetController.YOU, false + new SurveilEffect(1, false) ); ability.addEffect(new SearchForAzcantaEffect()); this.addAbility(new TransformAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SeasonOfTheWitch.java b/Mage.Sets/src/mage/cards/s/SeasonOfTheWitch.java index f4800d395d3..9414462089b 100644 --- a/Mage.Sets/src/mage/cards/s/SeasonOfTheWitch.java +++ b/Mage.Sets/src/mage/cards/s/SeasonOfTheWitch.java @@ -7,7 +7,7 @@ import java.util.UUID; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.OneShotEffect; @@ -39,7 +39,7 @@ public final class SeasonOfTheWitch extends CardImpl { // At the beginning of your upkeep, sacrifice Season of the Witch unless you pay 2 life. Cost cost = new PayLifeCost(2); cost.setText("2 life"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(cost), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(cost))); // At the beginning of the end step, destroy all untapped creatures that didn't attack this turn, except for creatures that couldn't attack. Ability ability = new BeginningOfEndStepTriggeredAbility(new SeasonOfTheWitchEffect(), TargetController.ANY, false); diff --git a/Mage.Sets/src/mage/cards/s/SecondChance.java b/Mage.Sets/src/mage/cards/s/SecondChance.java index 3a909b4ba4c..5fd611b2534 100644 --- a/Mage.Sets/src/mage/cards/s/SecondChance.java +++ b/Mage.Sets/src/mage/cards/s/SecondChance.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.FatefulHourCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -9,8 +9,6 @@ import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; import java.util.UUID; @@ -24,7 +22,7 @@ public final class SecondChance extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); // At the beginning of your upkeep, if you have 5 or less life, sacrifice Second Chance and take an extra turn after this one. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()); ability.addEffect(new AddExtraTurnControllerEffect()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, FatefulHourCondition.instance, "At the beginning of your upkeep, if you have 5 or less life, sacrifice {this} and take an extra turn after this one")); diff --git a/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java b/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java index d8e3c7c012a..8f02ce75e01 100644 --- a/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java +++ b/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java @@ -5,7 +5,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DrawCardTargetEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -34,7 +34,7 @@ public final class SeizanPerverterOfTruth extends CardImpl { // At the beginning of each player's upkeep, that player loses 2 life and draws two cards. Effect effect = new LoseLifeTargetEffect(2); effect.setText("that player loses 2 life"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, effect, false); effect = new DrawCardTargetEffect(2); effect.setText("and draws two cards"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/s/SenTriplets.java b/Mage.Sets/src/mage/cards/s/SenTriplets.java index 246a235854f..380cb756866 100644 --- a/Mage.Sets/src/mage/cards/s/SenTriplets.java +++ b/Mage.Sets/src/mage/cards/s/SenTriplets.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.AsThoughEffectImpl; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; @@ -36,8 +36,7 @@ public final class SenTriplets extends CardImpl { // This turn, that player can't cast spells or activate abilities and plays with their hand revealed. // You may play cards from that player's hand this turn. Ability ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new SenTripletsRuleModifyingEffect(), - TargetController.YOU, false, false + new SenTripletsRuleModifyingEffect() ); ability.addEffect(new SenTripletsOpponentRevealsHandEffect()); ability.addEffect(new SenTripletsPlayFromOpponentsHandEffect()); diff --git a/Mage.Sets/src/mage/cards/s/SerendibDjinn.java b/Mage.Sets/src/mage/cards/s/SerendibDjinn.java index 7c675077be1..8996295ac00 100644 --- a/Mage.Sets/src/mage/cards/s/SerendibDjinn.java +++ b/Mage.Sets/src/mage/cards/s/SerendibDjinn.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.ControlsPermanentsControllerTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -15,8 +15,6 @@ import mage.filter.common.FilterLandPermanent; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetSacrifice; import java.util.UUID; @@ -37,7 +35,7 @@ public final class SerendibDjinn extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice a land. If you sacrifice an Island this way, Serendib Djinn deals 3 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SerendibDjinnEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SerendibDjinnEffect())); // When you control no lands, sacrifice Serendib Djinn. this.addAbility(new ControlsPermanentsControllerTriggeredAbility( filter, ComparisonType.EQUAL_TO, 0, diff --git a/Mage.Sets/src/mage/cards/s/SerendibEfreet.java b/Mage.Sets/src/mage/cards/s/SerendibEfreet.java index 8f56a4a6fb2..c137340e648 100644 --- a/Mage.Sets/src/mage/cards/s/SerendibEfreet.java +++ b/Mage.Sets/src/mage/cards/s/SerendibEfreet.java @@ -3,14 +3,13 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class SerendibEfreet extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, Serendib Efreet deals 1 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(1))); } private SerendibEfreet(final SerendibEfreet card) { diff --git a/Mage.Sets/src/mage/cards/s/SerraBestiary.java b/Mage.Sets/src/mage/cards/s/SerraBestiary.java index 0e6ef09dc17..bab420d3cf4 100644 --- a/Mage.Sets/src/mage/cards/s/SerraBestiary.java +++ b/Mage.Sets/src/mage/cards/s/SerraBestiary.java @@ -4,7 +4,7 @@ import java.util.Optional; import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; @@ -19,7 +19,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -45,7 +44,7 @@ public final class SerraBestiary extends CardImpl { this.addAbility(ability); // At the beginning of your upkeep, sacrifice Serra Bestiary unless you pay {W}{W}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{W}{W}")))); // Enchanted creature can't attack or block, and its activated abilities with {T} in their costs can't be activated. Ability ability2 = new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockAttachedEffect(AttachmentType.AURA)); diff --git a/Mage.Sets/src/mage/cards/s/SerrasHymn.java b/Mage.Sets/src/mage/cards/s/SerrasHymn.java index c654c1613ac..2d26a7a8cdc 100644 --- a/Mage.Sets/src/mage/cards/s/SerrasHymn.java +++ b/Mage.Sets/src/mage/cards/s/SerrasHymn.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.dynamicvalue.common.CountersSourceCount; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetAnyTargetAmount; @@ -29,8 +28,8 @@ public final class SerrasHymn extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}"); // At the beginning of your upkeep, you may put a verse counter on Serra's Hymn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // Sacrifice Serra's Hymn: Prevent the next X damage that would be dealt this turn to any number of target creatures and/or players, divided as you choose, where X is the number of verse counters on Serra's Hymn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java b/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java index 8cf69bd3dc1..2b670c9dfb3 100644 --- a/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java +++ b/Mage.Sets/src/mage/cards/s/SerrasLiturgy.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -12,7 +12,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -41,8 +40,8 @@ public final class SerrasLiturgy extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); // At the beginning of your upkeep, you may put a verse counter on Serra's Liturgy. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // {W}, Sacrifice Serra's Liturgy: Destroy up to X target artifacts and/or enchantments, where X is the number of verse counters on Serra's Liturgy. Effect effect = new DestroyTargetEffect(true); diff --git a/Mage.Sets/src/mage/cards/s/SerratedArrows.java b/Mage.Sets/src/mage/cards/s/SerratedArrows.java index a3703e2d581..bbc965e9288 100644 --- a/Mage.Sets/src/mage/cards/s/SerratedArrows.java +++ b/Mage.Sets/src/mage/cards/s/SerratedArrows.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -15,7 +15,6 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -38,7 +37,7 @@ public final class SerratedArrows extends CardImpl { // At the beginning of your upkeep, if there are no arrowhead counters on Serrated Arrows, sacrifice it. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()), new SourceHasCounterCondition(CounterType.ARROWHEAD, 0, 0), "At the beginning of your upkeep, if there are no arrowhead counters on {this}, sacrifice it" )); diff --git a/Mage.Sets/src/mage/cards/s/ShadowKin.java b/Mage.Sets/src/mage/cards/s/ShadowKin.java index 95253a8f555..6109aa5006b 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowKin.java +++ b/Mage.Sets/src/mage/cards/s/ShadowKin.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CopyEffect; import mage.abilities.keyword.FlashAbility; @@ -36,7 +36,7 @@ public final class ShadowKin extends CardImpl { // At the beginning of your upkeep, each player mills three cards. You may exile a creature card from among the cards milled this way. If you do, Shadow Kin becomes a copy of that card, except it has this ability. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ShadowKinEffect(), TargetController.YOU, false + new ShadowKinEffect() )); } @@ -112,8 +112,8 @@ class ShadowKinApplier extends CopyApplier { @Override public boolean apply(Game game, MageObject blueprint, Ability source, UUID targetObjectId) { blueprint.getAbilities().add(new BeginningOfUpkeepTriggeredAbility( - new ShadowKinEffect(), TargetController.YOU, false + new ShadowKinEffect() )); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java index 09aa5b3153f..6afac6d2232 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java +++ b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.InvertCondition; @@ -15,7 +15,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -53,7 +52,7 @@ public final class ShadowbornDemon extends CardImpl { // At the beginning of your upkeep, if there are fewer than six creature cards in your graveyard, sacrifice a creature. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, ""), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "")), new InvertCondition(new CreatureCardsInControllerGraveyardCondition(6)), "At the beginning of your upkeep, if there are fewer than six creature cards in your graveyard, sacrifice a creature")); diff --git a/Mage.Sets/src/mage/cards/s/ShapeOfTheWiitigo.java b/Mage.Sets/src/mage/cards/s/ShapeOfTheWiitigo.java index 95671bfe49b..27ad9ec921d 100644 --- a/Mage.Sets/src/mage/cards/s/ShapeOfTheWiitigo.java +++ b/Mage.Sets/src/mage/cards/s/ShapeOfTheWiitigo.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.*; import mage.MageObjectReference; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -50,7 +50,7 @@ public final class ShapeOfTheWiitigo extends CardImpl { new RemoveCountersAttachedEffect(CounterType.P1P1.createInstance(1), "it"), new AttachedAttackedOrBlockedSinceYourLastUpkeepCondition(), "put a +1/+1 counter on enchanted creature if it attacked or blocked since your last " + - "upkeep. Otherwise, remove a +1/+1 counter from it"), TargetController.YOU, false); + "upkeep. Otherwise, remove a +1/+1 counter from it")); triggeredAbility.addWatcher(new AttackedOrBlockedSinceYourLastUpkeepWatcher()); this.addAbility(triggeredAbility); } diff --git a/Mage.Sets/src/mage/cards/s/Shapeshifter.java b/Mage.Sets/src/mage/cards/s/Shapeshifter.java index 65c8a4ede3e..49a47dc80ba 100644 --- a/Mage.Sets/src/mage/cards/s/Shapeshifter.java +++ b/Mage.Sets/src/mage/cards/s/Shapeshifter.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -37,7 +37,7 @@ public final class Shapeshifter extends CardImpl { // As Shapeshifter enters the battlefield, choose a number between 0 and 7. this.addAbility(new AsEntersBattlefieldAbility(new ShapeshifterEffect())); // At the beginning of your upkeep, you may choose a number between 0 and 7. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ShapeshifterEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ShapeshifterEffect(), true)); // Shapeshifter's power is equal to the last chosen number and its toughness is equal to 7 minus that number. this.addAbility(new SimpleStaticAbility(Zone.ALL, new ShapeshifterContinuousEffect())); } diff --git a/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java b/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java index eee542c0385..557e4101dd4 100644 --- a/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java +++ b/Mage.Sets/src/mage/cards/s/ShapeshiftersMarrow.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CopyEffect; import mage.cards.Card; @@ -25,7 +25,7 @@ public final class ShapeshiftersMarrow extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{U}"); // At the beginning of each opponent's upkeep, that player reveals the top card of their library. If it's a creature card, the player puts the card into their graveyard and Shapeshifter's Marrow becomes a copy of that card. (If it does, it loses this ability.) - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ShapeshiftersMarrowEffect(), TargetController.OPPONENT, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new ShapeshiftersMarrowEffect(), false)); } private ShapeshiftersMarrow(final ShapeshiftersMarrow card) { diff --git a/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java b/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java index cf946c96698..798e39e6167 100644 --- a/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java +++ b/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.TapSourceCost; @@ -41,7 +41,7 @@ public final class ShaukuEndbringer extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ShaukuEndbringerEffect())); // At the beginning of your upkeep, you lose 3 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(3), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(3))); // {T}: Exile target creature and put a +1/+1 counter on Shauku. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/s/ShelteredValley.java b/Mage.Sets/src/mage/cards/s/ShelteredValley.java index 51176f197a3..dce04980f72 100644 --- a/Mage.Sets/src/mage/cards/s/ShelteredValley.java +++ b/Mage.Sets/src/mage/cards/s/ShelteredValley.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.SacrificeAllCost; @@ -16,7 +16,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; @@ -45,7 +44,7 @@ public final class ShelteredValley extends CardImpl { // At the beginning of your upkeep, if you control three or fewer lands, you gain 1 life. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1)), new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_LANDS, ComparisonType.FEWER_THAN, 4), "At the beginning of your upkeep, if you control three or fewer lands, you gain 1 life." )); diff --git a/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java b/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java index 2f06da026e2..bb03a8e967f 100644 --- a/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java +++ b/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.effects.common.SacrificeEffect; import mage.abilities.keyword.SwampwalkAbility; @@ -36,13 +36,13 @@ public final class SheoldredWhisperingOne extends CardImpl { this.addAbility(new SwampwalkAbility()); // At the beginning of your upkeep, return target creature card from your graveyard to the battlefield. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(false), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(false)); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); // At the beginning of each opponent's upkeep, that player sacrifices a creature. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "that player"), TargetController.OPPONENT, false)); + TargetController.OPPONENT, new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "that player"), false)); } private SheoldredWhisperingOne(final SheoldredWhisperingOne card) { diff --git a/Mage.Sets/src/mage/cards/s/ShiftingShadow.java b/Mage.Sets/src/mage/cards/s/ShiftingShadow.java index 6b42741202c..59cca89b89a 100644 --- a/Mage.Sets/src/mage/cards/s/ShiftingShadow.java +++ b/Mage.Sets/src/mage/cards/s/ShiftingShadow.java @@ -2,8 +2,7 @@ package mage.cards.s; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -81,7 +80,7 @@ class ShiftingShadowGainEffect extends ContinuousEffectImpl { } permanent.addAbility(HasteAbility.getInstance(), source.getSourceId(), game); permanent.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ShiftingShadowEffect(aura, game), TargetController.YOU, false + new ShiftingShadowEffect(aura, game) ), source.getSourceId(), game); return true; } diff --git a/Mage.Sets/src/mage/cards/s/ShimmerwingChimera.java b/Mage.Sets/src/mage/cards/s/ShimmerwingChimera.java index d9a47c7913f..a3a744c8b48 100644 --- a/Mage.Sets/src/mage/cards/s/ShimmerwingChimera.java +++ b/Mage.Sets/src/mage/cards/s/ShimmerwingChimera.java @@ -2,14 +2,13 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledEnchantmentPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; @@ -41,7 +40,7 @@ public final class ShimmerwingChimera extends CardImpl { // At the beginning of your upkeep, return up to one other target enchantment you control to its owner's hand. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new ReturnToHandTargetEffect(), TargetController.YOU, false + new ReturnToHandTargetEffect() ); ability.addTarget(new TargetPermanent(0, 1, filter, false)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java b/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java index 70f744ffe09..1f70c348b98 100644 --- a/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java +++ b/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.common.SacrificeControllerEffect; import mage.abilities.effects.common.SkipNextPlayerUntapStepEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -38,7 +37,7 @@ public final class ShisatoWhisperingHunter extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, sacrifice a Snake. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(filter, 1,""), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect(filter, 1,""))); // Whenever Shisato, Whispering Hunter deals combat damage to a player, that player skips their next untap step. this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new SkipNextPlayerUntapStepEffect("that player"), false, true)); } diff --git a/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java b/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java index e35e315a831..cbfe6677ad6 100644 --- a/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java +++ b/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.Mana; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.mana.AddManaToManaPoolTargetControllerEffect; import mage.cards.CardImpl; @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; -import mage.constants.Zone; /** * @@ -33,7 +32,7 @@ public final class ShizukoCallerOfAutumn extends CardImpl { // At the beginning of each player's upkeep, that player adds {G}{G}{G}. Until end of turn, this mana doesn't empty from that player's mana pool as steps and phases end. Effect effect = new AddManaToManaPoolTargetControllerEffect(Mana.GreenMana(3), "that player", true); effect.setText("that player adds {G}{G}{G}. Until end of turn, they don't lose this mana as steps and phases end"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, effect, false)); } diff --git a/Mage.Sets/src/mage/cards/s/ShriekingAffliction.java b/Mage.Sets/src/mage/cards/s/ShriekingAffliction.java index 563b439ad5f..48f03a95d9a 100644 --- a/Mage.Sets/src/mage/cards/s/ShriekingAffliction.java +++ b/Mage.Sets/src/mage/cards/s/ShriekingAffliction.java @@ -1,6 +1,6 @@ package mage.cards.s; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -25,8 +25,8 @@ public final class ShriekingAffliction extends CardImpl { // At the beginning of each opponent's upkeep, if that player has one or fewer cards in hand, they lose 3 life. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new LoseLifeTargetEffect(3), - TargetController.OPPONENT, false, true + Zone.BATTLEFIELD, TargetController.OPPONENT, new LoseLifeTargetEffect(3), + false ), new CardsInHandCondition(ComparisonType.FEWER_THAN, 2, TargetController.ACTIVE), "At the beginning of each opponent's upkeep, if that player has one or fewer cards in hand, they lose 3 life." diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java b/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java index 3860a41d931..62b17228ea9 100644 --- a/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java +++ b/Mage.Sets/src/mage/cards/s/ShrineOfBoundlessGrowth.java @@ -6,7 +6,7 @@ import java.util.UUID; import mage.Mana; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -17,7 +17,6 @@ import mage.abilities.meta.OrTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -40,7 +39,7 @@ public final class ShrineOfBoundlessGrowth extends CardImpl { // At the beginning of your upkeep or whenever you cast a green spell, put a charge counter on Shrine of Boundless Growth. this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(null), new SpellCastControllerTriggeredAbility(null, filter, false))); // {T}, Sacrifice Shrine of Boundless Growth: Add {C} for each charge counter on Shrine of Boundless Growth. diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java b/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java index 00f449fb00c..08a5794d4d6 100644 --- a/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java +++ b/Mage.Sets/src/mage/cards/s/ShrineOfBurningRage.java @@ -5,7 +5,7 @@ package mage.cards.s; import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -18,7 +18,6 @@ import mage.abilities.meta.OrTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -41,7 +40,7 @@ public final class ShrineOfBurningRage extends CardImpl { //At the beginning of your upkeep or whenever you cast a red spell, put a charge counter on Shrine of Burning Rage. this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(null), new SpellCastControllerTriggeredAbility(null, filter, false))); //{3}, {T}, Sacrifice Shrine of Burning Rage: It deals damage equal to the number of charge counters on it to any target. diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java b/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java index 2e9865da551..5bc70db335f 100644 --- a/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java +++ b/Mage.Sets/src/mage/cards/s/ShrineOfLimitlessPower.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -17,7 +17,6 @@ import mage.abilities.meta.OrTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -41,7 +40,7 @@ public final class ShrineOfLimitlessPower extends CardImpl { //At the beginning of your upkeep or whenever you cast a black spell, put a charge counter on Shrine of Limitless Power. this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(null), new SpellCastControllerTriggeredAbility(null, filter, false))); //{4}, {T}, Sacrifice Shrine of Limitless Power: Target player discards a card for each charge counter on Shrine of Limitless Power. diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java b/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java index 243720cc019..eec8735c7c7 100644 --- a/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java +++ b/Mage.Sets/src/mage/cards/s/ShrineOfLoyalLegions.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -15,7 +15,6 @@ import mage.abilities.meta.OrTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -40,7 +39,7 @@ public final class ShrineOfLoyalLegions extends CardImpl { //At the beginning of your upkeep or whenever you cast a white spell, put a charge counter on Shrine of Loyal Legions. this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(null), new SpellCastControllerTriggeredAbility(null, filter, false))); //{3}, {T}, Sacrifice Shrine of Loyal Legions: Create a 1/1 colorless Myr artifact creature token for each charge counter on Shrine of Loyal Legions. diff --git a/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java b/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java index abe036ac19e..4579aa3b935 100644 --- a/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java +++ b/Mage.Sets/src/mage/cards/s/ShrineOfPiercingVision.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -19,7 +19,6 @@ import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterCard; @@ -47,7 +46,7 @@ public final class ShrineOfPiercingVision extends CardImpl { // At the beginning of your upkeep or whenever you cast a blue spell, put a charge counter on Shrine of Piercing Vision. this.addAbility(new OrTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(null), new SpellCastControllerTriggeredAbility(null, filter, false))); // {tap}, Sacrifice Shrine of Piercing Vision: Look at the top X cards of your library, where X is the number of charge counters on Shrine of Piercing Vision. diff --git a/Mage.Sets/src/mage/cards/s/Shyft.java b/Mage.Sets/src/mage/cards/s/Shyft.java index 4034d5e3f30..e1fe7f8d467 100644 --- a/Mage.Sets/src/mage/cards/s/Shyft.java +++ b/Mage.Sets/src/mage/cards/s/Shyft.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BecomesColorOrColorsTargetEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.target.targetpointer.FixedTarget; @@ -32,7 +31,7 @@ public final class Shyft extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, you may have Shyft become the color or colors of your choice. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ShyftEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ShyftEffect(), true)); } private Shyft(final Shyft card) { diff --git a/Mage.Sets/src/mage/cards/s/SigardasSplendor.java b/Mage.Sets/src/mage/cards/s/SigardasSplendor.java index 6e57256374c..b2ebfe64fd7 100644 --- a/Mage.Sets/src/mage/cards/s/SigardasSplendor.java +++ b/Mage.Sets/src/mage/cards/s/SigardasSplendor.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.Game; @@ -40,7 +39,7 @@ public final class SigardasSplendor extends CardImpl { // At the beginning of your upkeep, draw a card if your life total is greater than or equal to the last noted life total for Sigarda's Splendor. Then note your life total. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SigardasSplendorDrawEffect(), TargetController.YOU, false + new SigardasSplendorDrawEffect() ).addHint(SigardasSplendorHint.instance)); // Whenever you cast a white spell, you gain 1 life. diff --git a/Mage.Sets/src/mage/cards/s/SimicAscendancy.java b/Mage.Sets/src/mage/cards/s/SimicAscendancy.java index 4b10ea98e98..e5441d8e3ec 100644 --- a/Mage.Sets/src/mage/cards/s/SimicAscendancy.java +++ b/Mage.Sets/src/mage/cards/s/SimicAscendancy.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -43,8 +43,8 @@ public final class SimicAscendancy extends CardImpl { // At the beginning of your upkeep, if Simic Ascendancy has twenty or more growth counters on it, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new WinGameSourceControllerEffect(), - TargetController.YOU, false + Zone.BATTLEFIELD, TargetController.YOU, new WinGameSourceControllerEffect(), + false ), new SourceHasCounterCondition(CounterType.GROWTH, 20, Integer.MAX_VALUE), "At the beginning of your upkeep, if {this} has twenty " + "or more growth counters on it, you win the game" diff --git a/Mage.Sets/src/mage/cards/s/SinProdder.java b/Mage.Sets/src/mage/cards/s/SinProdder.java index 78b173942f5..92f488597b1 100644 --- a/Mage.Sets/src/mage/cards/s/SinProdder.java +++ b/Mage.Sets/src/mage/cards/s/SinProdder.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.MenaceAbility; import mage.cards.Card; @@ -31,7 +31,7 @@ public final class SinProdder extends CardImpl { // At the beginning of your upkeep, reveal the top card of your library. Any opponent may have you put that card into your graveyard. If a player does, // Sin Prodder deals damage to that player equal to that card's converted mana cost. Otherwise, put that card into your hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SinProdderEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SinProdderEffect())); } private SinProdder(final SinProdder card) { diff --git a/Mage.Sets/src/mage/cards/s/SinnersJudgment.java b/Mage.Sets/src/mage/cards/s/SinnersJudgment.java index fbbe39edd11..608c412c013 100644 --- a/Mage.Sets/src/mage/cards/s/SinnersJudgment.java +++ b/Mage.Sets/src/mage/cards/s/SinnersJudgment.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutIntoGraveFromAnywhereSourceAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -43,7 +42,7 @@ public final class SinnersJudgment extends CardImpl { // At the beginning of your upkeep, put a judgment counter on Sinner's Judgment. Then if there are three or more judgment counters on it, enchanted player loses the game. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SinnersJudgmentEffect(), TargetController.YOU, false + new SinnersJudgmentEffect() )); // If Sinner's Judgment would be put into a graveyard from anywhere, exile it instead. diff --git a/Mage.Sets/src/mage/cards/s/SkittishValesk.java b/Mage.Sets/src/mage/cards/s/SkittishValesk.java index 94106de6782..0ef8dd5e9eb 100644 --- a/Mage.Sets/src/mage/cards/s/SkittishValesk.java +++ b/Mage.Sets/src/mage/cards/s/SkittishValesk.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.MorphAbility; @@ -13,8 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -32,7 +30,7 @@ public final class SkittishValesk extends CardImpl { this.toughness = new MageInt(5); // At the beginning of your upkeep, flip a coin. If you lose the flip, turn Skittish Valesk face down. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SkittishValeskEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SkittishValeskEffect())); // Morph {5}{R} this.addAbility(new MorphAbility(this, new ManaCostsImpl<>("{5}{R}"))); diff --git a/Mage.Sets/src/mage/cards/s/SkrelvsHive.java b/Mage.Sets/src/mage/cards/s/SkrelvsHive.java index 98e78fa4700..1644bae15c9 100644 --- a/Mage.Sets/src/mage/cards/s/SkrelvsHive.java +++ b/Mage.Sets/src/mage/cards/s/SkrelvsHive.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CorruptedCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -39,7 +38,7 @@ public final class SkrelvsHive extends CardImpl { // At the beginning of your upkeep, you lose 1 life and create a 1/1 colorless Phyrexian Mite artifact creature token with toxic 1 and "This creature can't block." Ability ability = new BeginningOfUpkeepTriggeredAbility( - new LoseLifeSourceControllerEffect(1), TargetController.YOU, false + new LoseLifeSourceControllerEffect(1) ); ability.addEffect(new CreateTokenEffect(new PhyrexianMiteToken()).concatBy("and")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SkullCollector.java b/Mage.Sets/src/mage/cards/s/SkullCollector.java index 5d87d963224..6fa42f59508 100644 --- a/Mage.Sets/src/mage/cards/s/SkullCollector.java +++ b/Mage.Sets/src/mage/cards/s/SkullCollector.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.RegenerateSourceEffect; @@ -13,7 +13,6 @@ 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 mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -38,7 +37,7 @@ public final class SkullCollector extends CardImpl { this.power = new MageInt(3); this.toughness = new MageInt(3); // At the beginning of your upkeep, return a black creature you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter))); // {1}{B}: Regenerate Skull Collector. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}"))); } diff --git a/Mage.Sets/src/mage/cards/s/Skullcage.java b/Mage.Sets/src/mage/cards/s/Skullcage.java index b6b3b45caa3..73aa365aba8 100644 --- a/Mage.Sets/src/mage/cards/s/Skullcage.java +++ b/Mage.Sets/src/mage/cards/s/Skullcage.java @@ -1,14 +1,13 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -23,7 +22,7 @@ public final class Skullcage extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // At the beginning of each opponent's upkeep, Skullcage deals 2 damage to that player unless they have exactly three or exactly four cards in hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SkullcageEffect(), TargetController.OPPONENT, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new SkullcageEffect(), false)); } private Skullcage(final Skullcage card) { diff --git a/Mage.Sets/src/mage/cards/s/SkylineDespot.java b/Mage.Sets/src/mage/cards/s/SkylineDespot.java index 3dea87f6f6d..d8d73074e96 100644 --- a/Mage.Sets/src/mage/cards/s/SkylineDespot.java +++ b/Mage.Sets/src/mage/cards/s/SkylineDespot.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.MonarchIsSourceControllerCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.permanent.token.DragonToken2; import java.util.UUID; @@ -38,7 +37,7 @@ public final class SkylineDespot extends CardImpl { // At the beginning of your upkeep, if you're the monarch, put a 5/5 red Dragon creature token with flying onto the battlefield. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new DragonToken2()), TargetController.YOU, false + new CreateTokenEffect(new DragonToken2()), false ), MonarchIsSourceControllerCondition.instance, "At the beginning of your upkeep, " + "if you're the monarch, create a 5/5 red Dragon creature token with flying." )); diff --git a/Mage.Sets/src/mage/cards/s/SleeperAgent.java b/Mage.Sets/src/mage/cards/s/SleeperAgent.java index c93174c96d9..1b879f3be92 100644 --- a/Mage.Sets/src/mage/cards/s/SleeperAgent.java +++ b/Mage.Sets/src/mage/cards/s/SleeperAgent.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.DamageControllerEffect; @@ -16,7 +16,6 @@ import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; import mage.constants.SubLayer; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetOpponent; @@ -39,7 +38,7 @@ public final class SleeperAgent extends CardImpl { ability.addTarget(new TargetOpponent()); this.addAbility(ability); // At the beginning of your upkeep, Sleeper Agent deals 2 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(2), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(2))); } private SleeperAgent(final SleeperAgent card) { diff --git a/Mage.Sets/src/mage/cards/s/SlicerHiredMuscle.java b/Mage.Sets/src/mage/cards/s/SlicerHiredMuscle.java index f726333d053..8e5c77167ec 100644 --- a/Mage.Sets/src/mage/cards/s/SlicerHiredMuscle.java +++ b/Mage.Sets/src/mage/cards/s/SlicerHiredMuscle.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.keyword.MoreThanMeetsTheEyeAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.keyword.DoubleStrikeAbility; import mage.abilities.keyword.HasteAbility; import mage.abilities.effects.common.TransformSourceEffect; @@ -13,7 +13,6 @@ import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.abilities.effects.common.continuous.CantBeSacrificedSourceEffect; import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.ContinuousEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.game.Game; @@ -49,8 +48,8 @@ public final class SlicerHiredMuscle extends CardImpl { // At the beginning of each opponent's upkeep, you may have that player gain // control of Slicer until end of turn. If you do, untap Slicer, goad it, and it // can't be sacrificed this turn. If you don't, convert it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SlicerHiredMuscleUpkeepEffect(), - TargetController.OPPONENT, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new SlicerHiredMuscleUpkeepEffect(), + false)); } diff --git a/Mage.Sets/src/mage/cards/s/SlowMotion.java b/Mage.Sets/src/mage/cards/s/SlowMotion.java index 7461c329e35..b9ec0e3df5c 100644 --- a/Mage.Sets/src/mage/cards/s/SlowMotion.java +++ b/Mage.Sets/src/mage/cards/s/SlowMotion.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.GenericManaCost; @@ -41,7 +41,7 @@ public final class SlowMotion extends CardImpl { this.addAbility(ability); // At the beginning of the upkeep of enchanted creature's controller, that player sacrifices that creature unless they pay {2}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeEquipedUnlessPaysEffect(new GenericManaCost(2)), TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new SacrificeEquipedUnlessPaysEffect(new GenericManaCost(2)), false)); // When Slow Motion is put into a graveyard from the battlefield, return Slow Motion to its owner's hand. this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new ReturnToHandSourceEffect())); diff --git a/Mage.Sets/src/mage/cards/s/SmokeBomb.java b/Mage.Sets/src/mage/cards/s/SmokeBomb.java index 20b74dc6f0a..9cb5d07e42d 100644 --- a/Mage.Sets/src/mage/cards/s/SmokeBomb.java +++ b/Mage.Sets/src/mage/cards/s/SmokeBomb.java @@ -1,6 +1,6 @@ package mage.cards.s; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.delayed.ReflexiveTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; @@ -41,7 +40,7 @@ public final class SmokeBomb extends CardImpl { ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoWhenCostPaid( ability, new SacrificeSourceCost(), "", false - ), TargetController.YOU, false)); + ))); } private SmokeBomb(final SmokeBomb card) { diff --git a/Mage.Sets/src/mage/cards/s/Smokestack.java b/Mage.Sets/src/mage/cards/s/Smokestack.java index 9ad0312232a..889eef8da55 100644 --- a/Mage.Sets/src/mage/cards/s/Smokestack.java +++ b/Mage.Sets/src/mage/cards/s/Smokestack.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; @@ -28,10 +28,10 @@ public final class Smokestack extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // At the beginning of your upkeep, you may put a soot counter on Smokestack. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SOOT.createInstance()), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SOOT.createInstance()), true)); // At the beginning of each player's upkeep, that player sacrifices a permanent for each soot counter on Smokestack. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SmokestackEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new SmokestackEffect(), false)); } private Smokestack(final Smokestack card) { diff --git a/Mage.Sets/src/mage/cards/s/SmolderingTar.java b/Mage.Sets/src/mage/cards/s/SmolderingTar.java index 64362a07f18..161bf1f4342 100644 --- a/Mage.Sets/src/mage/cards/s/SmolderingTar.java +++ b/Mage.Sets/src/mage/cards/s/SmolderingTar.java @@ -4,14 +4,13 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.TargetPlayer; import mage.target.common.TargetCreaturePermanent; @@ -27,7 +26,7 @@ public final class SmolderingTar extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}{R}"); // At the beginning of your upkeep, target player loses 1 life. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeTargetEffect(1), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeTargetEffect(1)); ability.addTarget(new TargetPlayer()); this.addAbility(ability); // Sacrifice Smoldering Tar: Smoldering Tar deals 4 damage to target creature. Activate this ability only any time you could cast a sorcery. diff --git a/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java b/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java index e77d99911a0..a1b094c4d7b 100644 --- a/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java +++ b/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SacrificePermanentTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.SacrificeControllerEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import java.util.UUID; @@ -36,7 +35,7 @@ public final class SmotheringAbomination extends CardImpl { // At the beginning of your upkeep, sacrifice a creature this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeControllerEffect( - StaticFilters.FILTER_PERMANENT_CREATURE, 1, null), TargetController.YOU, false)); + StaticFilters.FILTER_PERMANENT_CREATURE, 1, null))); // Whenever you sacrifice a creature, draw a card. this.addAbility(new SacrificePermanentTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java b/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java index d197de4e553..18a06add7df 100644 --- a/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java +++ b/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.ContinuousEffect; @@ -37,7 +37,7 @@ public final class SokenzanRenegade extends CardImpl { // At the beginning of your upkeep, if a player has more cards in hand than each other player, // the player who has the most cards in hand gains control of Sokenzan Renegade. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SokenzanRenegadeEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new SokenzanRenegadeEffect()), OnePlayerHasTheMostCards.instance, "At the beginning of your upkeep, if a player has more cards in hand than each other player, the player who has the most cards in hand gains control of {this}" )); diff --git a/Mage.Sets/src/mage/cards/s/SoldeviGolem.java b/Mage.Sets/src/mage/cards/s/SoldeviGolem.java index fe86dbbb88d..2d2fa6666ce 100644 --- a/Mage.Sets/src/mage/cards/s/SoldeviGolem.java +++ b/Mage.Sets/src/mage/cards/s/SoldeviGolem.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; import mage.abilities.effects.common.UntapSourceEffect; @@ -43,7 +43,7 @@ public final class SoldeviGolem extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); // At the beginning of your upkeep, you may untap target tapped creature an opponent controls. If you do, untap Soldevi Golem. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new UntapTargetEffect().setText("untap target tapped creature an opponent controls"), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new UntapTargetEffect().setText("untap target tapped creature an opponent controls"), true); ability.addEffect(new UntapSourceEffect().setText("If you do, untap {this}")); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SolitaryConfinement.java b/Mage.Sets/src/mage/cards/s/SolitaryConfinement.java index 10785abad9b..adb261a4b69 100644 --- a/Mage.Sets/src/mage/cards/s/SolitaryConfinement.java +++ b/Mage.Sets/src/mage/cards/s/SolitaryConfinement.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.DiscardTargetCost; import mage.abilities.effects.common.PreventDamageToControllerEffect; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -28,7 +27,7 @@ public final class SolitaryConfinement extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); // At the beginning of your upkeep, sacrifice Solitary Confinement unless you discard a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand())), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new DiscardTargetCost(new TargetCardInHand())))); // Skip your draw step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipDrawStepEffect())); diff --git a/Mage.Sets/src/mage/cards/s/SoulBleed.java b/Mage.Sets/src/mage/cards/s/SoulBleed.java index ebd90c5c724..7dd9a40aa6c 100644 --- a/Mage.Sets/src/mage/cards/s/SoulBleed.java +++ b/Mage.Sets/src/mage/cards/s/SoulBleed.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.abilities.keyword.EnchantAbility; @@ -12,7 +12,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -33,7 +32,7 @@ public final class SoulBleed extends CardImpl { this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); this.addAbility(new EnchantAbility(auraTarget)); // At the beginning of the upkeep of enchanted creature's controller, that player loses 1 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(1), TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new LoseLifeTargetEffect(1), false)); } private SoulBleed(final SoulBleed card) { diff --git a/Mage.Sets/src/mage/cards/s/SoulEcho.java b/Mage.Sets/src/mage/cards/s/SoulEcho.java index 059a283c69c..3a7742b72e1 100644 --- a/Mage.Sets/src/mage/cards/s/SoulEcho.java +++ b/Mage.Sets/src/mage/cards/s/SoulEcho.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -44,7 +44,7 @@ public final class SoulEcho extends CardImpl { // At the beginning of your upkeep, sacrifice Soul Echo if there are no echo counters on it. // Otherwise, target opponent may choose that for each 1 damage that would be dealt to you until your next upkeep, you remove an echo counter from Soul Echo instead. Effect effect = new ConditionalOneShotEffect(new SacrificeSourceEffect(), new SoulEchoOpponentsChoiceEffect(), new SourceHasCounterCondition(CounterType.ECHO, 0, 0), "sacrifice {this} if there are no echo counters on it. Otherwise, target opponent may choose that for each 1 damage that would be dealt to you until your next upkeep, you remove an echo counter from {this} instead"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(effect); ability.addTarget(new TargetOpponent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SoulSwallower.java b/Mage.Sets/src/mage/cards/s/SoulSwallower.java index 4096cd62e64..355a2b3c58b 100644 --- a/Mage.Sets/src/mage/cards/s/SoulSwallower.java +++ b/Mage.Sets/src/mage/cards/s/SoulSwallower.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -13,8 +13,6 @@ 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 mage.counters.CounterType; /** @@ -33,7 +31,7 @@ public final class SoulSwallower extends CardImpl { // Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, put three +1/+1 counters on Soul Swallower. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(3)), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(3))), DeliriumCondition.instance, "Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, " + "put three +1/+1 counters on Soul Swallower.") diff --git a/Mage.Sets/src/mage/cards/s/SoulTithe.java b/Mage.Sets/src/mage/cards/s/SoulTithe.java index 8406e86c54d..3db1df9da00 100644 --- a/Mage.Sets/src/mage/cards/s/SoulTithe.java +++ b/Mage.Sets/src/mage/cards/s/SoulTithe.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; @@ -37,7 +37,7 @@ public final class SoulTithe extends CardImpl { // At the beginning of the upkeep of enchanted permanent's controller, // that player sacrifices it unless they pay {X}, // where X is its converted mana cost. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SoulTitheEffect(), TargetController.CONTROLLER_ATTACHED_TO, false) + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new SoulTitheEffect(), false) .setTriggerPhrase("At the beginning of the upkeep of enchanted permanent's controller, ")); } diff --git a/Mage.Sets/src/mage/cards/s/SparkFiend.java b/Mage.Sets/src/mage/cards/s/SparkFiend.java index ae71ce37cb5..6d72318f696 100644 --- a/Mage.Sets/src/mage/cards/s/SparkFiend.java +++ b/Mage.Sets/src/mage/cards/s/SparkFiend.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -34,7 +33,7 @@ public final class SparkFiend extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new SparkFiendEffect(), false)); // At the beginning of your upkeep, roll two six-sided dice. If you rolled 7, sacrifice Spark Fiend. If you roll the noted total, don't roll dice for Spark Fiend during any of your following upkeeps. Otherwise, do nothing. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SparkFiendUpkeepEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SparkFiendUpkeepEffect())); } private SparkFiend(final SparkFiend card) { diff --git a/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java b/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java index ed3f114417d..e8f9554d9aa 100644 --- a/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java +++ b/Mage.Sets/src/mage/cards/s/SpawnOfMayhem.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DamagePlayersEffect; @@ -45,8 +45,7 @@ public final class SpawnOfMayhem extends CardImpl { // At the beginning of your upkeep, Spawn of Mayhem deals 1 damage to each player. Then if you have 10 or less life, put a +1/+1 counter on Spawn of Mayhem. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new DamagePlayersEffect(1, TargetController.ANY), - TargetController.YOU, false + new DamagePlayersEffect(1, TargetController.ANY) ); ability.addEffect(new SpawnOfMayhemEffect()); this.addAbility(ability); @@ -91,4 +90,4 @@ class SpawnOfMayhemEffect extends OneShotEffect { } return false; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/s/SpeciesGorger.java b/Mage.Sets/src/mage/cards/s/SpeciesGorger.java index cd5008b3072..93ba9b19b4e 100644 --- a/Mage.Sets/src/mage/cards/s/SpeciesGorger.java +++ b/Mage.Sets/src/mage/cards/s/SpeciesGorger.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -25,7 +25,7 @@ public final class SpeciesGorger extends CardImpl { this.toughness = new MageInt(6); // At the beginning of your upkeep, return a creature you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnToHandChosenControlledPermanentEffect(StaticFilters.FILTER_CONTROLLED_CREATURE), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(StaticFilters.FILTER_CONTROLLED_CREATURE))); } diff --git a/Mage.Sets/src/mage/cards/s/SphereOfAnnihilation.java b/Mage.Sets/src/mage/cards/s/SphereOfAnnihilation.java index f45d7c0fe9b..80246de37c1 100644 --- a/Mage.Sets/src/mage/cards/s/SphereOfAnnihilation.java +++ b/Mage.Sets/src/mage/cards/s/SphereOfAnnihilation.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; @@ -37,7 +37,7 @@ public final class SphereOfAnnihilation extends CardImpl { // At the beginning of your upkeep, exile Sphere of Annihilation, all creatures and planeswalkers with mana value less than or equal to the number of void counters on it, and all creature and planeswalker cards in all graveyards with mana value less than or equal to the number of void counters on it. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SphereOfAnnihilationEffect(), TargetController.YOU, false + new SphereOfAnnihilationEffect() )); } diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfForesight.java b/Mage.Sets/src/mage/cards/s/SphinxOfForesight.java index 383488804f0..d85a0cb552c 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfForesight.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfForesight.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.ChancellorAbility; import mage.abilities.effects.keyword.ScryEffect; import mage.abilities.keyword.FlyingAbility; @@ -11,8 +11,6 @@ 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 mage.game.Game; import mage.game.events.GameEvent; @@ -43,8 +41,7 @@ public final class SphinxOfForesight extends CardImpl { // At the beginning of your upkeep, scry 1. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new ScryEffect(1, false), - TargetController.YOU, false + new ScryEffect(1, false) )); } diff --git a/Mage.Sets/src/mage/cards/s/SpindriftDrake.java b/Mage.Sets/src/mage/cards/s/SpindriftDrake.java index 26c4fbc7638..66c2c76de27 100644 --- a/Mage.Sets/src/mage/cards/s/SpindriftDrake.java +++ b/Mage.Sets/src/mage/cards/s/SpindriftDrake.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -28,7 +27,7 @@ public final class SpindriftDrake extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Spindrift Drake unless you pay {U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")))); } private SpindriftDrake(final SpindriftDrake card) { diff --git a/Mage.Sets/src/mage/cards/s/SpiritMirror.java b/Mage.Sets/src/mage/cards/s/SpiritMirror.java index b60efed5362..1208df0f810 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritMirror.java +++ b/Mage.Sets/src/mage/cards/s/SpiritMirror.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -37,7 +37,7 @@ public final class SpiritMirror extends CardImpl { // At the beginning of your upkeep, if there are no Reflection tokens on the battlefield, create a 2/2 white Reflection creature token. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new ReflectionToken()), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new ReflectionToken())), new PermanentsOnTheBattlefieldCondition(filterToken, ComparisonType.EQUAL_TO, 0, false), "At the beginning of your upkeep, if there are no Reflection tokens on the battlefield, create a 2/2 white Reflection creature token.")); diff --git a/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java b/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java index c9c0b19860a..81619d25157 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java +++ b/Mage.Sets/src/mage/cards/s/SpiritualSanctuary.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.GainLifeTargetEffect; @@ -32,8 +32,8 @@ public final class SpiritualSanctuary extends CardImpl { // At the beginning of each player's upkeep, if that player controls a Plains, they gain 1 life. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new GainLifeTargetEffect(1).setText("they gain 1 life"), - TargetController.ANY, false + TargetController.ANY, new GainLifeTargetEffect(1).setText("they gain 1 life"), + false ), new PermanentsOnTheBattlefieldCondition(filter), "at the beginning of each player's upkeep, " diff --git a/Mage.Sets/src/mage/cards/s/SpitefulBully.java b/Mage.Sets/src/mage/cards/s/SpitefulBully.java index e1470a78428..be6766677ec 100644 --- a/Mage.Sets/src/mage/cards/s/SpitefulBully.java +++ b/Mage.Sets/src/mage/cards/s/SpitefulBully.java @@ -4,13 +4,12 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -29,7 +28,7 @@ public final class SpitefulBully extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, Spiteful Bully deals 3 damage to target creature you control. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(3), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(3)); ability.addTarget(new TargetControlledCreaturePermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SporeFlower.java b/Mage.Sets/src/mage/cards/s/SporeFlower.java index 5a7c8f92c9f..5c401d58bdb 100644 --- a/Mage.Sets/src/mage/cards/s/SporeFlower.java +++ b/Mage.Sets/src/mage/cards/s/SporeFlower.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -30,7 +29,7 @@ public final class SporeFlower extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a spore counter on Spore Flower. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Spore Flower: Prevent all combat damage that would be dealt this turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/s/SporesowerThallid.java b/Mage.Sets/src/mage/cards/s/SporesowerThallid.java index 87bf7cf3428..ac5f37c4bce 100644 --- a/Mage.Sets/src/mage/cards/s/SporesowerThallid.java +++ b/Mage.Sets/src/mage/cards/s/SporesowerThallid.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.effects.common.CreateTokenEffect; @@ -38,7 +38,7 @@ public final class SporesowerThallid extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, put a spore counter on each Fungus you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.SPORE.createInstance(), filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAllEffect(CounterType.SPORE.createInstance(), filter))); // Remove three spore counters from Sporesower Thallid: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); } diff --git a/Mage.Sets/src/mage/cards/s/Sporogenesis.java b/Mage.Sets/src/mage/cards/s/Sporogenesis.java index 4d51b62e6e3..2ff18d9e74d 100644 --- a/Mage.Sets/src/mage/cards/s/Sporogenesis.java +++ b/Mage.Sets/src/mage/cards/s/Sporogenesis.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.LeavesBattlefieldTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -12,7 +12,6 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -43,7 +42,7 @@ public final class Sporogenesis extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}"); // At the beginning of your upkeep, you may put a fungus counter on target nontoken creature. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.FUNGUS.createInstance()), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.FUNGUS.createInstance()), true); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/SporolothAncient.java b/Mage.Sets/src/mage/cards/s/SporolothAncient.java index 941028c2969..7fe20e02e06 100644 --- a/Mage.Sets/src/mage/cards/s/SporolothAncient.java +++ b/Mage.Sets/src/mage/cards/s/SporolothAncient.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -36,7 +35,7 @@ public final class SporolothAncient extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, put a spore counter on Sporoloth Ancient. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Creatures you control have "Remove two spore counters from this creature: Create a 1/1 green Saproling creature token." Effect effect = new GainAbilityControlledEffect( new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(2))), diff --git a/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java b/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java index 1d65d4b4a4f..ff9d29caa32 100644 --- a/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java +++ b/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -25,7 +25,7 @@ public final class SqueeGoblinNabob extends CardImpl { // At the beginning of your upkeep, you may return Squee, Goblin Nabob from your graveyard to your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new ReturnSourceFromGraveyardToHandEffect(), TargetController.YOU, true)); + TargetController.YOU, new ReturnSourceFromGraveyardToHandEffect(), true)); } private SqueeGoblinNabob(final SqueeGoblinNabob card) { diff --git a/Mage.Sets/src/mage/cards/s/StabWound.java b/Mage.Sets/src/mage/cards/s/StabWound.java index 10b7b71cce6..658bfda5ee6 100644 --- a/Mage.Sets/src/mage/cards/s/StabWound.java +++ b/Mage.Sets/src/mage/cards/s/StabWound.java @@ -4,7 +4,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -45,7 +45,7 @@ public final class StabWound extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(-2,-2, Duration.WhileOnBattlefield))); // At the beginning of the upkeep of enchanted creature's controller, that player loses 2 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new LoseLifeTargetEffect(2), TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new LoseLifeTargetEffect(2), false)); } private StabWound(final StabWound card) { diff --git a/Mage.Sets/src/mage/cards/s/StaffOfNin.java b/Mage.Sets/src/mage/cards/s/StaffOfNin.java index e9117649133..e279e4c48a2 100644 --- a/Mage.Sets/src/mage/cards/s/StaffOfNin.java +++ b/Mage.Sets/src/mage/cards/s/StaffOfNin.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.effects.common.DamageTargetEffect; @@ -11,7 +11,6 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetAnyTarget; @@ -25,7 +24,7 @@ public final class StaffOfNin extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}"); // At the beginning of your upkeep, draw a card. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1))); // {tap}: Staff of Nin deals 1 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); ability.addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/s/StalkingVampire.java b/Mage.Sets/src/mage/cards/s/StalkingVampire.java index c126b2078ec..0fc17107c6a 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingVampire.java +++ b/Mage.Sets/src/mage/cards/s/StalkingVampire.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.TransformSourceEffect; @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -32,7 +31,7 @@ public final class StalkingVampire extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DoIfCostPaid( new TransformSourceEffect(), new ManaCostsImpl<>("{2}{B}{B}") - ), TargetController.YOU, false)); + ))); } private StalkingVampire(final StalkingVampire card) { diff --git a/Mage.Sets/src/mage/cards/s/StampedingSerow.java b/Mage.Sets/src/mage/cards/s/StampedingSerow.java index 8088a90d26f..286f0bc4917 100644 --- a/Mage.Sets/src/mage/cards/s/StampedingSerow.java +++ b/Mage.Sets/src/mage/cards/s/StampedingSerow.java @@ -4,14 +4,13 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -35,7 +34,7 @@ public final class StampedingSerow extends CardImpl { this.toughness = new MageInt(4); this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, return a green creature you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter))); } private StampedingSerow(final StampedingSerow card) { diff --git a/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java b/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java index 9b9a6214295..e49b4bf4bc2 100644 --- a/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java +++ b/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java @@ -4,15 +4,13 @@ package mage.cards.s; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.abilities.keyword.TrampleAbility; 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 mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -39,7 +37,7 @@ public final class StampedingWildebeests extends CardImpl { // Trample this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, return a green creature you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ReturnToHandChosenControlledPermanentEffect(filter, 1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter, 1))); } private StampedingWildebeests(final StampedingWildebeests card) { diff --git a/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java b/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java index 788aa302da0..b71641e9ba4 100644 --- a/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java +++ b/Mage.Sets/src/mage/cards/s/StarfieldOfNyx.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -48,8 +48,8 @@ public final class StarfieldOfNyx extends CardImpl { // At the beginning of your upkeep, you may return target enchantment card // from your graveyard to the battlefield. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility( + new ReturnFromGraveyardToBattlefieldTargetEffect(), true); ability.addTarget(new TargetCardInYourGraveyard(filterGraveyardEnchantment)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/Stasis.java b/Mage.Sets/src/mage/cards/s/Stasis.java index d3562a540e3..9fdd1fe5003 100644 --- a/Mage.Sets/src/mage/cards/s/Stasis.java +++ b/Mage.Sets/src/mage/cards/s/Stasis.java @@ -2,7 +2,7 @@ package mage.cards.s; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -10,7 +10,6 @@ import mage.abilities.effects.common.SkipUntapStepEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -26,7 +25,7 @@ public final class Stasis extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SkipUntapStepEffect())); // At the beginning of your upkeep, sacrifice Stasis unless you pay {U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")))); } diff --git a/Mage.Sets/src/mage/cards/s/StolenStrategy.java b/Mage.Sets/src/mage/cards/s/StolenStrategy.java index fa1bd4505c8..4a44379c1d7 100644 --- a/Mage.Sets/src/mage/cards/s/StolenStrategy.java +++ b/Mage.Sets/src/mage/cards/s/StolenStrategy.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -23,7 +23,7 @@ public final class StolenStrategy extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{R}"); // At the beginning of your upkeep, exile the top card of each opponent's library. Until end of turn, you may cast nonland cards from among those exiled cards, and you may spend mana as though it were mana of any color to cast those spells. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new StolenStrategyEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new StolenStrategyEffect())); } private StolenStrategy(final StolenStrategy card) { diff --git a/Mage.Sets/src/mage/cards/s/StormWorld.java b/Mage.Sets/src/mage/cards/s/StormWorld.java index 0ba6d88084d..b97fa34838a 100644 --- a/Mage.Sets/src/mage/cards/s/StormWorld.java +++ b/Mage.Sets/src/mage/cards/s/StormWorld.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -22,7 +22,7 @@ public final class StormWorld extends CardImpl { this.supertype.add(SuperType.WORLD); // At the beginning of each player's upkeep, Storm World deals X damage to that player, where X is 4 minus the number of cards in their hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new StormWorldEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new StormWorldEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/s/StormfistCrusader.java b/Mage.Sets/src/mage/cards/s/StormfistCrusader.java index 20bb58fd36c..87c5cc2408e 100644 --- a/Mage.Sets/src/mage/cards/s/StormfistCrusader.java +++ b/Mage.Sets/src/mage/cards/s/StormfistCrusader.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.common.DrawCardAllEffect; import mage.abilities.effects.common.LoseLifeAllPlayersEffect; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import java.util.UUID; @@ -33,7 +32,7 @@ public final class StormfistCrusader extends CardImpl { // At the beginning of your upkeep, each player draws a card and loses 1 life. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new DrawCardAllEffect(1), TargetController.YOU, false + new DrawCardAllEffect(1) ); ability.addEffect(new LoseLifeAllPlayersEffect(StaticValue.get(1), "and loses 1 life")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/s/StranglingGrasp.java b/Mage.Sets/src/mage/cards/s/StranglingGrasp.java index 37d6aba6872..443a465ff54 100644 --- a/Mage.Sets/src/mage/cards/s/StranglingGrasp.java +++ b/Mage.Sets/src/mage/cards/s/StranglingGrasp.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.keyword.EnchantAbility; @@ -49,7 +49,7 @@ public final class StranglingGrasp extends CardImpl { // At the beginning of your upkeep, enchanted permanent's controller sacrifices a nonland permanent and loses 1 life. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new StranglingGraspEffect(), TargetController.YOU, false + new StranglingGraspEffect() )); } diff --git a/Mage.Sets/src/mage/cards/s/Subversion.java b/Mage.Sets/src/mage/cards/s/Subversion.java index 0a8e0dfbd18..69d9a5b7f36 100644 --- a/Mage.Sets/src/mage/cards/s/Subversion.java +++ b/Mage.Sets/src/mage/cards/s/Subversion.java @@ -1,11 +1,10 @@ package mage.cards.s; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.LoseLifeOpponentsYouGainLifeLostEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -18,7 +17,7 @@ public final class Subversion extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}{B}"); // At the beginning of your upkeep, each opponent loses 1 life. You gain life equal to the life lost this way. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsYouGainLifeLostEffect(1), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LoseLifeOpponentsYouGainLifeLostEffect(1))); } private Subversion(final Subversion card) { diff --git a/Mage.Sets/src/mage/cards/s/SulfuricVortex.java b/Mage.Sets/src/mage/cards/s/SulfuricVortex.java index d838e803388..0104a61e7b1 100644 --- a/Mage.Sets/src/mage/cards/s/SulfuricVortex.java +++ b/Mage.Sets/src/mage/cards/s/SulfuricVortex.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.DamageTargetEffect; @@ -28,7 +28,7 @@ public final class SulfuricVortex extends CardImpl { // At the beginning of each player's upkeep, Sulfuric Vortex deals 2 damage to that player. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2, true, "that player"), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new DamageTargetEffect(2, true, "that player"), false)); // If a player would gain life, that player gains no life instead. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SulfuricVortexReplacementEffect())); diff --git a/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java b/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java index 92d977fbda5..5b084b8f603 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java +++ b/Mage.Sets/src/mage/cards/s/SultaiAscendancy.java @@ -1,11 +1,10 @@ package mage.cards.s; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.keyword.SurveilEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -20,7 +19,7 @@ public final class SultaiAscendancy extends CardImpl { // At the beginning of your upkeep, look at the top two cards of your library. // Put any number of them into your graveyard and the rest back on top of your library in any order. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SurveilEffect(2), TargetController.YOU, false + new SurveilEffect(2) )); } diff --git a/Mage.Sets/src/mage/cards/s/SunDroplet.java b/Mage.Sets/src/mage/cards/s/SunDroplet.java index 3830f941642..6cbe9b48cba 100644 --- a/Mage.Sets/src/mage/cards/s/SunDroplet.java +++ b/Mage.Sets/src/mage/cards/s/SunDroplet.java @@ -2,7 +2,7 @@ package mage.cards.s; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.effects.common.DoIfCostPaid; import mage.abilities.effects.common.GainLifeEffect; @@ -15,7 +15,6 @@ import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; import java.util.UUID; @@ -32,9 +31,9 @@ public final class SunDroplet extends CardImpl { // At the beginning of each upkeep, you may remove a charge counter from Sun Droplet. If you do, you gain 1 life. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DoIfCostPaid( + TargetController.ANY, new DoIfCostPaid( new GainLifeEffect(1), new RemoveCountersSourceCost(CounterType.CHARGE.createInstance()) - ), TargetController.EACH_PLAYER, false + ), false )); } diff --git a/Mage.Sets/src/mage/cards/s/SunkenCity.java b/Mage.Sets/src/mage/cards/s/SunkenCity.java index 07f55e4cd37..e1f56ed73ed 100644 --- a/Mage.Sets/src/mage/cards/s/SunkenCity.java +++ b/Mage.Sets/src/mage/cards/s/SunkenCity.java @@ -3,7 +3,7 @@ package mage.cards.s; import java.util.UUID; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -33,7 +32,7 @@ public final class SunkenCity extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{U}"); // At the beginning of your upkeep, sacrifice Sunken City unless you pay {U}{U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}{U}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}{U}")))); // Blue creatures get +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, false))); } diff --git a/Mage.Sets/src/mage/cards/s/SunkenHope.java b/Mage.Sets/src/mage/cards/s/SunkenHope.java index edeee56b2fa..384e0d56350 100644 --- a/Mage.Sets/src/mage/cards/s/SunkenHope.java +++ b/Mage.Sets/src/mage/cards/s/SunkenHope.java @@ -1,7 +1,7 @@ package mage.cards.s; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class SunkenHope extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}"); // At the beginning of each player's upkeep, that player returns a creature they control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SunkenHopeReturnToHandEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new SunkenHopeReturnToHandEffect(), false)); } private SunkenHope(final SunkenHope card) { diff --git a/Mage.Sets/src/mage/cards/t/T45PowerArmor.java b/Mage.Sets/src/mage/cards/t/T45PowerArmor.java index 381484482af..7f3a80de99e 100644 --- a/Mage.Sets/src/mage/cards/t/T45PowerArmor.java +++ b/Mage.Sets/src/mage/cards/t/T45PowerArmor.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.PayEnergyCost; @@ -18,7 +18,6 @@ import mage.choices.ChoiceImpl; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,9 +48,7 @@ public final class T45PowerArmor extends CardImpl { new DoIfCostPaid( new T45PowerArmorEffect(), new PayEnergyCost(1) - ), - TargetController.YOU, - false + ) )); // Equip {3} diff --git a/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java b/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java index 71b32747a3c..948a0ad724a 100644 --- a/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java +++ b/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.ExileXFromYourGraveCost; @@ -44,8 +44,8 @@ public final class TaigamSidisisHand extends CardImpl { // At the beginning of your upkeep, look at the top three cards of your library. // Put one of them into your hand and the rest into your graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new LookLibraryAndPickControllerEffect(3, 1, PutCards.HAND, PutCards.GRAVEYARD), - TargetController.YOU, false)); + new LookLibraryAndPickControllerEffect(3, 1, PutCards.HAND, PutCards.GRAVEYARD) + )); // {B}, {T}, Exile X cards from your graveyard: Target creature gets -X/-X until end of turn. Ability ability = new SimpleActivatedAbility( diff --git a/Mage.Sets/src/mage/cards/t/Takklemaggot.java b/Mage.Sets/src/mage/cards/t/Takklemaggot.java index 55589fc996a..d67eb63a0bd 100644 --- a/Mage.Sets/src/mage/cards/t/Takklemaggot.java +++ b/Mage.Sets/src/mage/cards/t/Takklemaggot.java @@ -3,7 +3,7 @@ package mage.cards.t; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -49,9 +49,9 @@ public final class Takklemaggot extends CardImpl { this.addAbility(new EnchantAbility(auraTarget)); // At the beginning of the upkeep of enchanted creature's controller, put a -0/-1 counter on that creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersAttachedEffect(CounterType.M0M1.createInstance(), "that creature"), - TargetController.CONTROLLER_ATTACHED_TO, false, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + TargetController.CONTROLLER_ATTACHED_TO, new AddCountersAttachedEffect(CounterType.M0M1.createInstance(), "that creature"), + false)); // When enchanted creature dies, that creature's controller chooses a creature that Takklemaggot could enchant. // If they do, return Takklemaggot to the battlefield under your control attached to that creature. diff --git a/Mage.Sets/src/mage/cards/t/TamiyosJournal.java b/Mage.Sets/src/mage/cards/t/TamiyosJournal.java index 0a14bb74bb5..8e5ac103922 100644 --- a/Mage.Sets/src/mage/cards/t/TamiyosJournal.java +++ b/Mage.Sets/src/mage/cards/t/TamiyosJournal.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetCardInLibrary; -import mage.target.common.TargetControlledPermanent; /** * @@ -33,7 +32,7 @@ public final class TamiyosJournal extends CardImpl { this.supertype.add(SuperType.LEGENDARY); // At the beginning of your upkeep, investigate (Create a colorless Clue artifact token with \"{2}, Sacrifice this artifact: Draw a card.\"). - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new InvestigateEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new InvestigateEffect())); // {T}, Sacrifice three Clues: Search your library for a card and put that card into your hand. Then shuffle your library. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false, true), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/t/TangleWire.java b/Mage.Sets/src/mage/cards/t/TangleWire.java index e5cd4370c41..39d89ac7b8c 100644 --- a/Mage.Sets/src/mage/cards/t/TangleWire.java +++ b/Mage.Sets/src/mage/cards/t/TangleWire.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -34,7 +33,7 @@ public final class TangleWire extends CardImpl { // Fading 4 this.addAbility(new FadingAbility(4, this)); // At the beginning of each player's upkeep, that player taps an untapped artifact, creature, or land they control for each fade counter on Tangle Wire. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new TangleWireEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new TangleWireEffect(), false)); } private TangleWire(final TangleWire card) { @@ -100,4 +99,4 @@ class TangleWireEffect extends OneShotEffect { public TangleWireEffect copy() { return new TangleWireEffect(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/Taniwha.java b/Mage.Sets/src/mage/cards/t/Taniwha.java index 610c7ccb0d2..e38f96f0a88 100644 --- a/Mage.Sets/src/mage/cards/t/Taniwha.java +++ b/Mage.Sets/src/mage/cards/t/Taniwha.java @@ -6,7 +6,7 @@ import java.util.List; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.PhaseOutAllEffect; import mage.abilities.keyword.PhasingAbility; @@ -17,7 +17,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -43,7 +42,7 @@ public final class Taniwha extends CardImpl { this.addAbility(PhasingAbility.getInstance()); // At the beginning of your upkeep, all lands you control phase out. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TaniwhaEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TaniwhaEffect())); } private Taniwha(final Taniwha card) { diff --git a/Mage.Sets/src/mage/cards/t/TavernBrawler.java b/Mage.Sets/src/mage/cards/t/TavernBrawler.java index c3314795730..792c2dbb6cc 100644 --- a/Mage.Sets/src/mage/cards/t/TavernBrawler.java +++ b/Mage.Sets/src/mage/cards/t/TavernBrawler.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect; @@ -31,7 +31,7 @@ public final class TavernBrawler extends CardImpl { // Commander creatures you own have "At the beginning of your upkeep, exile the top card of your library. This creature gets +X/+0 until end of turn, where X is that card's mana value. You may play that card this turn." this.addAbility(new SimpleStaticAbility(new GainAbilityAllEffect( new BeginningOfUpkeepTriggeredAbility( - new TavernBrawlerEffect(), TargetController.YOU, false + new TavernBrawlerEffect(), false ), Duration.WhileOnBattlefield, StaticFilters.FILTER_CREATURES_OWNED_COMMANDER ))); } diff --git a/Mage.Sets/src/mage/cards/t/TeferisRealm.java b/Mage.Sets/src/mage/cards/t/TeferisRealm.java index 0886a3b9b37..2c36ca3f4be 100644 --- a/Mage.Sets/src/mage/cards/t/TeferisRealm.java +++ b/Mage.Sets/src/mage/cards/t/TeferisRealm.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.*; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.PhaseOutAllEffect; import mage.cards.CardImpl; @@ -30,7 +30,7 @@ public final class TeferisRealm extends CardImpl { this.supertype.add(SuperType.WORLD); // At the beginning of each player's upkeep, that player chooses artifact, creature, land, or non-Aura enchantment. All nontoken permanents of that type phase out. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TeferisRealmEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new TeferisRealmEffect(), false)); } private TeferisRealm(final TeferisRealm card) { diff --git a/Mage.Sets/src/mage/cards/t/TempOfTheDamned.java b/Mage.Sets/src/mage/cards/t/TempOfTheDamned.java index f20a699f363..1276b2f24b6 100644 --- a/Mage.Sets/src/mage/cards/t/TempOfTheDamned.java +++ b/Mage.Sets/src/mage/cards/t/TempOfTheDamned.java @@ -5,7 +5,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -35,7 +34,7 @@ public final class TempOfTheDamned extends CardImpl { this.addAbility(new AsEntersBattlefieldAbility(new TempOfTheDamnedEffect())); // At the beginning of your upkeep, remove a funk counter from Temp of the Damned. If you can't, sacrifice it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TempOfTheDamnedUpkeepEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TempOfTheDamnedUpkeepEffect())); } private TempOfTheDamned(final TempOfTheDamned card) { diff --git a/Mage.Sets/src/mage/cards/t/TemporalDistortion.java b/Mage.Sets/src/mage/cards/t/TemporalDistortion.java index 771ffcdd748..fb76f0c55d3 100644 --- a/Mage.Sets/src/mage/cards/t/TemporalDistortion.java +++ b/Mage.Sets/src/mage/cards/t/TemporalDistortion.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.abilities.Ability; import mage.abilities.common.BecomesTappedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -44,10 +44,11 @@ public final class TemporalDistortion extends CardImpl { this.addAbility(new BecomesTappedTriggeredAbility(effect, false, filter, true)); // Permanents with hourglass counters on them don't untap during their controllers' untap steps. - this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, filter2))); + this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, filter2) + .setText("each permanent with an hourglass counter on it doesn't untap during its controller's untap step"))); // At the beginning of each player's upkeep, remove all hourglass counters from permanents that player controls. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TemporalDistortionRemovalEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new TemporalDistortionRemovalEffect(), false)); } private TemporalDistortion(final TemporalDistortion card) { diff --git a/Mage.Sets/src/mage/cards/t/TemptingContract.java b/Mage.Sets/src/mage/cards/t/TemptingContract.java index 1cbce2362de..545b23544d0 100644 --- a/Mage.Sets/src/mage/cards/t/TemptingContract.java +++ b/Mage.Sets/src/mage/cards/t/TemptingContract.java @@ -1,13 +1,12 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.token.TreasureToken; import mage.players.Player; @@ -24,7 +23,7 @@ public final class TemptingContract extends CardImpl { // At the beginning of your upkeep, each opponent may create a Treasure token. For each opponent who does, you create a Treasure token. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new TemptingContractEffect(), TargetController.YOU, false + new TemptingContractEffect() )); } diff --git a/Mage.Sets/src/mage/cards/t/TendershootDryad.java b/Mage.Sets/src/mage/cards/t/TendershootDryad.java index a1cce8fd33b..17da3ed05b7 100644 --- a/Mage.Sets/src/mage/cards/t/TendershootDryad.java +++ b/Mage.Sets/src/mage/cards/t/TendershootDryad.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -40,7 +40,7 @@ public final class TendershootDryad extends CardImpl { this.addAbility(new AscendAbility()); // At the beginning of each upkeep, create a 1/1 green Saproling creature token. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SaprolingToken()), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new SaprolingToken()), false)); // Saprolings you control get +2/+2 as long as you have the city's blessing. this.addAbility(new SimpleStaticAbility( diff --git a/Mage.Sets/src/mage/cards/t/TerritorialDispute.java b/Mage.Sets/src/mage/cards/t/TerritorialDispute.java index 4e273c2778f..86b472d109d 100644 --- a/Mage.Sets/src/mage/cards/t/TerritorialDispute.java +++ b/Mage.Sets/src/mage/cards/t/TerritorialDispute.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; @@ -13,13 +13,10 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; import mage.game.events.GameEvent; -import mage.target.common.TargetControlledPermanent; /** * @@ -31,10 +28,9 @@ public final class TerritorialDispute extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{R}{R}"); // At the beginning of your upkeep, sacrifice Territorial Dispute unless you sacrifice a land. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_LAND)), - TargetController.YOU, - false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new SacrificeSourceUnlessPaysEffect(new SacrificeTargetCost(StaticFilters.FILTER_LAND)) + )); // Players can't play lands. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TerritorialDisputeEffect())); diff --git a/Mage.Sets/src/mage/cards/t/TestOfEndurance.java b/Mage.Sets/src/mage/cards/t/TestOfEndurance.java index d7f1ff5fa45..de2584e22eb 100644 --- a/Mage.Sets/src/mage/cards/t/TestOfEndurance.java +++ b/Mage.Sets/src/mage/cards/t/TestOfEndurance.java @@ -4,14 +4,13 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.WinGameSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.game.Game; /** @@ -24,7 +23,7 @@ public final class TestOfEndurance extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}{W}"); // At the beginning of your upkeep, if you have 50 or more life, you win the game. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect(), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new WinGameSourceControllerEffect()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new FiftyOrMoreLifeCondition(), "At the beginning of your upkeep, if you have 50 or more life, you win the game.")); } diff --git a/Mage.Sets/src/mage/cards/t/Tetravus.java b/Mage.Sets/src/mage/cards/t/Tetravus.java index 0112b3c2de1..ee741a58ccc 100644 --- a/Mage.Sets/src/mage/cards/t/Tetravus.java +++ b/Mage.Sets/src/mage/cards/t/Tetravus.java @@ -6,7 +6,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.ExileTargetCost; @@ -20,7 +20,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicate; @@ -55,14 +54,12 @@ public final class Tetravus extends CardImpl { // At the beginning of your upkeep, you may remove any number of +1/+1 counters from Tetravus. If you do, create that many 1/1 colorless Tetravite artifact creature tokens. They each have flying and "This creature can't be enchanted." this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new TetravusCreateTokensEffect(), - TargetController.YOU, true + new TetravusCreateTokensEffect(), true )); // At the beginning of your upkeep, you may exile any number of tokens created with Tetravus. If you do, put that many +1/+1 counters on Tetravus. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new TetravusAddCountersEffect(), - TargetController.YOU, true + new TetravusAddCountersEffect(), true )); } diff --git a/Mage.Sets/src/mage/cards/t/Thallid.java b/Mage.Sets/src/mage/cards/t/Thallid.java index 87f9eb50b93..df0de583db2 100644 --- a/Mage.Sets/src/mage/cards/t/Thallid.java +++ b/Mage.Sets/src/mage/cards/t/Thallid.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.effects.common.CreateTokenEffect; @@ -12,7 +12,6 @@ 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 mage.counters.CounterType; import mage.game.permanent.token.SaprolingToken; @@ -31,7 +30,7 @@ public final class Thallid extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a spore counter on Thallid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Thallid: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); } diff --git a/Mage.Sets/src/mage/cards/t/ThallidDevourer.java b/Mage.Sets/src/mage/cards/t/ThallidDevourer.java index 74c848cfb7d..1fd22ee89e6 100644 --- a/Mage.Sets/src/mage/cards/t/ThallidDevourer.java +++ b/Mage.Sets/src/mage/cards/t/ThallidDevourer.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -32,7 +32,7 @@ public final class ThallidDevourer extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a spore counter on Thallid Devourer. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Thallid Devourer: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), diff --git a/Mage.Sets/src/mage/cards/t/ThallidGerminator.java b/Mage.Sets/src/mage/cards/t/ThallidGerminator.java index d4cdcd42b43..91717bbaa19 100644 --- a/Mage.Sets/src/mage/cards/t/ThallidGerminator.java +++ b/Mage.Sets/src/mage/cards/t/ThallidGerminator.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -35,7 +35,7 @@ public final class ThallidGerminator extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a spore counter on Thallid Germinator. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Thallid Germinator: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); // Sacrifice a Saproling: Target creature gets +1/+1 until end of turn. diff --git a/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java b/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java index 3c3405bbb9c..7a70799488b 100644 --- a/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java +++ b/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.effects.common.CreateTokenEffect; @@ -13,7 +13,6 @@ 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 mage.counters.CounterType; import mage.game.permanent.token.SaprolingToken; @@ -34,7 +33,7 @@ public final class ThallidShellDweller extends CardImpl { // Defender this.addAbility(DefenderAbility.getInstance()); // At the beginning of your upkeep, put a spore counter on Thallid Shell-Dweller. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Thallid Shell-Dweller: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); diff --git a/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java b/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java index 66aefcaf9f7..bff842c0701 100644 --- a/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java +++ b/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -41,7 +41,7 @@ public final class ThassaGodOfTheSea extends CardImpl { // At the beginning of your upkeep, scry 1. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ScryEffect(1, false), TargetController.YOU, false + new ScryEffect(1, false) )); // {1}{U}: Target creature you control can't be blocked this turn. diff --git a/Mage.Sets/src/mage/cards/t/TheArchimandrite.java b/Mage.Sets/src/mage/cards/t/TheArchimandrite.java index 51425d58f0d..9127f3b5ae4 100644 --- a/Mage.Sets/src/mage/cards/t/TheArchimandrite.java +++ b/Mage.Sets/src/mage/cards/t/TheArchimandrite.java @@ -3,7 +3,7 @@ package mage.cards.t; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.GainLifeControllerTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.TapTargetCost; @@ -67,8 +67,7 @@ public final class TheArchimandrite extends CardImpl { // At the beginning of your upkeep, you gain X life, where X is the number of cards in your hand minus 4. this.addAbility(new BeginningOfUpkeepTriggeredAbility( new GainLifeEffect(xValue) - .setText("you gain X life, where X is the number of cards in your hand minus 4"), - TargetController.YOU, false + .setText("you gain X life, where X is the number of cards in your hand minus 4") )); // Whenever you gain life, each Advisor, Artificer, and Monk you control gains vigilance and gets +X/+0 until end of turn, where X is the amount of life you gained. @@ -96,4 +95,4 @@ public final class TheArchimandrite extends CardImpl { public TheArchimandrite copy() { return new TheArchimandrite(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/TheEverflowingWell.java b/Mage.Sets/src/mage/cards/t/TheEverflowingWell.java index 85c39780d6c..fb80a651b85 100644 --- a/Mage.Sets/src/mage/cards/t/TheEverflowingWell.java +++ b/Mage.Sets/src/mage/cards/t/TheEverflowingWell.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.DescendCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; import mage.constants.SuperType; -import mage.constants.TargetController; import java.util.UUID; @@ -39,7 +38,7 @@ public class TheEverflowingWell extends CardImpl { // Descend 8 -- At the beginning of your upkeep, if there are eight or more permanent cards in your graveyard, transform The Everflowing Well. this.addAbility(new TransformAbility()); Ability ability = new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility( - new TransformSourceEffect(), TargetController.YOU, false), + new TransformSourceEffect()), DescendCondition.EIGHT, "At the beginning of your upkeep, if there are eight or more permanent cards in your graveyard, transform {this}."); ability.setAbilityWord(AbilityWord.DESCEND_8).addHint(DescendCondition.getHint()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TheFallen.java b/Mage.Sets/src/mage/cards/t/TheFallen.java index 03c13416787..7a20933fa2b 100644 --- a/Mage.Sets/src/mage/cards/t/TheFallen.java +++ b/Mage.Sets/src/mage/cards/t/TheFallen.java @@ -3,7 +3,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -27,7 +27,7 @@ public final class TheFallen extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, The Fallen deals 1 damage to each opponent it has dealt damage to this game. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TheFallenEffect(), TargetController.YOU, false), new TheFallenWatcher()); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TheFallenEffect()), new TheFallenWatcher()); } private TheFallen(final TheFallen card) { diff --git a/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java b/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java index e84c2af039c..fbb1b849059 100644 --- a/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java +++ b/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.common.DrawCardSourceControllerEffect; @@ -15,11 +15,9 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeGroupEvent; -import mage.target.common.TargetControlledPermanent; /** * @@ -39,7 +37,7 @@ public final class TheGitrogMonster extends CardImpl { this.addAbility(DeathtouchAbility.getInstance()); // At the beginning of your upkeep, sacrifice The Gitrog Monster unless you sacrifice a land. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect( - new SacrificeTargetCost(StaticFilters.FILTER_LAND)), TargetController.YOU, false)); + new SacrificeTargetCost(StaticFilters.FILTER_LAND)))); // You may play an additional land on each of your turns. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/t/TheMagicMirror.java b/Mage.Sets/src/mage/cards/t/TheMagicMirror.java index 215e96df7aa..ee4341524ab 100644 --- a/Mage.Sets/src/mage/cards/t/TheMagicMirror.java +++ b/Mage.Sets/src/mage/cards/t/TheMagicMirror.java @@ -2,7 +2,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; @@ -44,8 +44,8 @@ public final class TheMagicMirror extends CardImpl { // At the beginning of your upkeep, put a knowledge counter on The Magic Mirror, then draw a card for each knowledge counter on The Magic Mirror. ability = new BeginningOfUpkeepTriggeredAbility( new AddCountersSourceEffect(CounterType.KNOWLEDGE.createInstance()) - .setText("put a knowledge counter on {this},"), - TargetController.YOU, false); + .setText("put a knowledge counter on {this},") + ); ability.addEffect(new DrawCardSourceControllerEffect(new CountersSourceCount(CounterType.KNOWLEDGE)).concatBy("then")); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TheOneRing.java b/Mage.Sets/src/mage/cards/t/TheOneRing.java index 27e4e589d6b..d587e77731a 100644 --- a/Mage.Sets/src/mage/cards/t/TheOneRing.java +++ b/Mage.Sets/src/mage/cards/t/TheOneRing.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.CastFromEverywhereSourceCondition; @@ -20,7 +20,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.counters.CounterType; import java.util.UUID; @@ -50,7 +49,7 @@ public final class TheOneRing extends CardImpl { // At the beginning of your upkeep, you lose 1 life for each burden counter on The One Ring. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new LoseLifeSourceControllerEffect(xValue), TargetController.YOU, false + new LoseLifeSourceControllerEffect(xValue) )); // {T}: Put a burden counter on The One Ring, then draw a card for each burden counter on The One Ring. diff --git a/Mage.Sets/src/mage/cards/t/TheRuinousPowers.java b/Mage.Sets/src/mage/cards/t/TheRuinousPowers.java index 8b8383956bc..ffed1c3ef87 100644 --- a/Mage.Sets/src/mage/cards/t/TheRuinousPowers.java +++ b/Mage.Sets/src/mage/cards/t/TheRuinousPowers.java @@ -5,7 +5,7 @@ import java.util.*; import mage.MageIdentifier; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.*; @@ -28,7 +28,7 @@ public final class TheRuinousPowers extends CardImpl { // At the beginning of your upkeep, choose an opponent at random. Exile the top card of that player's library. // Until end of turn, you may play that card and you may spend mana as though it were mana of any color to cast it. // When you cast a spell this way, its owner loses life equal to its mana value. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new TheRuinousPowersEffect(), TargetController.YOU, false) + Ability ability = new BeginningOfUpkeepTriggeredAbility(new TheRuinousPowersEffect()) .setIdentifier(MageIdentifier.TheRuinousPowersAlternateCast); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TheScarabGod.java b/Mage.Sets/src/mage/cards/t/TheScarabGod.java index 424d2b2dd6c..014b5e2b01d 100644 --- a/Mage.Sets/src/mage/cards/t/TheScarabGod.java +++ b/Mage.Sets/src/mage/cards/t/TheScarabGod.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; @@ -51,7 +51,7 @@ public final class TheScarabGod extends CardImpl { this.toughness = new MageInt(5); // At the beginning of your upkeep, each opponent loses X life and you scry X, where X is the number of Zombies you control. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TheScarabGodEffect(xValue), TargetController.YOU, false).addHint(hint)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TheScarabGodEffect(xValue)).addHint(hint)); // {2}{U}{B}: Exile target creature card from a graveyard. Create a token that's a copy of it, except it's a 4/4 black Zombie. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TheScarabGodEffect2(), new ManaCostsImpl<>("{2}{U}{B}")); diff --git a/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java b/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java index 9ea06d18459..1db432e7b9f 100644 --- a/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java +++ b/Mage.Sets/src/mage/cards/t/TheTabernacleAtPendrellVale.java @@ -1,6 +1,6 @@ package mage.cards.t; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.DestroySourceEffect; @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import java.util.UUID; @@ -31,8 +30,7 @@ public final class TheTabernacleAtPendrellVale extends CardImpl { new GainAbilityAllEffect(new BeginningOfUpkeepTriggeredAbility( new DoIfCostPaid( new InfoEffect(""), new DestroySourceEffect(), new GenericManaCost(1) - ).setText("destroy this creature unless you pay {1}"), - TargetController.YOU, false + ).setText("destroy this creature unless you pay {1}"), false ), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES) )); } diff --git a/Mage.Sets/src/mage/cards/t/TheTemporalAnchor.java b/Mage.Sets/src/mage/cards/t/TheTemporalAnchor.java index 1057461fea9..6e03578750f 100644 --- a/Mage.Sets/src/mage/cards/t/TheTemporalAnchor.java +++ b/Mage.Sets/src/mage/cards/t/TheTemporalAnchor.java @@ -3,7 +3,7 @@ package mage.cards.t; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.AsThoughEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -34,7 +34,7 @@ public final class TheTemporalAnchor extends CardImpl { // At the beginning of your upkeep, scry 2. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ScryEffect(2, false), TargetController.YOU, false + new ScryEffect(2, false) )); // Whenever you choose to put one or more cards on the bottom of your library while scrying, exile that many cards from the bottom of your library. diff --git a/Mage.Sets/src/mage/cards/t/TheaterOfHorrors.java b/Mage.Sets/src/mage/cards/t/TheaterOfHorrors.java index d17b81bd724..48e096175b3 100644 --- a/Mage.Sets/src/mage/cards/t/TheaterOfHorrors.java +++ b/Mage.Sets/src/mage/cards/t/TheaterOfHorrors.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -31,8 +31,7 @@ public final class TheaterOfHorrors extends CardImpl { // At the beginning of your upkeep, exile the top card of your library. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ExileCardsFromTopOfLibraryControllerEffect(1, true), - TargetController.YOU, false + new ExileCardsFromTopOfLibraryControllerEffect(1, true) )); // During your turn, if an opponent lost life this turn, you may play cards exiled with Theater of Horrors. diff --git a/Mage.Sets/src/mage/cards/t/ThelonsChant.java b/Mage.Sets/src/mage/cards/t/ThelonsChant.java index bb9f6ab2e31..18d4387d784 100644 --- a/Mage.Sets/src/mage/cards/t/ThelonsChant.java +++ b/Mage.Sets/src/mage/cards/t/ThelonsChant.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -33,7 +33,7 @@ public final class ThelonsChant extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}{G}"); // At the beginning of your upkeep, sacrifice Thelon's Chant unless you pay {G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{G}")))); // Whenever a player puts a Swamp onto the battlefield, Thelon's Chant deals 3 damage to that player unless they put a -1/-1 counter on a creature they control. this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new ThelonsChantEffect(), filter, false, SetTargetPointer.PLAYER diff --git a/Mage.Sets/src/mage/cards/t/ThelonsCurse.java b/Mage.Sets/src/mage/cards/t/ThelonsCurse.java index 294f87f41a1..f53d5f38a40 100644 --- a/Mage.Sets/src/mage/cards/t/ThelonsCurse.java +++ b/Mage.Sets/src/mage/cards/t/ThelonsCurse.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -15,7 +15,6 @@ import mage.constants.CardType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -45,7 +44,7 @@ public final class ThelonsCurse extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, filterCreature))); // At the beginning of each player's upkeep, that player may choose any number of tapped blue creatures they control and pay {U} for each creature chosen this way. If the player does, untap those creatures. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ThelonsCurseEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new ThelonsCurseEffect(), false)); } private ThelonsCurse(final ThelonsCurse card) { diff --git a/Mage.Sets/src/mage/cards/t/ThievingAmalgam.java b/Mage.Sets/src/mage/cards/t/ThievingAmalgam.java index 17ed4d3a68e..908693cd6aa 100644 --- a/Mage.Sets/src/mage/cards/t/ThievingAmalgam.java +++ b/Mage.Sets/src/mage/cards/t/ThievingAmalgam.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -43,7 +43,7 @@ public final class ThievingAmalgam extends CardImpl { // At the beginning of each opponent's upkeep, you manifest the top card of that player's library. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ThievingAmalgamManifestEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new ThievingAmalgamManifestEffect(), false )); // Whenever a creature you control but don't own dies, its owner loses 2 life and you gain 2 life. diff --git a/Mage.Sets/src/mage/cards/t/ThinkTank.java b/Mage.Sets/src/mage/cards/t/ThinkTank.java index 4deff1094e2..a71be730fd5 100644 --- a/Mage.Sets/src/mage/cards/t/ThinkTank.java +++ b/Mage.Sets/src/mage/cards/t/ThinkTank.java @@ -1,11 +1,10 @@ package mage.cards.t; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.keyword.SurveilEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import java.util.UUID; @@ -19,7 +18,7 @@ public final class ThinkTank extends CardImpl { // At the beginning of your upkeep, look at the top card of your library. You may put that card into your graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SurveilEffect(1), TargetController.YOU, false + new SurveilEffect(1) )); } diff --git a/Mage.Sets/src/mage/cards/t/Thirst.java b/Mage.Sets/src/mage/cards/t/Thirst.java index 99cd9aaaf74..8341b8597a3 100644 --- a/Mage.Sets/src/mage/cards/t/Thirst.java +++ b/Mage.Sets/src/mage/cards/t/Thirst.java @@ -2,7 +2,7 @@ package mage.cards.t; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -16,7 +16,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -41,8 +40,8 @@ public final class Thirst extends CardImpl { // Enchanted creature doesn't untap during its controller's untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect())); // At the beginning of your upkeep, sacrifice Thirst unless you pay {U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{U}")) + )); } private Thirst(final Thirst card) { diff --git a/Mage.Sets/src/mage/cards/t/ThopterAssembly.java b/Mage.Sets/src/mage/cards/t/ThopterAssembly.java index 3effabdba55..19c2a15cc72 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterAssembly.java +++ b/Mage.Sets/src/mage/cards/t/ThopterAssembly.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.permanent.token.ThopterColorlessToken; @@ -47,8 +46,7 @@ public final class ThopterAssembly extends CardImpl { // At the beginning of your upkeep, if you control no Thopters other than Thopter Assembly, return Thopter Assembly to its owner's hand and create five 1/1 colorless Thopter artifact creature tokens with flying. Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new ReturnToHandSourceEffect(true), - TargetController.YOU, false + new ReturnToHandSourceEffect(true), false ), condition, "At the beginning of your upkeep, " + "if you control no Thopters other than {this}, " + "return {this} to its owner's hand and create five 1/1 colorless " + diff --git a/Mage.Sets/src/mage/cards/t/ThornThallid.java b/Mage.Sets/src/mage/cards/t/ThornThallid.java index 61f4cadeb7c..578b61c2c9a 100644 --- a/Mage.Sets/src/mage/cards/t/ThornThallid.java +++ b/Mage.Sets/src/mage/cards/t/ThornThallid.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.effects.common.DamageTargetEffect; @@ -13,7 +13,6 @@ 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 mage.counters.CounterType; import mage.target.common.TargetAnyTarget; @@ -31,7 +30,7 @@ public final class ThornThallid extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a spore counter on Thorn Thallid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Thorn Thallid: Thorn Thallid deals 1 damage to any target. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1, "it"), diff --git a/Mage.Sets/src/mage/cards/t/ThoughtboundPrimoc.java b/Mage.Sets/src/mage/cards/t/ThoughtboundPrimoc.java index b023ad3df81..f61dfdb8d02 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtboundPrimoc.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtboundPrimoc.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.ContinuousEffect; @@ -38,7 +38,7 @@ public final class ThoughtboundPrimoc extends CardImpl { // At the beginning of your upkeep, if a player controls more Wizards than each other player, // the player who controls the most Wizards gains control of Thoughtbound Primoc. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ThoughtboundPrimocEffect(), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new ThoughtboundPrimocEffect()), OnePlayerHasTheMostWizards.instance, "At the beginning of your upkeep, if a player controls more Wizards than each other player, the player who controls the most Wizards gains control of {this}" )); diff --git a/Mage.Sets/src/mage/cards/t/ThranTurbine.java b/Mage.Sets/src/mage/cards/t/ThranTurbine.java index b0fcdbd7040..7e5114c249d 100644 --- a/Mage.Sets/src/mage/cards/t/ThranTurbine.java +++ b/Mage.Sets/src/mage/cards/t/ThranTurbine.java @@ -4,7 +4,7 @@ import mage.ConditionalMana; import mage.Mana; import mage.abilities.Ability; import mage.abilities.SpellAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.Cost; import mage.abilities.effects.OneShotEffect; @@ -15,10 +15,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; -import mage.game.stack.Spell; import mage.players.Player; import java.util.UUID; @@ -34,8 +31,8 @@ public final class ThranTurbine extends CardImpl { // At the beginning of your upkeep, you may add {C} or {C}{C}. // You can't spend this mana to cast spells. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new ThranTurbineEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new ThranTurbineEffect(), true)); } private ThranTurbine(final ThranTurbine card) { diff --git a/Mage.Sets/src/mage/cards/t/Thumbscrews.java b/Mage.Sets/src/mage/cards/t/Thumbscrews.java index 6bd1dac5bd3..a022de33325 100644 --- a/Mage.Sets/src/mage/cards/t/Thumbscrews.java +++ b/Mage.Sets/src/mage/cards/t/Thumbscrews.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; @@ -11,8 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ComparisonType; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.target.common.TargetOpponentOrPlaneswalker; /** @@ -25,8 +23,8 @@ public final class Thumbscrews extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); // At the beginning of your upkeep, if you have five or more cards in hand, Thumbscrews deals 1 damage to target opponent. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new DamageTargetEffect(1), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility( + new DamageTargetEffect(1)); ability.addTarget(new TargetOpponentOrPlaneswalker()); CardsInHandCondition condition = new CardsInHandCondition(ComparisonType.MORE_THAN, 4); this.addAbility(new ConditionalInterveningIfTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/t/TidalForce.java b/Mage.Sets/src/mage/cards/t/TidalForce.java index f0445187a3d..7b02d6d3418 100644 --- a/Mage.Sets/src/mage/cards/t/TidalForce.java +++ b/Mage.Sets/src/mage/cards/t/TidalForce.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -27,7 +27,7 @@ public final class TidalForce extends CardImpl { this.toughness = new MageInt(7); // At the beginning of each upkeep, you may tap or untap target permanent. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new MayTapOrUntapTargetEffect(), TargetController.ANY, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new MayTapOrUntapTargetEffect(), false); ability.addTarget(new TargetPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TidalInfluence.java b/Mage.Sets/src/mage/cards/t/TidalInfluence.java index e14fbe76dfc..e6b62405116 100644 --- a/Mage.Sets/src/mage/cards/t/TidalInfluence.java +++ b/Mage.Sets/src/mage/cards/t/TidalInfluence.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.ObjectColor; import mage.abilities.StateTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.CastOnlyIfConditionIsTrueAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleStaticAbility; @@ -56,8 +56,8 @@ public final class TidalInfluence extends CardImpl { "with a tide counter on it.")); // At the beginning of your upkeep, put a tide counter on Tidal Influence. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIDE.createInstance()), - TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIDE.createInstance()) + )); // As long as there is exactly one tide counter on Tidal Influence, all blue creatures get -2/-0. this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( diff --git a/Mage.Sets/src/mage/cards/t/TimberlineRidge.java b/Mage.Sets/src/mage/cards/t/TimberlineRidge.java index 86a5005d7fe..7a0ba66a211 100644 --- a/Mage.Sets/src/mage/cards/t/TimberlineRidge.java +++ b/Mage.Sets/src/mage/cards/t/TimberlineRidge.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; @@ -17,7 +17,6 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -37,7 +36,7 @@ public final class TimberlineRidge extends CardImpl { Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); this.addAbility(ability); // At the beginning of your upkeep, remove a depletion counter from Timberline Ridge. - Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()), TargetController.YOU, false); + Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance())); this.addAbility(ability2); // {tap}: Add {R} or {G}. Put a depletion counter on Timberline Ridge. Ability ability3 = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(1), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/t/TimeBomb.java b/Mage.Sets/src/mage/cards/t/TimeBomb.java index 8f9471f6cee..426b656d5d8 100644 --- a/Mage.Sets/src/mage/cards/t/TimeBomb.java +++ b/Mage.Sets/src/mage/cards/t/TimeBomb.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; @@ -15,7 +15,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -30,7 +29,7 @@ public final class TimeBomb extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); // At the beginning of your upkeep, put a time counter on Time Bomb. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance(), true), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.TIME.createInstance(), true))); // {1}, {tap}, Sacrifice Time Bomb: Time Bomb deals damage equal to the number of time counters on it to each creature and each player. Effect effect = new DamageEverythingEffect(new CountersSourceCount(CounterType.TIME), new FilterCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/t/Timesifter.java b/Mage.Sets/src/mage/cards/t/Timesifter.java index 68c4f799b3d..5c98cdb79e8 100644 --- a/Mage.Sets/src/mage/cards/t/Timesifter.java +++ b/Mage.Sets/src/mage/cards/t/Timesifter.java @@ -5,7 +5,7 @@ import java.util.ArrayList; import java.util.List; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.turn.AddExtraTurnTargetEffect; @@ -29,7 +29,7 @@ public final class Timesifter extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}"); // At the beginning of each upkeep, each player exiles the top card of their library. The player who exiled the card with the highest converted mana cost takes an extra turn after this one. If two or more players' cards are tied for highest cost, the tied players repeat this process until the tie is broken. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TimesifterEffect(), TargetController.EACH_PLAYER, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new TimesifterEffect(), false)); } private Timesifter(final Timesifter card) { diff --git a/Mage.Sets/src/mage/cards/t/TitaniaVoiceOfGaea.java b/Mage.Sets/src/mage/cards/t/TitaniaVoiceOfGaea.java index e7248fc8aa8..c7f8c3e5263 100644 --- a/Mage.Sets/src/mage/cards/t/TitaniaVoiceOfGaea.java +++ b/Mage.Sets/src/mage/cards/t/TitaniaVoiceOfGaea.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.CompoundCondition; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; @@ -53,7 +53,7 @@ public final class TitaniaVoiceOfGaea extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility(new MeldEffect( "Argoth, Sanctum of Nature", "Titania, Gaea Incarnate" - ), TargetController.YOU, false), condition, "At the beginning of your upkeep, " + + )), condition, "At the beginning of your upkeep, " + "if there are four or more land cards in your graveyard and you both own and control {this} " + "and a land named Argoth, Sanctum of Nature, exile them, then meld them into Titania, Gaea Incarnate." )); diff --git a/Mage.Sets/src/mage/cards/t/TitansNest.java b/Mage.Sets/src/mage/cards/t/TitansNest.java index b7fd9f27181..75179e25c33 100644 --- a/Mage.Sets/src/mage/cards/t/TitansNest.java +++ b/Mage.Sets/src/mage/cards/t/TitansNest.java @@ -5,7 +5,7 @@ import mage.MageObject; import mage.Mana; import mage.abilities.Ability; import mage.abilities.SpellAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.costs.mana.ManaCosts; @@ -18,7 +18,6 @@ import mage.abilities.mana.conditional.ManaCondition; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; import mage.target.common.TargetCardInYourGraveyard; @@ -35,7 +34,7 @@ public final class TitansNest extends CardImpl { // At the beginning of your upkeep, look at the top card of your library. You may put that card into your graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SurveilEffect(1), TargetController.YOU, false + new SurveilEffect(1) )); // Exile a card from your graveyard: Add {C}. Spend this mana only to cast a colored spell without {X} in its mana cost. diff --git a/Mage.Sets/src/mage/cards/t/TombstoneStairwell.java b/Mage.Sets/src/mage/cards/t/TombstoneStairwell.java index 8e0978d305c..d07567b164e 100644 --- a/Mage.Sets/src/mage/cards/t/TombstoneStairwell.java +++ b/Mage.Sets/src/mage/cards/t/TombstoneStairwell.java @@ -5,7 +5,7 @@ import java.util.Set; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; @@ -42,7 +42,7 @@ public final class TombstoneStairwell extends CardImpl { this.addAbility(new CumulativeUpkeepAbility(new ManaCostsImpl<>("{1}{B}"))); // At the beginning of each upkeep, if Tombstone Stairwell is on the battlefield, each player creates a 2/2 black Zombie creature token with haste named Tombspawn for each creature card in their graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TombstoneStairwellCreateTokenEffect(), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new TombstoneStairwellCreateTokenEffect(), false)); // At the beginning of each end step or when Tombstone Stairwell leaves the battlefield, destroy all tokens created with Tombstone Stairwell. They can't be regenerated. this.addAbility(new TombstoneStairwellTriggeredAbility()); @@ -158,7 +158,7 @@ class TombstoneStairwellTriggeredAbility extends TriggeredAbilityImpl { @Override public String getRule() { - return "At the beginning of each end step or when {this} leaves the battlefield, destroy all tokens created with {this}. They can't be regenerated."; + return "At the beginning of each end step and when {this} leaves the battlefield, destroy all tokens created with {this}. They can't be regenerated."; } } diff --git a/Mage.Sets/src/mage/cards/t/TorchSong.java b/Mage.Sets/src/mage/cards/t/TorchSong.java index 6feb0bd532a..d85b6f9c8f7 100644 --- a/Mage.Sets/src/mage/cards/t/TorchSong.java +++ b/Mage.Sets/src/mage/cards/t/TorchSong.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -13,7 +13,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetAnyTarget; @@ -28,8 +27,8 @@ public final class TorchSong extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); // At the beginning of your upkeep, you may put a verse counter on Torch Song. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // {2}{R}, Sacrifice Torch Song: Torch Song deals X damage to any target, where X is the number of verse counters on Torch Song. Ability ability = new SimpleActivatedAbility( diff --git a/Mage.Sets/src/mage/cards/t/TormentOfScarabs.java b/Mage.Sets/src/mage/cards/t/TormentOfScarabs.java index 2b97347146a..80b36f9432f 100644 --- a/Mage.Sets/src/mage/cards/t/TormentOfScarabs.java +++ b/Mage.Sets/src/mage/cards/t/TormentOfScarabs.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.OrCost; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -46,7 +46,7 @@ public final class TormentOfScarabs extends CardImpl { // At the beginning of enchanted player's upkeep, that player loses 3 life unless they sacrifice a nonland permanent or discards a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DoUnlessTargetPlayerOrTargetsControllerPaysEffect( + TargetController.ENCHANTED, new DoUnlessTargetPlayerOrTargetsControllerPaysEffect( new LoseLifeTargetEffect(3), new OrCost( "sacrifice a nonland permanent or discard a card", @@ -54,7 +54,7 @@ public final class TormentOfScarabs extends CardImpl { new DiscardCardCost() ), "Sacrifice a nonland permanent or discard a card to prevent losing 3 life?" - ), TargetController.ENCHANTED, false + ), false )); } @@ -66,4 +66,4 @@ public final class TormentOfScarabs extends CardImpl { public TormentOfScarabs copy() { return new TormentOfScarabs(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/TortureChamber.java b/Mage.Sets/src/mage/cards/t/TortureChamber.java index 55476cd7332..3cff4153cb2 100644 --- a/Mage.Sets/src/mage/cards/t/TortureChamber.java +++ b/Mage.Sets/src/mage/cards/t/TortureChamber.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfYourEndStepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.Cost; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -33,7 +32,7 @@ public final class TortureChamber extends CardImpl { // At the beginning of your upkeep, put a pain counter on Torture Chamber. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.PAIN.createInstance()), TargetController.YOU, false + new AddCountersSourceEffect(CounterType.PAIN.createInstance()) )); // At the beginning of your end step, Torture Chamber deals damage to you equal to the number of pain counters on it. diff --git a/Mage.Sets/src/mage/cards/t/TouchOfTheEternal.java b/Mage.Sets/src/mage/cards/t/TouchOfTheEternal.java index d1c421fda89..5f2a1c03569 100644 --- a/Mage.Sets/src/mage/cards/t/TouchOfTheEternal.java +++ b/Mage.Sets/src/mage/cards/t/TouchOfTheEternal.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -23,7 +23,7 @@ public final class TouchOfTheEternal extends CardImpl { // At the beginning of your upkeep, count the number of permanents you control. Your life total becomes that number. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new TouchOfTheEternalEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TouchOfTheEternalEffect())); } private TouchOfTheEternal(final TouchOfTheEternal card) { diff --git a/Mage.Sets/src/mage/cards/t/TourachsChant.java b/Mage.Sets/src/mage/cards/t/TourachsChant.java index 9f7fe6f4b25..9ff2449b833 100644 --- a/Mage.Sets/src/mage/cards/t/TourachsChant.java +++ b/Mage.Sets/src/mage/cards/t/TourachsChant.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -33,7 +33,7 @@ public final class TourachsChant extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{B}"); // At the beginning of your upkeep, sacrifice Tourach's Chant unless you pay {B}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}")))); // Whenever a player puts a Forest onto the battlefield, Tourach's Chant deals 3 damage to that player unless they put a -1/-1 counter on a creature they control. this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new TourachsChantEffect(), filter, false, SetTargetPointer.PLAYER diff --git a/Mage.Sets/src/mage/cards/t/TourachsGate.java b/Mage.Sets/src/mage/cards/t/TourachsGate.java index 25230a8a1e6..c2b32c1fefb 100644 --- a/Mage.Sets/src/mage/cards/t/TourachsGate.java +++ b/Mage.Sets/src/mage/cards/t/TourachsGate.java @@ -3,7 +3,7 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.AttachedToMatchesFilterCondition; import mage.abilities.costs.Cost; @@ -73,7 +73,7 @@ public final class TourachsGate extends CardImpl { new SacrificeTargetCost(filterThrull))); // At the beginning of your upkeep, remove a time counter from Tourach's Gate. If there are no time counters on Tourach's Gate, sacrifice it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TourachsGateUpkeepEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new TourachsGateUpkeepEffect())); // Tap enchanted land: Attacking creatures you control get +2/-1 until end of turn. Activate this ability only if enchanted land is untapped. Cost cost = new TapAttachedCost(); diff --git a/Mage.Sets/src/mage/cards/t/TovolarDireOverlord.java b/Mage.Sets/src/mage/cards/t/TovolarDireOverlord.java index 77faa7132e1..caed280491a 100644 --- a/Mage.Sets/src/mage/cards/t/TovolarDireOverlord.java +++ b/Mage.Sets/src/mage/cards/t/TovolarDireOverlord.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DealsDamageToAPlayerAllTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; @@ -62,7 +62,7 @@ public final class TovolarDireOverlord extends CardImpl { // At the beginning of your upkeep, if you control three or more Wolves and/or Werewolves, it becomes night. Then transform any number of Human Werewolves you control. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new TovolarDireOverlordEffect(), TargetController.YOU, false + new TovolarDireOverlordEffect(), false ), condition, "At the beginning of your upkeep, if you control three or more Wolves " + "and/or Werewolves, it becomes night. Then transform any number of Human Werewolves you control." )); diff --git a/Mage.Sets/src/mage/cards/t/TradeCaravan.java b/Mage.Sets/src/mage/cards/t/TradeCaravan.java index ccf70657fde..a5d4e318f70 100644 --- a/Mage.Sets/src/mage/cards/t/TradeCaravan.java +++ b/Mage.Sets/src/mage/cards/t/TradeCaravan.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.CompoundCondition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.condition.common.OnOpponentsTurnCondition; @@ -18,7 +18,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterLandPermanent; @@ -44,7 +43,7 @@ public final class TradeCaravan extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a currency counter on Trade Caravan. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CURRENCY.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.CURRENCY.createInstance()))); // Remove two currency counters from Trade Caravan: Untap target basic land. Activate this ability only during an opponent's upkeep. Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new RemoveCountersSourceCost(CounterType.CURRENCY.createInstance(2)), new CompoundCondition(OnOpponentsTurnCondition.instance, new IsStepCondition(PhaseStep.UPKEEP, false)), diff --git a/Mage.Sets/src/mage/cards/t/TravelingPlague.java b/Mage.Sets/src/mage/cards/t/TravelingPlague.java index ead24bdb15d..a252c053b11 100644 --- a/Mage.Sets/src/mage/cards/t/TravelingPlague.java +++ b/Mage.Sets/src/mage/cards/t/TravelingPlague.java @@ -2,7 +2,7 @@ package mage.cards.t; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.MultipliedValue; @@ -47,7 +47,7 @@ public final class TravelingPlague extends CardImpl { this.addAbility(ability); // At the beginning of each upkeep, put a plague counter on Traveling Plague. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.PLAGUE.createInstance()), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new AddCountersSourceEffect(CounterType.PLAGUE.createInstance()), false)); // Enchanted creature gets -1/-1 for each plague counter on Traveling Plague. DynamicValue boostValue = new MultipliedValue(new CountersSourceCount(CounterType.PLAGUE), -1); diff --git a/Mage.Sets/src/mage/cards/t/Triskaidekaphile.java b/Mage.Sets/src/mage/cards/t/Triskaidekaphile.java index e48f863bdff..4ba44009dff 100644 --- a/Mage.Sets/src/mage/cards/t/Triskaidekaphile.java +++ b/Mage.Sets/src/mage/cards/t/Triskaidekaphile.java @@ -1,7 +1,7 @@ package mage.cards.t; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.Condition; @@ -41,7 +41,7 @@ public final class Triskaidekaphile extends CardImpl { // At the beginning of your upkeep, if you have exactly thirteen cards in your hand, you win the game. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new WinGameSourceControllerEffect(), TargetController.YOU, false + new WinGameSourceControllerEffect(), false ), condition, "At the beginning of your upkeep, " + "if you have exactly thirteen cards in your hand, you win the game." )); diff --git a/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java b/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java index f11dff073fb..56990c197fb 100644 --- a/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java +++ b/Mage.Sets/src/mage/cards/t/Triskaidekaphobia.java @@ -4,13 +4,12 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; import mage.players.PlayerList; @@ -26,7 +25,7 @@ public final class Triskaidekaphobia extends CardImpl { // At the beginning of your upkeep, choose one - Each player with exactly 13 life loses the game, then each player gains 1 life. // Each player with exactly 13 life loses the game, then each player loses 1 life. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new TriskaidekaphobiaGainLifeEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new TriskaidekaphobiaGainLifeEffect()); Mode mode = new Mode(new TriskaidekaphobiaLoseLifeEffect()); ability.addMode(mode); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java b/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java index 89f56d7ed19..ccd5f1f8bda 100644 --- a/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java +++ b/Mage.Sets/src/mage/cards/t/TriumphOfCruelty.java @@ -3,14 +3,13 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.ControlsCreatureGreatestPowerCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.target.Target; import mage.target.common.TargetOpponent; @@ -27,7 +26,7 @@ public final class TriumphOfCruelty extends CardImpl { // At the beginning of your upkeep, target opponent discards a card if you control the creature with the greatest power or tied for the greatest power. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1)); Target target = new TargetOpponent(); ability.addTarget(target); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, ControlsCreatureGreatestPowerCondition.instance, ruleText)); diff --git a/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java b/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java index b1d894efa54..c97e692a030 100644 --- a/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java +++ b/Mage.Sets/src/mage/cards/t/TriumphOfFerocity.java @@ -3,14 +3,13 @@ package mage.cards.t; import java.util.UUID; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.ControlsCreatureGreatestPowerCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; /** * @author noxx @@ -24,7 +23,7 @@ public final class TriumphOfFerocity extends CardImpl { // At the beginning of your upkeep, draw a card if you control the creature with the greatest power or tied for the greatest power. - TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1), TargetController.YOU, false); + TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardSourceControllerEffect(1)); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, ControlsCreatureGreatestPowerCondition.instance, ruleText)); } diff --git a/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java b/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java index b5d96889122..bf978936665 100644 --- a/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java +++ b/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java @@ -4,7 +4,7 @@ package mage.cards.t; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -44,7 +43,7 @@ public final class TrustedAdvisor extends CardImpl { new MaximumHandSizeControllerEffect(2, Duration.WhileOnBattlefield, HandSizeModification.INCREASE))); // At the beginning of your upkeep, return a blue creature you control to its owner's hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter))); } diff --git a/Mage.Sets/src/mage/cards/t/TwilightProphet.java b/Mage.Sets/src/mage/cards/t/TwilightProphet.java index 08affef2d09..565213a33fa 100644 --- a/Mage.Sets/src/mage/cards/t/TwilightProphet.java +++ b/Mage.Sets/src/mage/cards/t/TwilightProphet.java @@ -3,7 +3,7 @@ package mage.cards.t; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -43,7 +43,7 @@ public final class TwilightProphet extends CardImpl { // At the beginning of your upkeep, if you have the city's blessing, reveal the top card of your library and put it into your hand. // Each opponent loses X life and you gain X life, where X is that card's converted mana cost. this.addAbility(new ConditionalInterveningIfTriggeredAbility(new BeginningOfUpkeepTriggeredAbility( - new TwilightProphetEffect(), TargetController.YOU, false), CitysBlessingCondition.instance, + new TwilightProphetEffect()), CitysBlessingCondition.instance, "At the beginning of your upkeep, if you have the city's blessing, reveal the top card of your library and put it into your hand. " + "Each opponent loses X life and you gain X life, where X is that card's mana value.") .addHint(CitysBlessingHint.instance)); diff --git a/Mage.Sets/src/mage/cards/u/Umbilicus.java b/Mage.Sets/src/mage/cards/u/Umbilicus.java index 820e5e3e6fc..8300bf4fee6 100644 --- a/Mage.Sets/src/mage/cards/u/Umbilicus.java +++ b/Mage.Sets/src/mage/cards/u/Umbilicus.java @@ -2,7 +2,7 @@ package mage.cards.u; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class Umbilicus extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // At the beginning of each player's upkeep, that player returns a permanent they control to its owner's hand unless they pay 2 life. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new BloodClockEffect(), TargetController.ANY, false, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new BloodClockEffect(), false); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/u/UndergrowthRecon.java b/Mage.Sets/src/mage/cards/u/UndergrowthRecon.java index 0de666b691f..70fab153887 100644 --- a/Mage.Sets/src/mage/cards/u/UndergrowthRecon.java +++ b/Mage.Sets/src/mage/cards/u/UndergrowthRecon.java @@ -1,12 +1,11 @@ package mage.cards.u; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.common.FilterLandCard; import mage.target.common.TargetCardInYourGraveyard; @@ -25,7 +24,7 @@ public final class UndergrowthRecon extends CardImpl { // At the beginning of your upkeep, return target land card from your graveyard to the battlefield tapped. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardToBattlefieldTargetEffect(true), TargetController.YOU, false + new ReturnFromGraveyardToBattlefieldTargetEffect(true) ); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/u/UnnaturalHunger.java b/Mage.Sets/src/mage/cards/u/UnnaturalHunger.java index b6abb53c303..697e868f8b7 100644 --- a/Mage.Sets/src/mage/cards/u/UnnaturalHunger.java +++ b/Mage.Sets/src/mage/cards/u/UnnaturalHunger.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.effects.OneShotEffect; @@ -22,7 +22,6 @@ import mage.filter.predicate.permanent.PermanentIdPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -43,8 +42,8 @@ public final class UnnaturalHunger extends CardImpl { this.addAbility(ability); // At the beginning of the upkeep of enchanted creature's controller, Unnatural Hunger deals damage to that player equal to that creature's power unless they sacrifice another creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new UnnaturalHungerEffect(), - TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new UnnaturalHungerEffect(), + false)); } private UnnaturalHunger(final UnnaturalHunger card) { diff --git a/Mage.Sets/src/mage/cards/u/UnstableMutation.java b/Mage.Sets/src/mage/cards/u/UnstableMutation.java index d693bbec69b..f9a90ca7301 100644 --- a/Mage.Sets/src/mage/cards/u/UnstableMutation.java +++ b/Mage.Sets/src/mage/cards/u/UnstableMutation.java @@ -3,7 +3,7 @@ package mage.cards.u; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.continuous.BoostEnchantedEffect; @@ -40,8 +40,8 @@ public final class UnstableMutation extends CardImpl { // Enchanted creature gets +3/+3. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3))); // At the beginning of the upkeep of enchanted creature's controller, put a -1/-1 counter on that creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersAttachedEffect(CounterType.M1M1.createInstance(), "that creature"), - TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new AddCountersAttachedEffect(CounterType.M1M1.createInstance(), "that creature"), + false)); } private UnstableMutation(final UnstableMutation card) { diff --git a/Mage.Sets/src/mage/cards/u/UrabraskHereticPraetor.java b/Mage.Sets/src/mage/cards/u/UrabraskHereticPraetor.java index 63263401fde..fb0d7eb4e2c 100644 --- a/Mage.Sets/src/mage/cards/u/UrabraskHereticPraetor.java +++ b/Mage.Sets/src/mage/cards/u/UrabraskHereticPraetor.java @@ -2,7 +2,7 @@ package mage.cards.u; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect; import mage.abilities.keyword.HasteAbility; @@ -36,13 +36,12 @@ public final class UrabraskHereticPraetor extends CardImpl { // At the beginning of your upkeep, exile the top card of your library. You may play it this turn. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn).withTextOptions("it", true), - TargetController.YOU, false + new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn).withTextOptions("it", true) )); // At the beginning of each opponent's upkeep, the next time they would draw a card this turn, instead they exile the top card of their library. They may play it this turn. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new UrabraskHereticPraetorEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new UrabraskHereticPraetorEffect(), false )); } diff --git a/Mage.Sets/src/mage/cards/u/UrborgStalker.java b/Mage.Sets/src/mage/cards/u/UrborgStalker.java index e4295444f4e..cc0a2af87e7 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgStalker.java +++ b/Mage.Sets/src/mage/cards/u/UrborgStalker.java @@ -4,7 +4,7 @@ package mage.cards.u; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; @@ -40,7 +40,7 @@ public final class UrborgStalker extends CardImpl { // At the beginning of each player's upkeep, if that player controls a nonblack, nonland permanent, Urborg Stalker deals 1 damage to that player. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new DamageTargetEffect(1), TargetController.ANY, false), + new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new DamageTargetEffect(1), false), new PermanentsOnTheBattlefieldCondition(filter), "At the beginning of each player's upkeep, " + "if that player controls a nonblack, nonland permanent, " diff --git a/Mage.Sets/src/mage/cards/u/UtopiaMycon.java b/Mage.Sets/src/mage/cards/u/UtopiaMycon.java index f5a7c3d2184..94ae2f47ae1 100644 --- a/Mage.Sets/src/mage/cards/u/UtopiaMycon.java +++ b/Mage.Sets/src/mage/cards/u/UtopiaMycon.java @@ -2,7 +2,7 @@ package mage.cards.u; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -13,7 +13,6 @@ 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 mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; @@ -36,7 +35,7 @@ public final class UtopiaMycon extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, put a spore counter on Utopia Mycon. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Utopia Mycon: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), new RemoveCountersSourceCost(CounterType.SPORE.createInstance(3)))); diff --git a/Mage.Sets/src/mage/cards/u/UurgSpawnOfTurg.java b/Mage.Sets/src/mage/cards/u/UurgSpawnOfTurg.java index 512e74aaf8a..92c26d6ce4c 100644 --- a/Mage.Sets/src/mage/cards/u/UurgSpawnOfTurg.java +++ b/Mage.Sets/src/mage/cards/u/UurgSpawnOfTurg.java @@ -2,7 +2,7 @@ package mage.cards.u; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeTargetCost; @@ -40,7 +40,7 @@ public final class UurgSpawnOfTurg extends CardImpl { // At the beginning of your upkeep, look at the top card of your library. You may put that card into your graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SurveilEffect(1), TargetController.YOU, false + new SurveilEffect(1) )); // {B}{G}, Sacrifice a land: You gain 2 life. diff --git a/Mage.Sets/src/mage/cards/u/UvildaDeanOfPerfection.java b/Mage.Sets/src/mage/cards/u/UvildaDeanOfPerfection.java index fc20aec0057..47665872602 100644 --- a/Mage.Sets/src/mage/cards/u/UvildaDeanOfPerfection.java +++ b/Mage.Sets/src/mage/cards/u/UvildaDeanOfPerfection.java @@ -1,12 +1,11 @@ package mage.cards.u; import mage.ApprovingObject; -import mage.MageObject; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.SpellAbility; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.Condition; @@ -60,7 +59,7 @@ public final class UvildaDeanOfPerfection extends ModalDoubleFacedCard { // At the beginning of your upkeep, exile the top card of each opponent's library. Until end of turn, you may cast spells from among those exiled cards, and you many spend mana as though it were mana of any color to cast those spells. this.getRightHalfCard().addAbility(new BeginningOfUpkeepTriggeredAbility( - new NassariDeanOfExpressionEffect(), TargetController.YOU, false + new NassariDeanOfExpressionEffect() )); // Whenever you cast a spell from exile, put a +1/+1 counter on Nassari, Dean of Expression. @@ -153,8 +152,8 @@ class UvildaDeanOfPerfectionGainAbilityEffect extends ContinuousEffectImpl { } Ability ability = new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - Zone.EXILED, new RemoveCounterSourceEffect(CounterType.HONE.createInstance()), - TargetController.YOU, false + Zone.EXILED, TargetController.YOU, new RemoveCounterSourceEffect(CounterType.HONE.createInstance()), + false ), UvildaDeanOfPerfectionCondition.instance, "At the beginning of your upkeep, " + "if this card is exiled, remove a hone counter from it." ); diff --git a/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java b/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java index 641ba3ba1cc..7e6ffc4be74 100644 --- a/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java +++ b/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java @@ -3,7 +3,7 @@ package mage.cards.v; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; @@ -30,7 +30,7 @@ public final class VaevictisAsmadi extends CardImpl { // Flying this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Vaevictis Asmadi unless you pay {B}{R}{G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{R}{G}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}{R}{G}")))); // {B}: Vaevictis Asmadi gets +1/+0 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"))); // {R}: Vaevictis Asmadi gets +1/+0 until end of turn. diff --git a/Mage.Sets/src/mage/cards/v/VampireLacerator.java b/Mage.Sets/src/mage/cards/v/VampireLacerator.java index 46ce6cfbfc9..710a640bdab 100644 --- a/Mage.Sets/src/mage/cards/v/VampireLacerator.java +++ b/Mage.Sets/src/mage/cards/v/VampireLacerator.java @@ -1,7 +1,7 @@ package mage.cards.v; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.LifeCompareCondition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -34,7 +34,7 @@ public final class VampireLacerator extends CardImpl { this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ConditionalOneShotEffect( new LoseLifeSourceControllerEffect(1), condition, "you lose 1 life unless an opponent has 10 or less life" - ), TargetController.YOU, false)); + ))); } private VampireLacerator(final VampireLacerator card) { diff --git a/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java b/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java index 2c94fe37329..ca95508a8df 100644 --- a/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java +++ b/Mage.Sets/src/mage/cards/v/VancesBlastingCannons.java @@ -3,7 +3,7 @@ package mage.cards.v; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.AsThoughEffectImpl; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -34,7 +34,7 @@ public final class VancesBlastingCannons extends CardImpl { this.secondSideCardClazz = mage.cards.s.SpitfireBastion.class; // At the beginning of your upkeep, exile the top card of your library. If it's a nonland card, you may cast that card this turn. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new VancesBlastingCannonsExileEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new VancesBlastingCannonsExileEffect())); // Whenever you cast your third spell in a turn, transform Vance's Blasting Cannons. this.addAbility(new TransformAbility()); diff --git a/Mage.Sets/src/mage/cards/v/VaporSnare.java b/Mage.Sets/src/mage/cards/v/VaporSnare.java index 9eda923767c..f1f15de5933 100644 --- a/Mage.Sets/src/mage/cards/v/VaporSnare.java +++ b/Mage.Sets/src/mage/cards/v/VaporSnare.java @@ -3,7 +3,7 @@ package mage.cards.v; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost; import mage.abilities.effects.Effect; @@ -41,7 +41,7 @@ public final class VaporSnare extends CardImpl { // At the beginning of your upkeep, sacrifice Vapor Snare unless you return a land you control to its owner's hand. Effect effect = new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(1, 1, StaticFilters.FILTER_CONTROLLED_PERMANENT_A_LAND, true))); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(effect)); } private VaporSnare(final VaporSnare card) { diff --git a/Mage.Sets/src/mage/cards/v/VaporousDjinn.java b/Mage.Sets/src/mage/cards/v/VaporousDjinn.java index e05ea09f909..6141ebec789 100644 --- a/Mage.Sets/src/mage/cards/v/VaporousDjinn.java +++ b/Mage.Sets/src/mage/cards/v/VaporousDjinn.java @@ -4,7 +4,7 @@ package mage.cards.v; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; @@ -35,7 +34,7 @@ public final class VaporousDjinn extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, Vaporous Djinn phases out unless you pay {U}{U}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new VaporousDjinnEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new VaporousDjinnEffect())); } private VaporousDjinn(final VaporousDjinn card) { diff --git a/Mage.Sets/src/mage/cards/v/Vebulid.java b/Mage.Sets/src/mage/cards/v/Vebulid.java index a6373fef2c3..27d0e5c5934 100644 --- a/Mage.Sets/src/mage/cards/v/Vebulid.java +++ b/Mage.Sets/src/mage/cards/v/Vebulid.java @@ -4,7 +4,7 @@ package mage.cards.v; import java.util.UUID; import mage.MageInt; import mage.abilities.common.AttacksOrBlocksTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; @@ -14,7 +14,6 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.counters.CounterType; /** @@ -36,7 +35,7 @@ public final class Vebulid extends CardImpl { "with a +1/+1 counter on it")); // At the beginning of your upkeep, you may put a +1/+1 counter on Vebulid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), true)); // When Vebulid attacks or blocks, destroy it at end of combat. this.addAbility(new AttacksOrBlocksTriggeredAbility(new CreateDelayedTriggeredAbilityEffect( diff --git a/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java b/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java index c99749878de..e464c39b27d 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java @@ -5,13 +5,12 @@ package mage.cards.v; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.target.common.TargetArtifactPermanent; @@ -30,7 +29,7 @@ public final class VedalkenInfuser extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, you may put a charge counter on target artifact. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.CHARGE.createInstance()), TargetController.YOU, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new AddCountersTargetEffect(CounterType.CHARGE.createInstance()), true); ability.addTarget(new TargetArtifactPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/v/VeiledApparition.java b/Mage.Sets/src/mage/cards/v/VeiledApparition.java index e7ac38f6f44..6d23247eca8 100644 --- a/Mage.Sets/src/mage/cards/v/VeiledApparition.java +++ b/Mage.Sets/src/mage/cards/v/VeiledApparition.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SpellCastOpponentTriggeredAbility; import mage.abilities.condition.common.SourceMatchesFilterCondition; import mage.abilities.costs.mana.ManaCostsImpl; @@ -17,7 +17,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.FilterSpell; import mage.filter.StaticFilters; import mage.game.permanent.token.TokenImpl; @@ -59,7 +58,7 @@ class VeilApparitionToken extends TokenImpl { subtype.add(SubType.ILLUSION); power = new MageInt(3); toughness = new MageInt(3); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new DoUnlessControllerPaysEffect(new SacrificeSourceEffect(), new ManaCostsImpl<>("{1}{U}")), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new DoUnlessControllerPaysEffect(new SacrificeSourceEffect(), new ManaCostsImpl<>("{1}{U}"))); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/v/Veldt.java b/Mage.Sets/src/mage/cards/v/Veldt.java index 4d30422c8e4..6842342fc83 100644 --- a/Mage.Sets/src/mage/cards/v/Veldt.java +++ b/Mage.Sets/src/mage/cards/v/Veldt.java @@ -4,7 +4,7 @@ package mage.cards.v; import java.util.UUID; import mage.Mana; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; @@ -17,7 +17,6 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -37,7 +36,7 @@ public final class Veldt extends CardImpl { Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); this.addAbility(ability); // At the beginning of your upkeep, remove a depletion counter from Veldt. - Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance()), TargetController.YOU, false); + Ability ability2 = new BeginningOfUpkeepTriggeredAbility(new RemoveCounterSourceEffect(CounterType.DEPLETION.createInstance())); this.addAbility(ability2); // {tap}: Add {G} or {W}. Put a depletion counter on Veldt. Ability ability3 = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(1), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/v/VenarianGold.java b/Mage.Sets/src/mage/cards/v/VenarianGold.java index dbc473ad063..403df607343 100644 --- a/Mage.Sets/src/mage/cards/v/VenarianGold.java +++ b/Mage.Sets/src/mage/cards/v/VenarianGold.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.AttachedToCounterCondition; @@ -52,8 +52,8 @@ public final class VenarianGold extends CardImpl { new AttachedToCounterCondition(CounterType.SLEEP, 1)).setText("Enchanted creature doesn't untap during its controller's untap step if it has a sleep counter on it"))); // At the beginning of the upkeep of enchanted creature’s controller, remove a sleep counter from that creature. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCountersAttachedEffect(CounterType.SLEEP.createInstance(), "that creature"), - TargetController.CONTROLLER_ATTACHED_TO, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, new RemoveCountersAttachedEffect(CounterType.SLEEP.createInstance(), "that creature"), + false)); } diff --git a/Mage.Sets/src/mage/cards/v/VensersJournal.java b/Mage.Sets/src/mage/cards/v/VensersJournal.java index 2aa634c5073..fe75601a40d 100644 --- a/Mage.Sets/src/mage/cards/v/VensersJournal.java +++ b/Mage.Sets/src/mage/cards/v/VensersJournal.java @@ -2,7 +2,7 @@ package mage.cards.v; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.CardsInControllerHandCount; import mage.abilities.effects.Effect; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; /** @@ -31,7 +30,7 @@ public final class VensersJournal extends CardImpl { // At the beginning of your upkeep, you gain 1 life for each card in your hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(CardsInControllerHandCount.instance) - .setText("you gain 1 life for each card in your hand"), TargetController.YOU, false)); + .setText("you gain 1 life for each card in your hand"))); } private VensersJournal(final VensersJournal card) { diff --git a/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java b/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java index 451012a3c01..7aad913974d 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java +++ b/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java @@ -3,7 +3,7 @@ package mage.cards.v; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; @@ -42,7 +42,7 @@ public final class VerdantEmbrace extends CardImpl { this.addAbility(ability); // Enchanted creature gets +3/+3 and has "At the beginning of each upkeep, create a 1/1 green Saproling creature token." ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(3, 3, Duration.WhileOnBattlefield)); - Ability grantedAbility = new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SaprolingToken()), TargetController.ANY, false); + Ability grantedAbility = new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new SaprolingToken()), false); Effect effect = new GainAbilityAttachedEffect(grantedAbility, AttachmentType.AURA); effect.setText("and has \"At the beginning of each upkeep, create a 1/1 green Saproling creature token.\""); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/v/VerdantForce.java b/Mage.Sets/src/mage/cards/v/VerdantForce.java index ca3ff7650e4..83085086ba9 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantForce.java +++ b/Mage.Sets/src/mage/cards/v/VerdantForce.java @@ -3,7 +3,7 @@ package mage.cards.v; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class VerdantForce extends CardImpl { this.toughness = new MageInt(7); // At the beginning of each upkeep, create a 1/1 green Saproling creature token. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new CreateTokenEffect(new SaprolingToken()), TargetController.EACH_PLAYER, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new CreateTokenEffect(new SaprolingToken()), false)); } private VerdantForce(final VerdantForce card) { diff --git a/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java b/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java index e90d9787ca5..984b139ec40 100644 --- a/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java +++ b/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java @@ -3,7 +3,7 @@ package mage.cards.v; import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.EntersBattlefieldEffect; import mage.abilities.effects.OneShotEffect; @@ -84,8 +84,8 @@ class VesuvanDoppelgangerCopyEffect extends OneShotEffect { @Override public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) { blueprint.getColor().setColor(sourcePermanent.getColor(game)); - blueprint.getAbilities().add(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new VesuvanDoppelgangerCopyEffect(), TargetController.YOU, true, false)); + blueprint.getAbilities().add(new BeginningOfUpkeepTriggeredAbility( + TargetController.YOU, new VesuvanDoppelgangerCopyEffect(), true)); return true; } }); diff --git a/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java b/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java index 5a22db3c4e4..fc7bd04d0cf 100644 --- a/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java +++ b/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.AsTurnedFaceUpEffect; @@ -76,7 +76,7 @@ class VesuvanShapeShifterFaceUpCopyApplier extends CopyApplier { @Override public boolean apply(Game game, MageObject blueprint, Ability source, UUID copyToObjectId) { blueprint.getAbilities().add(new BeginningOfUpkeepTriggeredAbility( - new VesuvanShapeshifterFaceDownEffect(), TargetController.YOU, true + new VesuvanShapeshifterFaceDownEffect(), true )); return true; } diff --git a/Mage.Sets/src/mage/cards/v/ViconiaDrowApostate.java b/Mage.Sets/src/mage/cards/v/ViconiaDrowApostate.java index 647dab378b6..4af8640dfef 100644 --- a/Mage.Sets/src/mage/cards/v/ViconiaDrowApostate.java +++ b/Mage.Sets/src/mage/cards/v/ViconiaDrowApostate.java @@ -1,7 +1,7 @@ package mage.cards.v; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.ChooseABackgroundAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; @@ -41,8 +41,7 @@ public final class ViconiaDrowApostate extends CardImpl { // At the beginning of your upkeep, if there are four or more creature cards in your graveyard, return a creature card at random from your graveyard to your hand. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardAtRandomEffect(StaticFilters.FILTER_CARD_CREATURE, Zone.HAND), - TargetController.YOU, false + new ReturnFromGraveyardAtRandomEffect(StaticFilters.FILTER_CARD_CREATURE, Zone.HAND), false ), condition, "At the beginning of your upkeep, if there are four or more creature cards " + "in your graveyard, return a creature card at random from your graveyard to your hand." ).addHint(hint)); diff --git a/Mage.Sets/src/mage/cards/v/VictorysEnvoy.java b/Mage.Sets/src/mage/cards/v/VictorysEnvoy.java index 8f205787a91..d130d19fb76 100644 --- a/Mage.Sets/src/mage/cards/v/VictorysEnvoy.java +++ b/Mage.Sets/src/mage/cards/v/VictorysEnvoy.java @@ -1,13 +1,12 @@ package mage.cards.v; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; @@ -37,8 +36,7 @@ public final class VictorysEnvoy extends CardImpl { // At the beginning of your upkeep, put a +1/1 counter on each other creature you control. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), - TargetController.YOU, false + new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter) )); } diff --git a/Mage.Sets/src/mage/cards/v/VileConsumption.java b/Mage.Sets/src/mage/cards/v/VileConsumption.java index 580a3f854b8..a0fe6622043 100644 --- a/Mage.Sets/src/mage/cards/v/VileConsumption.java +++ b/Mage.Sets/src/mage/cards/v/VileConsumption.java @@ -1,7 +1,7 @@ package mage.cards.v; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.effects.Effect; @@ -11,8 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; /** @@ -27,7 +25,7 @@ public final class VileConsumption extends CardImpl { // All creatures have "At the beginning of your upkeep, sacrifice this creature unless you pay 1 life." Effect effect = new SacrificeSourceUnlessPaysEffect(new PayLifeCost(1)); effect.setText("sacrifice this creature unless you pay 1 life"); - Effect effect2 = new GainAbilityAllEffect(new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false), + Effect effect2 = new GainAbilityAllEffect(new BeginningOfUpkeepTriggeredAbility(effect), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_ALL_CREATURES); this.addAbility(new SimpleStaticAbility(effect2)); } diff --git a/Mage.Sets/src/mage/cards/v/VileRequiem.java b/Mage.Sets/src/mage/cards/v/VileRequiem.java index 3d9b9326b38..bc7f150e15a 100644 --- a/Mage.Sets/src/mage/cards/v/VileRequiem.java +++ b/Mage.Sets/src/mage/cards/v/VileRequiem.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -13,7 +13,6 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -41,8 +40,8 @@ public final class VileRequiem extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}"); // At the beginning of your upkeep, you may put a verse counter on Vile Requiem. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // {1}{B}, Sacrifice Vile Requiem: Destroy up to X target nonblack creatures, where X is the number of verse counters on Vile Requiem. They can't be regenerated. Effect effect = new DestroyTargetEffect(true); diff --git a/Mage.Sets/src/mage/cards/v/VilespawnSpider.java b/Mage.Sets/src/mage/cards/v/VilespawnSpider.java index 6e1d9948eda..cd27407a1db 100644 --- a/Mage.Sets/src/mage/cards/v/VilespawnSpider.java +++ b/Mage.Sets/src/mage/cards/v/VilespawnSpider.java @@ -3,7 +3,7 @@ package mage.cards.v; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; @@ -18,7 +18,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.game.permanent.token.InsectToken; @@ -46,7 +45,7 @@ public final class VilespawnSpider extends CardImpl { // At the beginning of your upkeep, mill a card. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new MillCardsControllerEffect(1), TargetController.YOU, false + new MillCardsControllerEffect(1) )); // {2}{G}{U}, {T}, Sacrifice Vilespawn Spider: Create a 1/1 green Insect creature token for each creature card in your graveyard. Activate only as a sorcery. diff --git a/Mage.Sets/src/mage/cards/v/VirtueOfPersistence.java b/Mage.Sets/src/mage/cards/v/VirtueOfPersistence.java index 180ad65bb4e..79506e7a800 100644 --- a/Mage.Sets/src/mage/cards/v/VirtueOfPersistence.java +++ b/Mage.Sets/src/mage/cards/v/VirtueOfPersistence.java @@ -1,7 +1,7 @@ package mage.cards.v; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -9,10 +9,7 @@ import mage.cards.AdventureCard; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; -import mage.filter.FilterCard; import mage.filter.StaticFilters; -import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCreaturePermanent; @@ -28,7 +25,7 @@ public final class VirtueOfPersistence extends AdventureCard { // At the beginning of your upkeep, put target creature card from a graveyard onto the battlefield under your control. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardToBattlefieldTargetEffect(), TargetController.YOU, false + new ReturnFromGraveyardToBattlefieldTargetEffect() ); ability.addTarget(new TargetCardInGraveyard(StaticFilters.FILTER_CARD_CREATURE_A_GRAVEYARD)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/v/Viseling.java b/Mage.Sets/src/mage/cards/v/Viseling.java index 99cbbb75234..3ef13287c78 100644 --- a/Mage.Sets/src/mage/cards/v/Viseling.java +++ b/Mage.Sets/src/mage/cards/v/Viseling.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +29,7 @@ public final class Viseling extends CardImpl { this.toughness = new MageInt(2); // At the beginning of each opponent's upkeep, Viseling deals X damage to that player, where X is the number of cards in their hand minus 4. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ViselingEffect(), TargetController.OPPONENT, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new ViselingEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/v/VisionsOfPhyrexia.java b/Mage.Sets/src/mage/cards/v/VisionsOfPhyrexia.java index 5ccb56d5448..d05a8b97f88 100644 --- a/Mage.Sets/src/mage/cards/v/VisionsOfPhyrexia.java +++ b/Mage.Sets/src/mage/cards/v/VisionsOfPhyrexia.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect; @@ -29,7 +29,7 @@ public final class VisionsOfPhyrexia extends CardImpl { // At the beginning of your upkeep, exile the top card of your library. You may play that card this turn. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn), TargetController.YOU, false + new ExileTopXMayPlayUntilEffect(1, Duration.EndOfTurn) )); // At the beginning of your end step, if you didn't play a card from exile this turn, create a tapped Powerstone token. diff --git a/Mage.Sets/src/mage/cards/v/VitasporeThallid.java b/Mage.Sets/src/mage/cards/v/VitasporeThallid.java index 829a62c7c47..268c6a30448 100644 --- a/Mage.Sets/src/mage/cards/v/VitasporeThallid.java +++ b/Mage.Sets/src/mage/cards/v/VitasporeThallid.java @@ -4,7 +4,7 @@ package mage.cards.v; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -35,7 +35,7 @@ public final class VitasporeThallid extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, put a spore counter on Vitaspore Thallid. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.SPORE.createInstance()))); // Remove three spore counters from Vitaspore Thallid: Create a 1/1 green Saproling creature token. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), diff --git a/Mage.Sets/src/mage/cards/v/VoodooDoll.java b/Mage.Sets/src/mage/cards/v/VoodooDoll.java index 240dc0348b5..001a2859936 100644 --- a/Mage.Sets/src/mage/cards/v/VoodooDoll.java +++ b/Mage.Sets/src/mage/cards/v/VoodooDoll.java @@ -2,7 +2,7 @@ package mage.cards.v; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.SourceTappedCondition; import mage.abilities.costs.CostAdjuster; @@ -36,7 +36,7 @@ public final class VoodooDoll extends CardImpl { // At the beginning of your upkeep, put a pin counter on Voodoo Doll. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new AddCountersSourceEffect(CounterType.PIN.createInstance()), TargetController.YOU, false + new AddCountersSourceEffect(CounterType.PIN.createInstance()) )); // At the beginning of your end step, if Voodoo Doll is untapped, destroy Voodoo Doll and it deals damage to you equal to the number of pin counters on it. diff --git a/Mage.Sets/src/mage/cards/w/WalkingArchive.java b/Mage.Sets/src/mage/cards/w/WalkingArchive.java index 973acf4fbf4..16211aa4475 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingArchive.java +++ b/Mage.Sets/src/mage/cards/w/WalkingArchive.java @@ -3,7 +3,7 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -39,7 +39,7 @@ public final class WalkingArchive extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), "with a +1/+1 counter on it")); // At the beginning of each player's upkeep, that player draws a card for each +1/+1 counter on Walking Archive. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DrawCardTargetEffect(new CountersSourceCount(CounterType.P1P1)), TargetController.ANY, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.EACH_PLAYER, new DrawCardTargetEffect(new CountersSourceCount(CounterType.P1P1)), false)); // {2}{W}{U}: Put a +1/+1 counter on Walking Archive. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{2}{W}{U}"))); diff --git a/Mage.Sets/src/mage/cards/w/WallOfTombstones.java b/Mage.Sets/src/mage/cards/w/WallOfTombstones.java index 0de7205fa0b..43ac3125530 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfTombstones.java +++ b/Mage.Sets/src/mage/cards/w/WallOfTombstones.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.SetBaseToughnessSourceEffect; @@ -31,7 +31,7 @@ public final class WallOfTombstones extends CardImpl { this.addAbility(DefenderAbility.getInstance()); // At the beginning of your upkeep, change Wall of Tombstones’s base toughness to 1 plus the number of creature cards in your graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WallOfTombstonesEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WallOfTombstonesEffect())); } diff --git a/Mage.Sets/src/mage/cards/w/Wanderlust.java b/Mage.Sets/src/mage/cards/w/Wanderlust.java index eaed602235f..690be7f9e24 100644 --- a/Mage.Sets/src/mage/cards/w/Wanderlust.java +++ b/Mage.Sets/src/mage/cards/w/Wanderlust.java @@ -2,7 +2,7 @@ package mage.cards.w; import java.util.UUID; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageTargetEffect; @@ -13,7 +13,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -35,8 +34,8 @@ public final class Wanderlust extends CardImpl { // At the beginning of the upkeep of enchanted creature's controller, Wanderlust deals 1 damage to that player. Effect effect = new DamageTargetEffect(1); effect.setText("{this} deals 1 damage to that player"); - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, - TargetController.CONTROLLER_ATTACHED_TO, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.CONTROLLER_ATTACHED_TO, effect, + false)); } private Wanderlust(final Wanderlust card) { diff --git a/Mage.Sets/src/mage/cards/w/WarDance.java b/Mage.Sets/src/mage/cards/w/WarDance.java index 6b6ecf1af5c..481351ffcb0 100644 --- a/Mage.Sets/src/mage/cards/w/WarDance.java +++ b/Mage.Sets/src/mage/cards/w/WarDance.java @@ -3,7 +3,7 @@ package mage.cards.w; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.dynamicvalue.common.CountersSourceCount; @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -28,8 +27,8 @@ public final class WarDance extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}"); // At the beginning of your upkeep, you may put a verse counter on War Dance. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + new AddCountersSourceEffect(CounterType.VERSE.createInstance(), true), true)); // Sacrifice War Dance: Target creature gets +X/+X until end of turn, where X is the number of verse counters on War Dance. Ability ability = new SimpleActivatedAbility( diff --git a/Mage.Sets/src/mage/cards/w/WarpArtifact.java b/Mage.Sets/src/mage/cards/w/WarpArtifact.java index 577279e3adb..621fa371b32 100644 --- a/Mage.Sets/src/mage/cards/w/WarpArtifact.java +++ b/Mage.Sets/src/mage/cards/w/WarpArtifact.java @@ -1,6 +1,6 @@ package mage.cards.w; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.keyword.EnchantAbility; @@ -28,9 +28,9 @@ public final class WarpArtifact extends CardImpl { this.addAbility(new EnchantAbility(auraTarget)); // At the beginning of the upkeep of enchanted artifact's controller, Warp Artifact deals 1 damage to that player. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new DamageTargetEffect(1).withTargetDescription("that player"), - TargetController.CONTROLLER_ATTACHED_TO, false, true + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + TargetController.CONTROLLER_ATTACHED_TO, new DamageTargetEffect(1).withTargetDescription("that player"), + false ).setTriggerPhrase("At the beginning of the upkeep of enchanted artifact's controller, ")); } diff --git a/Mage.Sets/src/mage/cards/w/WarpingWurm.java b/Mage.Sets/src/mage/cards/w/WarpingWurm.java index 884a9ca7750..279a2d6ca23 100644 --- a/Mage.Sets/src/mage/cards/w/WarpingWurm.java +++ b/Mage.Sets/src/mage/cards/w/WarpingWurm.java @@ -1,7 +1,7 @@ package mage.cards.w; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SourcePhaseInTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.DoUnlessControllerPaysEffect; @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.counters.CounterType; import java.util.UUID; @@ -38,8 +37,7 @@ public final class WarpingWurm extends CardImpl { new DoUnlessControllerPaysEffect( new PhaseOutSourceEffect(), new ManaCostsImpl<>("{2}{G}{U}") - ).setText("{this} phases out unless you pay {2}{G}{U}"), - TargetController.YOU, false + ).setText("{this} phases out unless you pay {2}{G}{U}") )); // When Warping Wurm phases in, put a +1/+1 counter on it. diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java b/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java index e8d6043bfe8..7feff47507c 100644 --- a/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java +++ b/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java @@ -3,7 +3,7 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.abilities.keyword.FlyingAbility; @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.permanent.TappedPredicate; import mage.target.common.TargetControlledPermanent; @@ -39,8 +38,8 @@ public final class WaterspoutDjinn extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // At the beginning of your upkeep, sacrifice Waterspout Djinn unless you return an untapped Island you control to its owner's hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))), - TargetController.YOU, false)); + new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))) + )); } private WaterspoutDjinn(final WaterspoutDjinn card) { diff --git a/Mage.Sets/src/mage/cards/w/WaywardAngel.java b/Mage.Sets/src/mage/cards/w/WaywardAngel.java index 31191b2a038..7c0af9bde37 100644 --- a/Mage.Sets/src/mage/cards/w/WaywardAngel.java +++ b/Mage.Sets/src/mage/cards/w/WaywardAngel.java @@ -3,7 +3,7 @@ package mage.cards.w; import mage.MageInt; import mage.ObjectColor; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.decorator.ConditionalContinuousEffect; @@ -52,7 +52,7 @@ public final class WaywardAngel extends CardImpl { ThresholdCondition.instance, ", has trample" )); Ability gainedAbility = new BeginningOfUpkeepTriggeredAbility( - new SacrificeControllerEffect(StaticFilters.FILTER_CONTROLLED_CREATURE, 1, ""), TargetController.YOU, false + new SacrificeControllerEffect(StaticFilters.FILTER_CONTROLLED_CREATURE, 1, "") ); ability.addEffect(new ConditionalContinuousEffect( new GainAbilitySourceEffect(gainedAbility), ThresholdCondition.instance, diff --git a/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java b/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java index fed421972e0..7e337a7ab21 100644 --- a/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java +++ b/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java @@ -4,14 +4,13 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; -import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.target.common.TargetCreaturePermanent; @@ -36,7 +35,7 @@ public final class WeedPrunerPoplar extends CardImpl { this.toughness = new MageInt(3); // At the beginning of your upkeep, target creature other than Weed-Pruner Poplar gets -1/-1 until end of turn. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new BoostTargetEffect(-1, -1, Duration.EndOfTurn)); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/Wellspring.java b/Mage.Sets/src/mage/cards/w/Wellspring.java index f739f859f03..317e85f8129 100644 --- a/Mage.Sets/src/mage/cards/w/Wellspring.java +++ b/Mage.Sets/src/mage/cards/w/Wellspring.java @@ -1,7 +1,7 @@ package mage.cards.w; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -44,7 +44,7 @@ public final class Wellspring extends CardImpl { // At the beginning of your upkeep, untap enchanted land. You gain control of that land until end of turn. ability = new BeginningOfUpkeepTriggeredAbility( - new UntapAttachedEffect(AttachmentType.AURA, "land"), TargetController.YOU, false + new UntapAttachedEffect(AttachmentType.AURA, "land") ); ability.addEffect(new WellspringEffect("You gain control of that land until end of turn")); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/w/WheelOfTorture.java b/Mage.Sets/src/mage/cards/w/WheelOfTorture.java index 112ac871457..0eeccbdf858 100644 --- a/Mage.Sets/src/mage/cards/w/WheelOfTorture.java +++ b/Mage.Sets/src/mage/cards/w/WheelOfTorture.java @@ -1,7 +1,7 @@ package mage.cards.w; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -22,7 +22,7 @@ public final class WheelOfTorture extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // At the beginning of each opponent's upkeep, Wheel of Torture deals X damage to that player, where X is 3 minus the number of cards in their hand. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new WheelOfTortureEffect(), TargetController.OPPONENT, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(TargetController.OPPONENT, new WheelOfTortureEffect(), false); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java b/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java index 3432c2c5607..6654651880a 100644 --- a/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java +++ b/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java @@ -3,14 +3,13 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; /** * @@ -25,7 +24,7 @@ public final class WhipstitchedZombie extends CardImpl { this.toughness = new MageInt(2); // At the beginning of your upkeep, sacrifice Whipstitched Zombie unless you pay {B}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}")), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl<>("{B}")))); } private WhipstitchedZombie(final WhipstitchedZombie card) { diff --git a/Mage.Sets/src/mage/cards/w/WhitePlumeAdventurer.java b/Mage.Sets/src/mage/cards/w/WhitePlumeAdventurer.java index 270dc4241f0..0d7988ee7f3 100644 --- a/Mage.Sets/src/mage/cards/w/WhitePlumeAdventurer.java +++ b/Mage.Sets/src/mage/cards/w/WhitePlumeAdventurer.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.CompletedDungeonCondition; import mage.abilities.effects.OneShotEffect; @@ -44,7 +44,7 @@ public final class WhitePlumeAdventurer extends CardImpl { // At the beginning of each opponent's upkeep, untap a creature you control. If you've completed a dungeon, untap all creatures you control instead. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new WhitePlumeAdventurerEffect(), TargetController.OPPONENT, false + TargetController.OPPONENT, new WhitePlumeAdventurerEffect(), false ).addHint(CompletedDungeonCondition.getHint()), new CompletedDungeonWatcher()); } diff --git a/Mage.Sets/src/mage/cards/w/Wiitigo.java b/Mage.Sets/src/mage/cards/w/Wiitigo.java index ab94f78f6cb..2406908a08e 100644 --- a/Mage.Sets/src/mage/cards/w/Wiitigo.java +++ b/Mage.Sets/src/mage/cards/w/Wiitigo.java @@ -8,7 +8,7 @@ import java.util.UUID; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.Condition; import mage.abilities.decorator.ConditionalOneShotEffect; @@ -18,7 +18,6 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.constants.WatcherScope; import mage.counters.CounterType; import mage.game.Game; @@ -50,9 +49,8 @@ public final class Wiitigo extends CardImpl { new RemoveCounterSourceEffect(CounterType.P1P1.createInstance(1)), new BlockedOrBeenBlockedSinceYourLastUpkeepCondition(), "put a +1/+1 counter on {this} if it has blocked or been blocked since your last " - + "upkeep. Otherwise, remove a +1/+1 counter from it"), - TargetController.YOU, - false); + + "upkeep. Otherwise, remove a +1/+1 counter from it") + ); triggeredAbility.addWatcher(new BlockedOrBeenBlockedSinceYourLastUpkeepWatcher()); this.addAbility(triggeredAbility); } diff --git a/Mage.Sets/src/mage/cards/w/WildDogs.java b/Mage.Sets/src/mage/cards/w/WildDogs.java index 33355a0efb1..5c53825f962 100644 --- a/Mage.Sets/src/mage/cards/w/WildDogs.java +++ b/Mage.Sets/src/mage/cards/w/WildDogs.java @@ -4,7 +4,7 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; @@ -16,7 +16,6 @@ import mage.constants.CardType; import mage.constants.SubType; 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; @@ -35,7 +34,7 @@ public final class WildDogs extends CardImpl { this.toughness = new MageInt(1); // At the beginning of your upkeep, if a player has more life than each other player, the player with the most life gains control of Wild Dogs. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WildDogsEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WildDogsEffect())); // Cycling {2} this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}"))); diff --git a/Mage.Sets/src/mage/cards/w/WildEvocation.java b/Mage.Sets/src/mage/cards/w/WildEvocation.java index cafde7f223d..93113cb6215 100644 --- a/Mage.Sets/src/mage/cards/w/WildEvocation.java +++ b/Mage.Sets/src/mage/cards/w/WildEvocation.java @@ -4,7 +4,7 @@ import java.util.UUID; import mage.ApprovingObject; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -28,11 +28,10 @@ public final class WildEvocation extends CardImpl { public WildEvocation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{5}{R}"); - //At the beginning of each player's upkeep, that player reveals a card at - // random from their hand. 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 BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new WildEvocationEffect(), TargetController.ANY, false)); + // At the beginning of each player's upkeep, that player reveals a card at random from their hand. + // 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 BeginningOfUpkeepTriggeredAbility( + TargetController.EACH_PLAYER, new WildEvocationEffect(), false)); } private WildEvocation(final WildEvocation card) { diff --git a/Mage.Sets/src/mage/cards/w/WildLeotau.java b/Mage.Sets/src/mage/cards/w/WildLeotau.java index 60ca9546ec1..74be660d1c9 100644 --- a/Mage.Sets/src/mage/cards/w/WildLeotau.java +++ b/Mage.Sets/src/mage/cards/w/WildLeotau.java @@ -3,7 +3,7 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; -import mage.constants.TargetController; /** * @@ -27,7 +26,7 @@ public final class WildLeotau extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, sacrifice Wild Leotau unless you pay {G}. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ColoredManaCost(ColoredManaSymbol.G)), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ColoredManaCost(ColoredManaSymbol.G)))); } private WildLeotau(final WildLeotau card) { diff --git a/Mage.Sets/src/mage/cards/w/WildMammoth.java b/Mage.Sets/src/mage/cards/w/WildMammoth.java index d8b4d1c425d..50f18291398 100644 --- a/Mage.Sets/src/mage/cards/w/WildMammoth.java +++ b/Mage.Sets/src/mage/cards/w/WildMammoth.java @@ -4,7 +4,7 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect; @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -34,7 +33,7 @@ public final class WildMammoth extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, if a player controls more creatures than each other player, the player who controls the most creatures gains control of Wild Mammoth. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WildMammothEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WildMammothEffect())); } private WildMammoth(final WildMammoth card) { diff --git a/Mage.Sets/src/mage/cards/w/WildWasteland.java b/Mage.Sets/src/mage/cards/w/WildWasteland.java index d97aed84fb6..f18cbc2489c 100644 --- a/Mage.Sets/src/mage/cards/w/WildWasteland.java +++ b/Mage.Sets/src/mage/cards/w/WildWasteland.java @@ -1,6 +1,6 @@ package mage.cards.w; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect; import mage.abilities.effects.common.SkipDrawStepEffect; @@ -8,7 +8,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Duration; -import mage.constants.TargetController; import java.util.UUID; @@ -26,7 +25,7 @@ public final class WildWasteland extends CardImpl { // At the beginning of your upkeep, exile the top two cards of your library. You may play those cards this turn. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new ExileTopXMayPlayUntilEffect(2, Duration.EndOfTurn), TargetController.YOU, false)); + new ExileTopXMayPlayUntilEffect(2, Duration.EndOfTurn))); } private WildWasteland(final WildWasteland card) { diff --git a/Mage.Sets/src/mage/cards/w/WildfireDevils.java b/Mage.Sets/src/mage/cards/w/WildfireDevils.java index 23f9898e52a..4adfa1b9a90 100644 --- a/Mage.Sets/src/mage/cards/w/WildfireDevils.java +++ b/Mage.Sets/src/mage/cards/w/WildfireDevils.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.meta.OrTriggeredAbility; @@ -36,7 +36,7 @@ public final class WildfireDevils extends CardImpl { Zone.BATTLEFIELD, new WildfireDevilsEffect(), false, "When {this} enters and at the beginning of your upkeep, ", new EntersBattlefieldTriggeredAbility(null, false), - new BeginningOfUpkeepTriggeredAbility(null, TargetController.YOU, false) + new BeginningOfUpkeepTriggeredAbility(null) )); } diff --git a/Mage.Sets/src/mage/cards/w/WinterMisanthropicGuide.java b/Mage.Sets/src/mage/cards/w/WinterMisanthropicGuide.java index 689ecbc1f50..aab1d89b7fe 100644 --- a/Mage.Sets/src/mage/cards/w/WinterMisanthropicGuide.java +++ b/Mage.Sets/src/mage/cards/w/WinterMisanthropicGuide.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount; @@ -37,7 +37,7 @@ public final class WinterMisanthropicGuide extends CardImpl { // At the beginning of your upkeep, each player draws two cards. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new DrawCardAllEffect(2), TargetController.YOU, false + new DrawCardAllEffect(2) )); // Delirium -- As long as there are four or more card types among cards in your graveyard, each opponent's maximum hand size is equal to seven minus the number of those card types. diff --git a/Mage.Sets/src/mage/cards/w/WitchHunt.java b/Mage.Sets/src/mage/cards/w/WitchHunt.java index 0af9f215b71..964df8ea351 100644 --- a/Mage.Sets/src/mage/cards/w/WitchHunt.java +++ b/Mage.Sets/src/mage/cards/w/WitchHunt.java @@ -4,7 +4,7 @@ package mage.cards.w; import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.DamageControllerEffect; @@ -35,7 +35,7 @@ public final class WitchHunt extends CardImpl { // Players can't gain life. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // At the beginning of your upkeep, Witch Hunt deals 4 damage to you. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new DamageControllerEffect(4), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect(4))); // At the beginning of your end step, target opponent chosen at random gains control of Witch Hunt. Ability ability = new BeginningOfEndStepTriggeredAbility(Zone.BATTLEFIELD, new WitchHuntEffect(), TargetController.YOU, null, false); Target target = new TargetOpponent(); diff --git a/Mage.Sets/src/mage/cards/w/Withercrown.java b/Mage.Sets/src/mage/cards/w/Withercrown.java index 3277349a740..f4d87c51aae 100644 --- a/Mage.Sets/src/mage/cards/w/Withercrown.java +++ b/Mage.Sets/src/mage/cards/w/Withercrown.java @@ -1,7 +1,7 @@ package mage.cards.w; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.effects.Effect; @@ -43,8 +43,8 @@ public final class Withercrown extends CardImpl { Effect effect2 = new DoUnlessControllerPaysEffect(new LoseLifeSourceControllerEffect(1), new SacrificeSourceCost(), rule); effect2.setText("you lose 1 life unless you sacrifice this creature."); - Effect effect3 = new GainAbilityAttachedEffect(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - effect2, TargetController.YOU, false, false), AttachmentType.AURA); + Effect effect3 = new GainAbilityAttachedEffect(new BeginningOfUpkeepTriggeredAbility( + effect2), AttachmentType.AURA); effect3.setText("and has \"At the beginning of your upkeep, you lose 1 life unless you sacrifice this creature.\""); abilityTest.addEffect(effect3); this.addAbility(abilityTest); diff --git a/Mage.Sets/src/mage/cards/w/WoebringerDemon.java b/Mage.Sets/src/mage/cards/w/WoebringerDemon.java index 307ac95433a..8917bdf355a 100644 --- a/Mage.Sets/src/mage/cards/w/WoebringerDemon.java +++ b/Mage.Sets/src/mage/cards/w/WoebringerDemon.java @@ -4,7 +4,7 @@ package mage.cards.w; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -13,12 +13,10 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetSacrifice; /** @@ -39,8 +37,8 @@ public final class WoebringerDemon extends CardImpl { // At the beginning of each player's upkeep, that player sacrifices a creature. // If the player can't, sacrifice Woebringer Demon. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, - new WoebringerDemonEffect(), TargetController.ANY, false, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility( + TargetController.EACH_PLAYER, new WoebringerDemonEffect(), false)); } private WoebringerDemon(final WoebringerDemon card) { diff --git a/Mage.Sets/src/mage/cards/w/WojekInvestigator.java b/Mage.Sets/src/mage/cards/w/WojekInvestigator.java index 4993b5fb578..8b027f844a2 100644 --- a/Mage.Sets/src/mage/cards/w/WojekInvestigator.java +++ b/Mage.Sets/src/mage/cards/w/WojekInvestigator.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.keyword.InvestigateEffect; @@ -14,7 +14,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.TargetController; import mage.game.Game; import mage.players.Player; @@ -43,8 +42,7 @@ public final class WojekInvestigator extends CardImpl { // At the beginning of your upkeep, investigate once for each opponent who has more cards in hand than you. this.addAbility(new BeginningOfUpkeepTriggeredAbility( new InvestigateEffect(WojekInvestigatorValue.instance) - .setText("investigate once for each opponent who has more cards in hand than you"), - TargetController.YOU, false + .setText("investigate once for each opponent who has more cards in hand than you") ).addHint(WojekInvestigatorValue.getHint())); } diff --git a/Mage.Sets/src/mage/cards/w/WolfcallersHowl.java b/Mage.Sets/src/mage/cards/w/WolfcallersHowl.java index d51da155701..545ce296e9b 100644 --- a/Mage.Sets/src/mage/cards/w/WolfcallersHowl.java +++ b/Mage.Sets/src/mage/cards/w/WolfcallersHowl.java @@ -3,15 +3,13 @@ package mage.cards.w; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.token.WolfToken; import mage.players.Player; @@ -27,7 +25,7 @@ public final class WolfcallersHowl extends CardImpl { // At the beginning of your upkeep, create X 2/2 green Wolf creature tokens, where X is the number of your opponents with four or more cards in hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WolfcallersHowlEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WolfcallersHowlEffect())); } private WolfcallersHowl(final WolfcallersHowl card) { diff --git a/Mage.Sets/src/mage/cards/w/WolverineRiders.java b/Mage.Sets/src/mage/cards/w/WolverineRiders.java index bb4ba50efe5..a6bfab79dd5 100644 --- a/Mage.Sets/src/mage/cards/w/WolverineRiders.java +++ b/Mage.Sets/src/mage/cards/w/WolverineRiders.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; @@ -42,7 +42,7 @@ public final class WolverineRiders extends CardImpl { // At the beginning of each upkeep, create a 1/1 green Elf Warrior creature token. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - new CreateTokenEffect(new ElfWarriorToken()), TargetController.EACH_PLAYER, false + TargetController.ANY, new CreateTokenEffect(new ElfWarriorToken()), false )); // Whenever another Elf you control enters, you gain life equal to its toughness. diff --git a/Mage.Sets/src/mage/cards/w/WorldQueller.java b/Mage.Sets/src/mage/cards/w/WorldQueller.java index 1d68c25fedf..610aeee010c 100644 --- a/Mage.Sets/src/mage/cards/w/WorldQueller.java +++ b/Mage.Sets/src/mage/cards/w/WorldQueller.java @@ -3,7 +3,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Card; import mage.cards.CardImpl; @@ -13,7 +13,6 @@ import mage.choices.ChoiceImpl; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -35,7 +34,7 @@ public final class WorldQueller extends CardImpl { this.toughness = new MageInt(4); // At the beginning of your upkeep, you may choose a card type. If you do, each player sacrifices a permanent of that type. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WorldQuellerEffect(), TargetController.YOU, true)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new WorldQuellerEffect(), true)); } diff --git a/Mage.Sets/src/mage/cards/w/WormsOfTheEarth.java b/Mage.Sets/src/mage/cards/w/WormsOfTheEarth.java index f77447199cf..e11aa9a9f1a 100644 --- a/Mage.Sets/src/mage/cards/w/WormsOfTheEarth.java +++ b/Mage.Sets/src/mage/cards/w/WormsOfTheEarth.java @@ -1,7 +1,7 @@ package mage.cards.w; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.SacrificeTargetCost; @@ -12,13 +12,11 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetControlledPermanent; import java.util.UUID; @@ -37,7 +35,7 @@ public final class WormsOfTheEarth extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new WormsOfTheEarthEnterEffect())); // At the beginning of each upkeep, any player may sacrifice two lands or have Worms of the Earth deal 5 damage to that player. If a player does either, destroy Worms of the Earth. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WormsOfTheEarthDestroyEffect(), TargetController.EACH_PLAYER, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(TargetController.ANY, new WormsOfTheEarthDestroyEffect(), false)); } private WormsOfTheEarth(final WormsOfTheEarth card) { diff --git a/Mage.Sets/src/mage/cards/w/WorryBeads.java b/Mage.Sets/src/mage/cards/w/WorryBeads.java index 370e688e90c..60787b20ea5 100644 --- a/Mage.Sets/src/mage/cards/w/WorryBeads.java +++ b/Mage.Sets/src/mage/cards/w/WorryBeads.java @@ -1,12 +1,11 @@ package mage.cards.w; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.MillCardsTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.TargetController; -import mage.constants.Zone; import java.util.UUID; @@ -20,8 +19,8 @@ public final class WorryBeads extends CardImpl { // At the beginning of each player's upkeep, that player puts the top card of their library into their graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new MillCardsTargetEffect(1).setText("that player mills a card"), - TargetController.ANY, false, true + TargetController.EACH_PLAYER, new MillCardsTargetEffect(1).setText("that player mills a card"), + false )); } diff --git a/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java b/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java index d8ed98bb27f..88acfaa3c49 100644 --- a/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java +++ b/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java @@ -2,7 +2,7 @@ package mage.cards.w; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.SuperType; -import mage.constants.TargetController; import mage.filter.FilterCard; import mage.target.common.TargetCardInYourGraveyard; @@ -40,7 +39,7 @@ public final class WortBoggartAuntie extends CardImpl { // At the beginning of your upkeep, you may return target Goblin card from your graveyard to your hand. Ability ability = new BeginningOfUpkeepTriggeredAbility( - new ReturnFromGraveyardToHandTargetEffect(), TargetController.YOU, true + new ReturnFromGraveyardToHandTargetEffect(), true ); ability.addTarget(new TargetCardInYourGraveyard(filter)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/x/XanatharGuildKingpin.java b/Mage.Sets/src/mage/cards/x/XanatharGuildKingpin.java index c8a4b1d4ed6..37582b659b6 100644 --- a/Mage.Sets/src/mage/cards/x/XanatharGuildKingpin.java +++ b/Mage.Sets/src/mage/cards/x/XanatharGuildKingpin.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.MageObject; import mage.abilities.Ability; import mage.abilities.SpellAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.*; import mage.cards.Card; import mage.cards.CardImpl; @@ -36,9 +36,8 @@ public final class XanatharGuildKingpin extends CardImpl { // At the beginning of your upkeep, choose target opponent. Until end of turn, that player can’t cast spells, you may look at the top card of their library any time, you may play the top card of their library, and you may spend mana as though it were mana of any color to cast spells this way. Ability ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new XanatharGuildKingpinRuleModifyingEffect() - .setText("choose target opponent. Until end of turn, that player can't cast spells,"), - TargetController.YOU, false + new XanatharGuildKingpinRuleModifyingEffect() + .setText("choose target opponent. Until end of turn, that player can't cast spells,") ); ability.addEffect(new XanatharLookAtTopCardOfLibraryEffect() .setText(" you may look at the top card of their library any time,")); diff --git a/Mage.Sets/src/mage/cards/x/XathridDemon.java b/Mage.Sets/src/mage/cards/x/XathridDemon.java index 9a3973e5356..2e700baff86 100644 --- a/Mage.Sets/src/mage/cards/x/XathridDemon.java +++ b/Mage.Sets/src/mage/cards/x/XathridDemon.java @@ -5,7 +5,7 @@ import java.util.Set; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.TrampleAbility; @@ -14,15 +14,12 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetSacrifice; /** @@ -41,7 +38,7 @@ public final class XathridDemon extends CardImpl { this.addAbility(FlyingAbility.getInstance()); this.addAbility(TrampleAbility.getInstance()); // At the beginning of your upkeep, sacrifice a creature other than Xathrid Demon, then each opponent loses life equal to the sacrificed creature's power. If you can't sacrifice a creature, tap Xathrid Demon and you lose 7 life. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new XathridDemonEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new XathridDemonEffect())); } private XathridDemon(final XathridDemon card) { diff --git a/Mage.Sets/src/mage/cards/y/YawgmothDemon.java b/Mage.Sets/src/mage/cards/y/YawgmothDemon.java index 29292b537f6..d0144139fe0 100644 --- a/Mage.Sets/src/mage/cards/y/YawgmothDemon.java +++ b/Mage.Sets/src/mage/cards/y/YawgmothDemon.java @@ -2,7 +2,7 @@ package mage.cards.y; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeControllerEffect; import mage.abilities.keyword.FirstStrikeAbility; @@ -34,7 +34,7 @@ public final class YawgmothDemon extends CardImpl { // First strike this.addAbility(FirstStrikeAbility.getInstance()); // At the beginning of your upkeep, you may sacrifice an artifact. If you don't, tap Yawgmoth Demon and it deals 2 damage to you. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new YawgmothDemonEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new YawgmothDemonEffect()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java b/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java index 3fed3c88430..714cc57e277 100644 --- a/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java +++ b/Mage.Sets/src/mage/cards/z/ZealotsEnDal.java @@ -4,7 +4,7 @@ package mage.cards.z; import java.util.UUID; import mage.MageInt; import mage.ObjectColor; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; @@ -13,7 +13,6 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -41,7 +40,7 @@ public final class ZealotsEnDal extends CardImpl { // At the beginning of your upkeep, if all nonland permanents you control are white, you gain 1 life. this.addAbility(new ConditionalInterveningIfTriggeredAbility( - new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1), TargetController.YOU, false), + new BeginningOfUpkeepTriggeredAbility(new GainLifeEffect(1)), new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)), "At the beginning of your upkeep, if all nonland permanents you control are white, you gain 1 life." )); diff --git a/Mage.Sets/src/mage/cards/z/ZedruuTheGreathearted.java b/Mage.Sets/src/mage/cards/z/ZedruuTheGreathearted.java index dc895db40b8..a23b545a576 100644 --- a/Mage.Sets/src/mage/cards/z/ZedruuTheGreathearted.java +++ b/Mage.Sets/src/mage/cards/z/ZedruuTheGreathearted.java @@ -2,7 +2,7 @@ package mage.cards.z; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.dynamicvalue.common.PermanentsYouOwnThatOpponentsControlCount; @@ -34,7 +34,7 @@ public final class ZedruuTheGreathearted extends CardImpl { // At the beginning of your upkeep, you gain X life and draw X cards, where X is the number of permanents you own that your opponents control. Effect effect = new GainLifeEffect(PermanentsYouOwnThatOpponentsControlCount.instance); effect.setText("you gain X life"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(effect, TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(effect); effect = new DrawCardSourceControllerEffect(PermanentsYouOwnThatOpponentsControlCount.instance); effect.setText("and draw X cards, where X is the number of permanents you own that your opponents control"); ability.addEffect(effect); diff --git a/Mage.Sets/src/mage/cards/z/ZzzyxassAbyss.java b/Mage.Sets/src/mage/cards/z/ZzzyxassAbyss.java index d0c7c38ae32..3e65cae2045 100644 --- a/Mage.Sets/src/mage/cards/z/ZzzyxassAbyss.java +++ b/Mage.Sets/src/mage/cards/z/ZzzyxassAbyss.java @@ -6,14 +6,13 @@ import java.util.Collections; import java.util.List; import java.util.UUID; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.common.FilterNonlandPermanent; import mage.filter.predicate.mageobject.NamePredicate; @@ -31,7 +30,7 @@ public final class ZzzyxassAbyss extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}{B}"); // At the beginning of your upkeep, destroy all nonland permanents with the first name alphabetically among nonland permanents. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ZzzyxassAbyssEffect(), TargetController.YOU, false)); + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ZzzyxassAbyssEffect())); } private ZzzyxassAbyss(final ZzzyxassAbyss card) { diff --git a/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java deleted file mode 100644 index 8dd7347b77f..00000000000 --- a/Mage/src/main/java/mage/abilities/common/BeginningOfUpkeepTriggeredAbility.java +++ /dev/null @@ -1,127 +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 Loki - */ -public class BeginningOfUpkeepTriggeredAbility extends TriggeredAbilityImpl { - - private final TargetController targetController; - private final boolean setTargetPointer; - - public BeginningOfUpkeepTriggeredAbility(Effect effect, TargetController targetController, boolean isOptional) { - this(Zone.BATTLEFIELD, effect, targetController, isOptional); - } - - public BeginningOfUpkeepTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional) { - this(zone, effect, targetController, isOptional, true); - } - - public BeginningOfUpkeepTriggeredAbility(Zone zone, Effect effect, TargetController targetController, boolean isOptional, boolean setTargetPointer) { - super(zone, effect, isOptional); - this.targetController = targetController; - this.setTargetPointer = setTargetPointer; - setTriggerPhrase(generateTriggerPhrase()); - } - - protected BeginningOfUpkeepTriggeredAbility(final BeginningOfUpkeepTriggeredAbility ability) { - super(ability); - this.targetController = ability.targetController; - this.setTargetPointer = ability.setTargetPointer; - } - - @Override - public BeginningOfUpkeepTriggeredAbility copy() { - return new BeginningOfUpkeepTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.UPKEEP_STEP_PRE; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - switch (targetController) { - case YOU: - boolean yours = event.getPlayerId().equals(this.controllerId); - if (yours && setTargetPointer && getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return yours; - case NOT_YOU: - boolean notYours = !event.getPlayerId().equals(this.controllerId); - if (notYours && setTargetPointer && getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return notYours; - case OPPONENT: - if (game.getPlayer(this.controllerId).hasOpponent(event.getPlayerId(), game)) { - if (setTargetPointer && getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - } - break; - case ANY: - case ACTIVE: - case EACH_PLAYER: - if (setTargetPointer && getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - 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 (setTargetPointer && 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 (setTargetPointer && getTargets().isEmpty()) { - this.getEffects().setTargetPointer(new FixedTarget(event.getPlayerId())); - } - return true; - default: - throw new UnsupportedOperationException("Value for targetController not supported: " + targetController); - } - return false; - } - - private String generateTriggerPhrase() { - switch (targetController) { - case YOU: - return "At the beginning of your upkeep, "; - case OPPONENT: - return "At the beginning of each opponent's upkeep, "; - case ANY: - case ACTIVE: - return "At the beginning of each player's upkeep, "; - case EACH_PLAYER: - return "At the beginning of each upkeep, "; - case CONTROLLER_ATTACHED_TO: - return "At the beginning of the upkeep of enchanted creature's controller, "; - case ENCHANTED: - return "At the beginning of enchanted player's upkeep, "; - } - return ""; - } - -} diff --git a/Mage/src/main/java/mage/abilities/common/SanctuaryInterveningIfTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/SanctuaryInterveningIfTriggeredAbility.java index 1e47135d91a..450811e56c1 100644 --- a/Mage/src/main/java/mage/abilities/common/SanctuaryInterveningIfTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/SanctuaryInterveningIfTriggeredAbility.java @@ -10,7 +10,7 @@ import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.OneShotEffect; -import mage.constants.TargetController; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -41,7 +41,7 @@ public class SanctuaryInterveningIfTriggeredAbility extends ConditionalInterveni private static TriggeredAbility makeTrigger(OneShotEffect effect1, OneShotEffect effect2, ObjectColor color1, ObjectColor color2) { TriggeredAbility ability = new BeginningOfUpkeepTriggeredAbility( - new ConditionalOneShotEffect(effect1, new InvertCondition(makeAndCondition(color1, color2))), TargetController.YOU, false + new ConditionalOneShotEffect(effect1, new InvertCondition(makeAndCondition(color1, color2))) ); ability.addEffect(new ConditionalOneShotEffect(effect2, makeAndCondition(color1, color2))); return ability; diff --git a/Mage/src/main/java/mage/abilities/common/WerewolfBackTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/WerewolfBackTriggeredAbility.java index 1915abb7ec7..127de0b1964 100644 --- a/Mage/src/main/java/mage/abilities/common/WerewolfBackTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/WerewolfBackTriggeredAbility.java @@ -2,6 +2,7 @@ package mage.abilities.common; import mage.abilities.condition.common.TwoOrMoreSpellsWereCastLastTurnCondition; import mage.abilities.effects.common.TransformSourceEffect; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.constants.TargetController; import mage.game.Game; @@ -11,7 +12,7 @@ import mage.game.Game; public class WerewolfBackTriggeredAbility extends BeginningOfUpkeepTriggeredAbility { public WerewolfBackTriggeredAbility() { - super(new TransformSourceEffect(), TargetController.ANY, false); + super(TargetController.ANY, new TransformSourceEffect(), false); } private WerewolfBackTriggeredAbility(final WerewolfBackTriggeredAbility ability) { diff --git a/Mage/src/main/java/mage/abilities/common/WerewolfFrontTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/WerewolfFrontTriggeredAbility.java index 033cb066818..30029290476 100644 --- a/Mage/src/main/java/mage/abilities/common/WerewolfFrontTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/WerewolfFrontTriggeredAbility.java @@ -2,6 +2,7 @@ package mage.abilities.common; import mage.abilities.condition.common.NoSpellsWereCastLastTurnCondition; import mage.abilities.effects.common.TransformSourceEffect; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.constants.TargetController; import mage.game.Game; @@ -11,7 +12,7 @@ import mage.game.Game; public class WerewolfFrontTriggeredAbility extends BeginningOfUpkeepTriggeredAbility { public WerewolfFrontTriggeredAbility() { - super(new TransformSourceEffect(), TargetController.ANY, false); + super(TargetController.ANY, new TransformSourceEffect(), false); } private WerewolfFrontTriggeredAbility(final WerewolfFrontTriggeredAbility ability) { diff --git a/Mage/src/main/java/mage/abilities/keyword/CumulativeUpkeepAbility.java b/Mage/src/main/java/mage/abilities/keyword/CumulativeUpkeepAbility.java index 6cbb2b88141..dc98e9c11ce 100644 --- a/Mage/src/main/java/mage/abilities/keyword/CumulativeUpkeepAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/CumulativeUpkeepAbility.java @@ -1,7 +1,7 @@ package mage.abilities.keyword; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.CostsImpl; import mage.abilities.costs.OrCost; @@ -10,7 +10,6 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.events.GameEvent; @@ -28,7 +27,7 @@ public class CumulativeUpkeepAbility extends BeginningOfUpkeepTriggeredAbility { private final Cost cumulativeCost; public CumulativeUpkeepAbility(Cost cumulativeCost) { - super(new AddCountersSourceEffect(CounterType.AGE.createInstance()), TargetController.YOU, false); + super(new AddCountersSourceEffect(CounterType.AGE.createInstance())); this.addEffect(new CumulativeUpkeepEffect(cumulativeCost)); this.cumulativeCost = cumulativeCost; } diff --git a/Mage/src/main/java/mage/abilities/keyword/FadingAbility.java b/Mage/src/main/java/mage/abilities/keyword/FadingAbility.java index 139178b4b48..4ec43987d65 100644 --- a/Mage/src/main/java/mage/abilities/keyword/FadingAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/FadingAbility.java @@ -1,14 +1,13 @@ package mage.abilities.keyword; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.Card; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -30,7 +29,7 @@ public class FadingAbility extends EntersBattlefieldAbility { public FadingAbility(int fadeCounter, Card card, boolean shortRuleText) { super(new AddCountersSourceEffect(CounterType.FADE.createInstance(fadeCounter)), "with"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(new FadingEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new FadingEffect()); ability.setRuleVisible(false); addSubAbility(ability); String cardTypeName; diff --git a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java index ea06fade7e3..b559e965b33 100644 --- a/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/RepairAbility.java @@ -2,7 +2,7 @@ package mage.abilities.keyword; import mage.abilities.Ability; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.DiesSourceTriggeredAbility; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.OneShotEffect; @@ -31,7 +31,7 @@ public class RepairAbility extends DiesSourceTriggeredAbility { super(new AddCountersSourceEffect( CounterType.REPAIR.createInstance(), StaticValue.get(count), false, true)); addSubAbility(new BeginningOfUpkeepTriggeredAbility(Zone.GRAVEYARD, - new RemoveCounterSourceEffect(CounterType.REPAIR.createInstance()), TargetController.YOU, false) + TargetController.YOU, new RemoveCounterSourceEffect(CounterType.REPAIR.createInstance()), false) .setRuleVisible(false)); addSubAbility(new RepairCastFromGraveyardTriggeredAbility()); this.count = count; diff --git a/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java b/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java index e650da64961..94972323c83 100644 --- a/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/SuspendAbility.java @@ -5,7 +5,7 @@ import mage.MageIdentifier; import mage.abilities.Ability; import mage.abilities.SpecialAction; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.condition.common.SuspendedCondition; import mage.abilities.costs.VariableCostType; import mage.abilities.costs.mana.ManaCost; @@ -430,8 +430,8 @@ class GainHasteEffect extends ContinuousEffectImpl { class SuspendBeginningOfUpkeepInterveningIfTriggeredAbility extends ConditionalInterveningIfTriggeredAbility { SuspendBeginningOfUpkeepInterveningIfTriggeredAbility() { - super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), - TargetController.YOU, false), + super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, TargetController.YOU, new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), + false), SuspendedCondition.instance, "At the beginning of your upkeep, if {this} is suspended, remove a time counter from it."); this.setRuleVisible(false); diff --git a/Mage/src/main/java/mage/abilities/keyword/VanishingAbility.java b/Mage/src/main/java/mage/abilities/keyword/VanishingAbility.java index 6a94262e3a0..d414fce5881 100644 --- a/Mage/src/main/java/mage/abilities/keyword/VanishingAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/VanishingAbility.java @@ -1,7 +1,7 @@ package mage.abilities.keyword; import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; @@ -9,7 +9,6 @@ import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; -import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -30,8 +29,7 @@ public class VanishingAbility extends EntersBattlefieldAbility { this.amount = amount; this.addSubAbility(new ConditionalInterveningIfTriggeredAbility( new BeginningOfUpkeepTriggeredAbility( - new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), - TargetController.YOU, false + new RemoveCounterSourceEffect(CounterType.TIME.createInstance()), false ), condition, "At the beginning of your upkeep, if this permanent " + "has a time counter on it, remove a time counter from it." ).setRuleVisible(false)); diff --git a/Mage/src/main/java/mage/abilities/triggers/BeginningOfUpkeepTriggeredAbility.java b/Mage/src/main/java/mage/abilities/triggers/BeginningOfUpkeepTriggeredAbility.java new file mode 100644 index 00000000000..efa8b3b6ad3 --- /dev/null +++ b/Mage/src/main/java/mage/abilities/triggers/BeginningOfUpkeepTriggeredAbility.java @@ -0,0 +1,73 @@ +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 Loki + */ +public class BeginningOfUpkeepTriggeredAbility extends AtStepTriggeredAbility { + + /** + * At the beginning of your upkeep (optional = false) + */ + public BeginningOfUpkeepTriggeredAbility(Effect effect) { + this(effect, false); + } + + /** + * At the beginning of your upkeep + */ + public BeginningOfUpkeepTriggeredAbility(Effect effect, boolean optional) { + this(TargetController.YOU, effect, optional); + } + + public BeginningOfUpkeepTriggeredAbility(TargetController targetController, Effect effect, boolean optional) { + this(Zone.BATTLEFIELD, targetController, effect, optional); + } + + + public BeginningOfUpkeepTriggeredAbility(Zone zone, TargetController targetController, Effect effect, boolean optional) { + super(zone, targetController, effect, optional); + } + + protected BeginningOfUpkeepTriggeredAbility(final BeginningOfUpkeepTriggeredAbility ability) { + super(ability); + } + + @Override + public BeginningOfUpkeepTriggeredAbility copy() { + return new BeginningOfUpkeepTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.UPKEEP_STEP_PRE; + } + + @Override + protected String generateTriggerPhrase() { + switch (targetController) { + case YOU: + return "At the beginning of your upkeep, "; + case NOT_YOU: + return "At the beginning of each other player's upkeep, "; + case OPPONENT: + return "At the beginning of each opponent's upkeep, "; + case ANY: + return "At the beginning of each upkeep, "; + case EACH_PLAYER: + return "At the beginning of each player's upkeep, "; + case CONTROLLER_ATTACHED_TO: + return "At the beginning of the upkeep of enchanted creature's controller, "; + case ENCHANTED: + return "At the beginning of enchanted player's upkeep, "; + default: + throw new UnsupportedOperationException("Unsupported TargetController in BeginningOfUpkeepTriggeredAbility: " + targetController); + } + } + +} diff --git a/Mage/src/main/java/mage/game/command/emblems/ChandraAwakenedInfernoEmblem.java b/Mage/src/main/java/mage/game/command/emblems/ChandraAwakenedInfernoEmblem.java index 2ff7a902f3b..1521760025d 100644 --- a/Mage/src/main/java/mage/game/command/emblems/ChandraAwakenedInfernoEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/ChandraAwakenedInfernoEmblem.java @@ -1,6 +1,6 @@ package mage.game.command.emblems; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.constants.TargetController; import mage.constants.Zone; @@ -19,8 +19,8 @@ public final class ChandraAwakenedInfernoEmblem extends Emblem { public ChandraAwakenedInfernoEmblem() { super("Emblem Chandra"); this.getAbilities().add(new BeginningOfUpkeepTriggeredAbility( - Zone.COMMAND, new DamageControllerEffect(1, "this emblem"), - TargetController.YOU, false, true + Zone.COMMAND, TargetController.YOU, new DamageControllerEffect(1, "this emblem"), + false )); } diff --git a/Mage/src/main/java/mage/game/command/emblems/ChandraRoaringFlameEmblem.java b/Mage/src/main/java/mage/game/command/emblems/ChandraRoaringFlameEmblem.java index 7ef6beed953..c385f93fe97 100644 --- a/Mage/src/main/java/mage/game/command/emblems/ChandraRoaringFlameEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/ChandraRoaringFlameEmblem.java @@ -1,6 +1,6 @@ package mage.game.command.emblems; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; import mage.constants.TargetController; @@ -21,7 +21,7 @@ public final class ChandraRoaringFlameEmblem extends Emblem { super("Emblem Chandra"); Effect effect = new DamageTargetEffect(3); effect.setText("this emblem deals 3 damage to you"); - this.getAbilities().add(new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, effect, TargetController.YOU, false, true)); + this.getAbilities().add(new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, TargetController.YOU, effect, false)); } private ChandraRoaringFlameEmblem(final ChandraRoaringFlameEmblem card) { diff --git a/Mage/src/main/java/mage/game/command/emblems/KayaTheInexorableEmblem.java b/Mage/src/main/java/mage/game/command/emblems/KayaTheInexorableEmblem.java index 1051fcc4b11..0dacb1e09cb 100644 --- a/Mage/src/main/java/mage/game/command/emblems/KayaTheInexorableEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/KayaTheInexorableEmblem.java @@ -1,7 +1,7 @@ package mage.game.command.emblems; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.Cards; import mage.cards.CardsImpl; @@ -31,8 +31,8 @@ public class KayaTheInexorableEmblem extends Emblem { super("Emblem Kaya"); this.getAbilities().add(new BeginningOfUpkeepTriggeredAbility( - Zone.COMMAND, new KayaTheInexorableEmblemEffect(), - TargetController.YOU, true, false + Zone.COMMAND, TargetController.YOU, new KayaTheInexorableEmblemEffect(), + true )); } diff --git a/Mage/src/main/java/mage/game/command/emblems/SorinSolemnVisitorEmblem.java b/Mage/src/main/java/mage/game/command/emblems/SorinSolemnVisitorEmblem.java index 7a8ee216e58..b46c43036e4 100644 --- a/Mage/src/main/java/mage/game/command/emblems/SorinSolemnVisitorEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/SorinSolemnVisitorEmblem.java @@ -1,7 +1,7 @@ package mage.game.command.emblems; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.SacrificeEffect; import mage.constants.TargetController; import mage.constants.Zone; @@ -19,7 +19,7 @@ public final class SorinSolemnVisitorEmblem extends Emblem { */ public SorinSolemnVisitorEmblem() { super("Emblem Sorin"); - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "that player"), TargetController.OPPONENT, false, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, TargetController.OPPONENT, new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "that player"), false); this.getAbilities().add(ability); } diff --git a/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java b/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java index e0bfde62ab0..df2afb770af 100644 --- a/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java +++ b/Mage/src/main/java/mage/game/command/planes/LetheLakePlane.java @@ -2,7 +2,7 @@ package mage.game.command.planes; import mage.abilities.Ability; import mage.abilities.common.ActivateIfConditionActivatedAbility; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.MainPhaseStackEmptyCondition; import mage.abilities.costs.mana.GenericManaCost; @@ -30,7 +30,7 @@ public class LetheLakePlane extends Plane { this.setPlaneType(Planes.PLANE_LETHE_LAKE); // At the beginning of your upkeep, put the top ten cards of your libary into your graveyard - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, new MillCardsTargetEffect(10).setText("that player mills 10 cards"), TargetController.ANY, false, true); + Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.COMMAND, TargetController.ANY, new MillCardsTargetEffect(10).setText("that player mills 10 cards"), false); this.getAbilities().add(ability); // Active player can roll the planar die: Whenever you roll {CHAOS}, target player puts the top ten cards of their library into their graveyard diff --git a/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java b/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java index 6282ac003e2..68691739dba 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BelzenlokDemonToken.java @@ -2,7 +2,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeControllerEffect; @@ -11,7 +11,6 @@ import mage.abilities.keyword.TrampleAbility; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.Game; @@ -32,7 +31,7 @@ public final class BelzenlokDemonToken extends TokenImpl { toughness = new MageInt(6); addAbility(FlyingAbility.getInstance()); addAbility(TrampleAbility.getInstance()); - addAbility(new BeginningOfUpkeepTriggeredAbility(new BelzenlokDemonTokenEffect(), TargetController.YOU, false)); + addAbility(new BeginningOfUpkeepTriggeredAbility(new BelzenlokDemonTokenEffect())); } private BelzenlokDemonToken(final BelzenlokDemonToken token) { diff --git a/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java b/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java index 04b4bdacd9f..18c0328c94a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RekindlingPhoenixToken.java @@ -2,7 +2,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; @@ -25,7 +25,7 @@ public final class RekindlingPhoenixToken extends TokenImpl { power = new MageInt(0); toughness = new MageInt(1); - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SacrificeSourceEffect(), TargetController.YOU, false); + Ability ability = new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceEffect()); ability.addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect().setText("and return target card named Rekindling Phoenix from your graveyard to the battlefield")); ability.addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn).setText("It gains haste until end of turn")); FilterCard filter = new FilterCard("card named Rekindling Phoenix from your graveyard"); diff --git a/Mage/src/main/java/mage/game/permanent/token/RelicRobberToken.java b/Mage/src/main/java/mage/game/permanent/token/RelicRobberToken.java index d696dab0b1d..4a56ffbb85d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RelicRobberToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RelicRobberToken.java @@ -1,14 +1,13 @@ package mage.game.permanent.token; import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.combat.CantBlockSourceEffect; import mage.constants.CardType; import mage.constants.Duration; import mage.constants.SubType; -import mage.constants.TargetController; public final class RelicRobberToken extends TokenImpl { @@ -26,7 +25,7 @@ public final class RelicRobberToken extends TokenImpl { )); this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DamageControllerEffect( 1, "this creature" - ), TargetController.YOU, false)); + ))); } private RelicRobberToken(final RelicRobberToken token) {