diff --git a/Mage.Sets/src/mage/cards/a/AcidicDagger.java b/Mage.Sets/src/mage/cards/a/AcidicDagger.java index a33f2c051fe..5cd4d7e2e98 100644 --- a/Mage.Sets/src/mage/cards/a/AcidicDagger.java +++ b/Mage.Sets/src/mage/cards/a/AcidicDagger.java @@ -5,7 +5,7 @@ import mage.abilities.DelayedTriggeredAbility; import mage.abilities.condition.common.BeforeBlockersAreDeclaredCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.DestroyTargetEffect; @@ -39,7 +39,7 @@ public final class AcidicDagger extends CardImpl { // {4}, {tap}: Whenever target creature deals combat damage to a non-Wall creature this turn, // destroy that non-Wall creature. When the targeted creature leaves the battlefield this turn, // sacrifice Acidic Dagger. Activate this ability only before blockers are declared. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new CreateDelayedTriggeredAbilityEffect(new AcidicDaggerDestroyNonWallAbility()), new GenericManaCost(4), BeforeBlockersAreDeclaredCondition.instance); diff --git a/Mage.Sets/src/mage/cards/a/AncientHellkite.java b/Mage.Sets/src/mage/cards/a/AncientHellkite.java index 2f2817456f7..f8c7be121be 100644 --- a/Mage.Sets/src/mage/cards/a/AncientHellkite.java +++ b/Mage.Sets/src/mage/cards/a/AncientHellkite.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.condition.common.SourceAttackingCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -40,7 +40,7 @@ public final class AncientHellkite extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // {R}: Ancient Hellkite deals 1 damage to target creature defending player controls. Activate this ability only if Ancient Hellkite is attacking. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DamageTargetEffect(1), new ManaCostsImpl<>("{R}"), SourceAttackingCondition.instance ); ability.addTarget(new TargetPermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java b/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java index 60d1f2d05a6..b4c32e6729b 100644 --- a/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java +++ b/Mage.Sets/src/mage/cards/a/ArchOfOrazca.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.hint.common.CitysBlessingHint; import mage.abilities.keyword.AscendAbility; @@ -30,7 +30,7 @@ public final class ArchOfOrazca extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {5}, {T}: Draw a card. Activate this ability only if you have the city's blessing. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new GenericManaCost(5), CitysBlessingCondition.instance ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/a/ArcumsSleigh.java b/Mage.Sets/src/mage/cards/a/ArcumsSleigh.java index 8601c8c0fe5..2939f784eb1 100644 --- a/Mage.Sets/src/mage/cards/a/ArcumsSleigh.java +++ b/Mage.Sets/src/mage/cards/a/ArcumsSleigh.java @@ -8,7 +8,7 @@ import mage.abilities.condition.common.DefendingPlayerControlsNoSourceCondition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; @@ -41,7 +41,7 @@ public final class ArcumsSleigh extends CardImpl { new DefendingPlayerControlsNoSourceCondition(filter) // Only if defending player controls a snow land ); - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new GainAbilityTargetEffect(VigilanceAbility.getInstance()), new GenericManaCost(2), condition); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java index 546f882d775..8d02db5fa89 100644 --- a/Mage.Sets/src/mage/cards/a/ArmageddonClock.java +++ b/Mage.Sets/src/mage/cards/a/ArmageddonClock.java @@ -3,7 +3,7 @@ package mage.cards.a; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.DamagePlayersEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -40,7 +40,7 @@ public final class ArmageddonClock extends CardImpl { )); // {4}: Remove a doom counter from Armageddon Clock. Any player may activate this ability but only during any upkeep step. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new RemoveCounterSourceEffect(CounterType.DOOM.createInstance()), new GenericManaCost(4), condition ).withConditionText("any player may activate this ability but only during any upkeep step").setMayActivate(TargetController.ANY)); } diff --git a/Mage.Sets/src/mage/cards/a/AshenGhoul.java b/Mage.Sets/src/mage/cards/a/AshenGhoul.java index 739c9488d1e..dd6e82e095e 100644 --- a/Mage.Sets/src/mage/cards/a/AshenGhoul.java +++ b/Mage.Sets/src/mage/cards/a/AshenGhoul.java @@ -6,7 +6,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.abilities.keyword.HasteAbility; import mage.cards.Card; @@ -36,7 +36,7 @@ public final class AshenGhoul extends CardImpl { this.addAbility(HasteAbility.getInstance()); // {B}: Return Ashen Ghoul from your graveyard to the battlefield. Activate this ability only during your upkeep and only if three or more creature cards are above Ashen Ghoul. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(), new ManaCostsImpl<>("{B}"), diff --git a/Mage.Sets/src/mage/cards/a/AugurIlVec.java b/Mage.Sets/src/mage/cards/a/AugurIlVec.java index 651039dc3b4..36f5a8ac220 100644 --- a/Mage.Sets/src/mage/cards/a/AugurIlVec.java +++ b/Mage.Sets/src/mage/cards/a/AugurIlVec.java @@ -3,7 +3,7 @@ package mage.cards.a; import mage.MageInt; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; @@ -29,7 +29,7 @@ public final class AugurIlVec extends CardImpl { this.addAbility(ShadowAbility.getInstance()); // Sacrifice Augur il-Vec: You gain 4 life. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new GainLifeEffect(4), new SacrificeSourceCost(), IsStepCondition.getMyUpkeep() )); } diff --git a/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java b/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java index 04b929bb1ac..ac611228f2f 100644 --- a/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java +++ b/Mage.Sets/src/mage/cards/a/AugurOfSkulls.java @@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.RegenerateSourceEffect; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; @@ -33,7 +33,7 @@ public final class AugurOfSkulls extends CardImpl { this.addAbility(new SimpleActivatedAbility(new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{B}"))); // Sacrifice Augur of Skulls: Target player discards two cards. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DiscardTargetEffect(2), new SacrificeSourceCost(), IsStepCondition.getMyUpkeep() ); ability.addTarget(new TargetPlayer()); diff --git a/Mage.Sets/src/mage/cards/a/AvenAugur.java b/Mage.Sets/src/mage/cards/a/AvenAugur.java index f4bcd02c8d8..ff46d3db90c 100644 --- a/Mage.Sets/src/mage/cards/a/AvenAugur.java +++ b/Mage.Sets/src/mage/cards/a/AvenAugur.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -31,7 +31,7 @@ public final class AvenAugur extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // Sacrifice Aven Augur: Return up to two target creatures to their owners' hands. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ReturnToHandTargetEffect(), new SacrificeSourceCost(), IsStepCondition.getMyUpkeep() ); ability.addTarget(new TargetCreaturePermanent(0, 2)); diff --git a/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java b/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java index 9dfcd56e85b..5a88961c075 100644 --- a/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java +++ b/Mage.Sets/src/mage/cards/a/AyliEternalPilgrim.java @@ -7,7 +7,7 @@ import mage.abilities.condition.common.MoreThanStartingLifeTotalCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.SacrificeCostCreaturesToughness; import mage.abilities.effects.Effect; import mage.abilities.effects.common.ExileTargetEffect; @@ -46,7 +46,7 @@ public final class AyliEternalPilgrim extends CardImpl { this.addAbility(ability); // {1}{W}{B}, Sacrifice another creature: Exile target nonland permanent. Activate only if you have at least 10 life more than your starting life total. - ability = new ConditionalActivatedAbility( + ability = new ActivateIfConditionActivatedAbility( new ExileTargetEffect(), new ManaCostsImpl<>("{1}{W}{B}"), MoreThanStartingLifeTotalCondition.TEN ); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE)); diff --git a/Mage.Sets/src/mage/cards/b/BalduvianHydra.java b/Mage.Sets/src/mage/cards/b/BalduvianHydra.java index fa26b79f05d..a4ea88e3b0d 100644 --- a/Mage.Sets/src/mage/cards/b/BalduvianHydra.java +++ b/Mage.Sets/src/mage/cards/b/BalduvianHydra.java @@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; import mage.abilities.effects.common.PreventDamageToSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -41,7 +41,7 @@ public final class BalduvianHydra extends CardImpl { )); // {R}{R}{R}: Put a +1/+0 counter on Balduvian Hydra. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new AddCountersSourceEffect(CounterType.P1P0.createInstance(1)), new ManaCostsImpl<>("{R}{R}{R}"), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/b/BalduvianWarlord.java b/Mage.Sets/src/mage/cards/b/BalduvianWarlord.java index 5cb0faedecd..40e0af18fb4 100644 --- a/Mage.Sets/src/mage/cards/b/BalduvianWarlord.java +++ b/Mage.Sets/src/mage/cards/b/BalduvianWarlord.java @@ -5,7 +5,7 @@ import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.RemoveFromCombatTargetEffect; @@ -41,7 +41,7 @@ public final class BalduvianWarlord extends CardImpl { this.toughness = new MageInt(2); // {T}: Remove target blocking creature from combat. Creatures it was blocking that hadn't become blocked by another creature this combat become unblocked, then it blocks an attacking creature of your choice. Activate this ability only during the declare blockers step. - Ability ability = new ConditionalActivatedAbility(new BalduvianWarlordUnblockEffect(), new TapSourceCost(), new IsStepCondition(PhaseStep.DECLARE_BLOCKERS, false)); + Ability ability = new ActivateIfConditionActivatedAbility(new BalduvianWarlordUnblockEffect(), new TapSourceCost(), new IsStepCondition(PhaseStep.DECLARE_BLOCKERS, false)); ability.addTarget(new TargetPermanent(new FilterBlockingCreature())); this.addAbility(ability, new BlockedByOnlyOneCreatureThisCombatWatcher()); } diff --git a/Mage.Sets/src/mage/cards/b/BarbarianRing.java b/Mage.Sets/src/mage/cards/b/BarbarianRing.java index bc645427ae1..8b6de7af953 100644 --- a/Mage.Sets/src/mage/cards/b/BarbarianRing.java +++ b/Mage.Sets/src/mage/cards/b/BarbarianRing.java @@ -5,7 +5,7 @@ import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.mana.RedManaAbility; @@ -31,7 +31,7 @@ public final class BarbarianRing extends CardImpl { this.addAbility(redManaAbility); // Threshold - {R}, {T}, Sacrifice Barbarian Ring: Barbarian Ring deals 2 damage to any target. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new DamageTargetEffect(2, "it"), new ManaCostsImpl<>("{R}"), ThresholdCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/b/BilboBirthdayCelebrant.java b/Mage.Sets/src/mage/cards/b/BilboBirthdayCelebrant.java index 036502e3560..943349de552 100644 --- a/Mage.Sets/src/mage/cards/b/BilboBirthdayCelebrant.java +++ b/Mage.Sets/src/mage/cards/b/BilboBirthdayCelebrant.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.costs.common.ExileSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.replacement.GainPlusOneLifeReplacementEffect; import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; @@ -39,7 +39,7 @@ public final class BilboBirthdayCelebrant extends CardImpl { this.addAbility(new SimpleStaticAbility(new GainPlusOneLifeReplacementEffect())); // {2}{W}{B}{G}, {T}, Exile Bilbo, Birthday Celebrant: Search your library for any number of creature cards, put them onto the battlefield, then shuffle. Activate only if you have 111 or more life. - Ability ability = new ConditionalActivatedAbility(new SearchLibraryPutInPlayEffect( + Ability ability = new ActivateIfConditionActivatedAbility(new SearchLibraryPutInPlayEffect( new TargetCardInLibrary(0, Integer.MAX_VALUE, StaticFilters.FILTER_CARD_CREATURES) ), new ManaCostsImpl<>("{2}{W}{B}{G}"), BilboBirthdayCelebrantCondition.instance); ability.addCost(new TapSourceCost()); @@ -69,4 +69,4 @@ enum BilboBirthdayCelebrantCondition implements Condition { public String toString() { return "you have 111 or more life"; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/b/BlackCarriage.java b/Mage.Sets/src/mage/cards/b/BlackCarriage.java index 99181df4f3a..661c507e0ca 100644 --- a/Mage.Sets/src/mage/cards/b/BlackCarriage.java +++ b/Mage.Sets/src/mage/cards/b/BlackCarriage.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; import mage.abilities.effects.common.UntapSourceEffect; import mage.abilities.keyword.TrampleAbility; @@ -34,7 +34,7 @@ public final class BlackCarriage extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect())); // Sacrifice a creature: Untap Black Carriage. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new UntapSourceEffect(), new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java b/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java index cf248eed768..5b1c751f4b0 100644 --- a/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java +++ b/Mage.Sets/src/mage/cards/b/BloodsoakedChampion.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.common.CantBlockAbility; import mage.abilities.condition.common.RaidCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.abilities.hint.common.RaidHint; import mage.cards.CardImpl; @@ -33,7 +33,7 @@ public final class BloodsoakedChampion extends CardImpl { this.addAbility(new CantBlockAbility()); // Raid — {1}{B}: Return Bloodstained Brave from your graveyard to the battlefield. Activate this ability only if you attacked this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(), new ManaCostsImpl<>("{1}{B}"), RaidCondition.instance ).setAbilityWord(AbilityWord.RAID).addHint(RaidHint.instance), new PlayerAttackedWatcher()); diff --git a/Mage.Sets/src/mage/cards/b/BoxingRing.java b/Mage.Sets/src/mage/cards/b/BoxingRing.java index 5147a7704a1..cab3c136b8e 100644 --- a/Mage.Sets/src/mage/cards/b/BoxingRing.java +++ b/Mage.Sets/src/mage/cards/b/BoxingRing.java @@ -6,7 +6,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldControlledTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; @@ -56,7 +56,7 @@ public final class BoxingRing extends CardImpl { this.addAbility(ability); // {T}: Create a Treasure token. Activate only if you control a creature that fought this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new CreateTokenEffect(new TreasureToken()), new TapSourceCost(), BoxingRingCondition.instance ), new BoxingRingWatcher()); } diff --git a/Mage.Sets/src/mage/cards/b/BrotherhoodScribe.java b/Mage.Sets/src/mage/cards/b/BrotherhoodScribe.java index af932033555..eebfc363f3c 100644 --- a/Mage.Sets/src/mage/cards/b/BrotherhoodScribe.java +++ b/Mage.Sets/src/mage/cards/b/BrotherhoodScribe.java @@ -7,7 +7,7 @@ import mage.MageInt; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.condition.common.MetalcraftCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.abilities.hint.common.MetalcraftHint; @@ -32,7 +32,7 @@ public final class BrotherhoodScribe extends CardImpl { this.toughness = new MageInt(3); // Metalcraft -- {T}: You get {E}. Activate only if you control three or more artifacts. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new GetEnergyCountersControllerEffect(1), new TapSourceCost(), MetalcraftCondition.instance) diff --git a/Mage.Sets/src/mage/cards/b/BuzzingWhackADoodle.java b/Mage.Sets/src/mage/cards/b/BuzzingWhackADoodle.java index 5f01e88c276..07360cdcf3d 100644 --- a/Mage.Sets/src/mage/cards/b/BuzzingWhackADoodle.java +++ b/Mage.Sets/src/mage/cards/b/BuzzingWhackADoodle.java @@ -5,7 +5,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.IntCompareCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -36,20 +36,20 @@ public final class BuzzingWhackADoodle extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new BuzzingWhackADoodleEffect(), false)); // *Whack - T: Target player loses 2 life. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new LoseLifeTargetEffect(2), new TapSourceCost(), new WhackCondition() ); ability.addTarget(new TargetPlayer()); this.addAbility(ability); // *Doodle - T: You gain 3 life. - Ability ability2 = new ConditionalActivatedAbility( + Ability ability2 = new ActivateIfConditionActivatedAbility( new GainLifeEffect(3), new TapSourceCost(), new DoodleCondition() ); this.addAbility(ability2); // *Buzz - 2, T: Draw a card. - Ability ability3 = new ConditionalActivatedAbility( + Ability ability3 = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}"), new BuzzCondition() ); ability3.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/CabalInquisitor.java b/Mage.Sets/src/mage/cards/c/CabalInquisitor.java index e6129522ac4..b6cb7292f82 100644 --- a/Mage.Sets/src/mage/cards/c/CabalInquisitor.java +++ b/Mage.Sets/src/mage/cards/c/CabalInquisitor.java @@ -6,7 +6,7 @@ import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.ExileFromGraveCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -34,7 +34,7 @@ public final class CabalInquisitor extends CardImpl { this.toughness = new MageInt(1); // Threshold - {1}{B}, {T}, Exile two cards from your graveyard: Target player discards a card. Activate this ability only any time you could cast a sorcery, and only if seven or more cards are in your graveyard. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DiscardTargetEffect(1), new ManaCostsImpl<>("{1}{B}"), ThresholdCondition.instance ).setTiming(TimingRule.SORCERY); ability.addTarget(new TargetPlayer()); diff --git a/Mage.Sets/src/mage/cards/c/CabalPit.java b/Mage.Sets/src/mage/cards/c/CabalPit.java index 3c322614a2d..8d9407713c4 100644 --- a/Mage.Sets/src/mage/cards/c/CabalPit.java +++ b/Mage.Sets/src/mage/cards/c/CabalPit.java @@ -5,7 +5,7 @@ import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.mana.BlackManaAbility; @@ -32,7 +32,7 @@ public final class CabalPit extends CardImpl { this.addAbility(manaAbility); // Threshold - {B}, {T}, Sacrifice Cabal Pit: Target creature gets -2/-2 until end of turn. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{B}"), ThresholdCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/c/CabalTorturer.java b/Mage.Sets/src/mage/cards/c/CabalTorturer.java index b7116721839..19d118a3e7e 100644 --- a/Mage.Sets/src/mage/cards/c/CabalTorturer.java +++ b/Mage.Sets/src/mage/cards/c/CabalTorturer.java @@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -37,7 +37,7 @@ public final class CabalTorturer extends CardImpl { this.addAbility(ability); // Threshold - {3}{B}{B}, {tap}: Target creature gets -2/-2 until end of turn. Activate this ability only if seven or more cards are in your graveyard. - ability = new ConditionalActivatedAbility( + ability = new ActivateIfConditionActivatedAbility( new BoostTargetEffect(-2, -2, Duration.EndOfTurn), new ManaCostsImpl<>("{3}{B}{B}"), ThresholdCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/c/CaseOfTheBurningMasks.java b/Mage.Sets/src/mage/cards/c/CaseOfTheBurningMasks.java index 7c6fad69706..2a25533c19b 100644 --- a/Mage.Sets/src/mage/cards/c/CaseOfTheBurningMasks.java +++ b/Mage.Sets/src/mage/cards/c/CaseOfTheBurningMasks.java @@ -7,7 +7,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SolvedSourceCondition; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect; import mage.abilities.hint.common.CaseSolvedHint; @@ -45,7 +45,7 @@ public final class CaseOfTheBurningMasks extends CardImpl { initialAbility.addTarget(new TargetOpponentsCreaturePermanent()); // To solve -- Three or more sources you controlled dealt damage this turn. // Solved -- Sacrifice this Case: Exile the top three cards of your library. Choose one of them. You may play that card this turn. - Ability solvedAbility = new ConditionalActivatedAbility( + Ability solvedAbility = new ActivateIfConditionActivatedAbility( new ExileTopXMayPlayUntilEffect(3, true, Duration.EndOfTurn), new SacrificeSourceCost().setText("sacrifice this Case"), SolvedSourceCondition.SOLVED ); diff --git a/Mage.Sets/src/mage/cards/c/CaseOfTheFilchedFalcon.java b/Mage.Sets/src/mage/cards/c/CaseOfTheFilchedFalcon.java index 2acca20cc61..e3785e4bc2b 100644 --- a/Mage.Sets/src/mage/cards/c/CaseOfTheFilchedFalcon.java +++ b/Mage.Sets/src/mage/cards/c/CaseOfTheFilchedFalcon.java @@ -11,7 +11,7 @@ import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.condition.common.SolvedSourceCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.effects.keyword.InvestigateEffect; @@ -50,7 +50,7 @@ public final class CaseOfTheFilchedFalcon extends CardImpl { Condition toSolveCondition = new PermanentsOnTheBattlefieldCondition( filter, ComparisonType.MORE_THAN, 2, true); // Solved -- {2}{U}, Sacrifice this Case: Put four +1/+1 counters on target noncreature artifact. It becomes a 0/0 Bird creature with flying in addition to its other types. - Ability solvedAbility = new ConditionalActivatedAbility( + Ability solvedAbility = new ActivateIfConditionActivatedAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance(4)), new ManaCostsImpl<>("{2}{U}"), SolvedSourceCondition.SOLVED); solvedAbility.addEffect(new BecomesCreatureTargetEffect(new CaseOfTheFilchedFalconToken(), diff --git a/Mage.Sets/src/mage/cards/c/CaseOfTheStashedSkeleton.java b/Mage.Sets/src/mage/cards/c/CaseOfTheStashedSkeleton.java index 0759772440d..3f9293be0de 100644 --- a/Mage.Sets/src/mage/cards/c/CaseOfTheStashedSkeleton.java +++ b/Mage.Sets/src/mage/cards/c/CaseOfTheStashedSkeleton.java @@ -10,7 +10,7 @@ import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.condition.common.SolvedSourceCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.abilities.hint.common.CaseSolvedHint; @@ -52,7 +52,7 @@ public final class CaseOfTheStashedSkeleton extends CardImpl { Condition toSolveCondition = new PermanentsOnTheBattlefieldCondition( filter, ComparisonType.EQUAL_TO, 0, true); // Solved -- {1}{B}, Sacrifice this Case: Search your library for a card, put it into your hand, then shuffle. Activate only as a sorcery. - Ability solvedAbility = new ConditionalActivatedAbility( + Ability solvedAbility = new ActivateIfConditionActivatedAbility( new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false) .setText("Search your library for a card, put it into your hand, then shuffle. Activate only as a sorcery."), new ManaCostsImpl<>("{1}{B}"), diff --git a/Mage.Sets/src/mage/cards/c/CaseOfTheUneatenFeast.java b/Mage.Sets/src/mage/cards/c/CaseOfTheUneatenFeast.java index 395749437da..252bb31b6c4 100644 --- a/Mage.Sets/src/mage/cards/c/CaseOfTheUneatenFeast.java +++ b/Mage.Sets/src/mage/cards/c/CaseOfTheUneatenFeast.java @@ -9,7 +9,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.SolvedSourceCondition; import mage.abilities.condition.common.YouGainedLifeCondition; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.hint.common.CaseSolvedHint; @@ -47,7 +47,7 @@ public final class CaseOfTheUneatenFeast extends CardImpl { new GainLifeEffect(1), StaticFilters.FILTER_PERMANENT_CREATURE); // To solve -- You've gained 5 or more life this turn. // Solved -- Sacrifice this Case: Creature cards in your graveyard gain "You may cast this card from your graveyard" until end of turn. - Ability solvedAbility = new ConditionalActivatedAbility( + Ability solvedAbility = new ActivateIfConditionActivatedAbility( new CaseOfTheUneatenFeastEffect(), new SacrificeSourceCost().setText("sacrifice this Case"), SolvedSourceCondition.SOLVED); diff --git a/Mage.Sets/src/mage/cards/c/CavernousMaw.java b/Mage.Sets/src/mage/cards/c/CavernousMaw.java index 32379092ed1..adb526ed19f 100644 --- a/Mage.Sets/src/mage/cards/c/CavernousMaw.java +++ b/Mage.Sets/src/mage/cards/c/CavernousMaw.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.abilities.Ability; import mage.abilities.condition.IntCompareCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.AdditiveDynamicValue; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; @@ -41,7 +41,7 @@ public final class CavernousMaw extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {2}: Cavernous Maw becomes a 3/3 Elemental creature until end of turn. It's still a Cave land. Activate only if the number of other Caves you control plus the number of Cave cards in your graveyard is three or greater. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new BecomesCreatureSourceEffect( new CreatureToken(3, 3, "3/3 Elemental creature") .withSubType(SubType.ELEMENTAL), diff --git a/Mage.Sets/src/mage/cards/c/CentaurGarden.java b/Mage.Sets/src/mage/cards/c/CentaurGarden.java index 1bf1fa1b913..4b21c3b0742 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurGarden.java +++ b/Mage.Sets/src/mage/cards/c/CentaurGarden.java @@ -5,7 +5,7 @@ import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.mana.GreenManaAbility; @@ -32,7 +32,7 @@ public final class CentaurGarden extends CardImpl { this.addAbility(manaAbility); // Threshold - {G}, {tap}, Sacrifice Centaur Garden: Target creature gets +3/+3 until end of turn. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new BoostTargetEffect(3, 3, Duration.EndOfTurn), new ManaCostsImpl<>("{G}"), ThresholdCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/c/CephalidColiseum.java b/Mage.Sets/src/mage/cards/c/CephalidColiseum.java index 7f8d92d1ecd..4710981fd81 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidColiseum.java +++ b/Mage.Sets/src/mage/cards/c/CephalidColiseum.java @@ -5,7 +5,7 @@ import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.DrawDiscardTargetEffect; import mage.abilities.mana.BlueManaAbility; @@ -31,7 +31,7 @@ public final class CephalidColiseum extends CardImpl { this.addAbility(manaAbility); // Threshold - {U}, {tap}, Sacrifice Cephalid Coliseum: Target player draws three cards, then discards three cards. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new DrawDiscardTargetEffect(3, 3), new ManaCostsImpl<>("{U}"), ThresholdCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/c/Chainflinger.java b/Mage.Sets/src/mage/cards/c/Chainflinger.java index df3b4314f7f..5f11b2d40f3 100644 --- a/Mage.Sets/src/mage/cards/c/Chainflinger.java +++ b/Mage.Sets/src/mage/cards/c/Chainflinger.java @@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -36,7 +36,7 @@ public final class Chainflinger extends CardImpl { this.addAbility(ability); // Threshold - {2}{R}, {tap}: Chainflinger deals 2 damage to any target. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new DamageTargetEffect(2), new ManaCostsImpl<>("{2}{R}"), ThresholdCondition.instance ); thresholdAbility.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/CinderCrawler.java b/Mage.Sets/src/mage/cards/c/CinderCrawler.java index 5998469e045..72646557b11 100644 --- a/Mage.Sets/src/mage/cards/c/CinderCrawler.java +++ b/Mage.Sets/src/mage/cards/c/CinderCrawler.java @@ -3,7 +3,7 @@ package mage.cards.c; import mage.MageInt; import mage.abilities.condition.common.SourceBlockedCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class CinderCrawler extends CardImpl { this.toughness = new MageInt(2); // {R}: Cinder Crawler gets +1/+0 until end of turn. Activate this ability only if Cinder Crawler is blocked. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{R}"), SourceBlockedCondition.instance )); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkAvian.java b/Mage.Sets/src/mage/cards/c/ClockworkAvian.java index 4e62e3c329c..0baa24bc0f3 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkAvian.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkAvian.java @@ -8,7 +8,7 @@ import mage.abilities.condition.common.AttackedOrBlockedThisCombatSourceConditio import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; @@ -53,7 +53,7 @@ public final class ClockworkAvian extends CardImpl { ).withInterveningIf(AttackedOrBlockedThisCombatSourceCondition.instance), new AttackedOrBlockedThisCombatWatcher()); // {X}, {tap}: Put up to X +1/+0 counters on Clockwork Avian. This ability can't cause the total number of +1/+0 counters on Clockwork Avian to be greater than four. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ClockworkAvianEffect(), new ManaCostsImpl<>("{X}"), IsStepCondition.getMyUpkeep() ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkBeast.java b/Mage.Sets/src/mage/cards/c/ClockworkBeast.java index 7287f7144f6..aaef5b5002b 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkBeast.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkBeast.java @@ -9,7 +9,7 @@ import mage.abilities.condition.common.AttackedOrBlockedThisCombatSourceConditio import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; @@ -50,7 +50,7 @@ public final class ClockworkBeast extends CardImpl { ).withInterveningIf(AttackedOrBlockedThisCombatSourceCondition.instance), new AttackedOrBlockedThisCombatWatcher()); // {X}, {tap}: Put up to X +1/+0 counters on Clockwork Beast. This ability can't cause the total number of +1/+0 counters on Clockwork Beast to be greater than seven. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ClockworkBeastEffect(), new ManaCostsImpl<>("{X}"), IsStepCondition.getMyUpkeep() ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkSteed.java b/Mage.Sets/src/mage/cards/c/ClockworkSteed.java index f4a107a4d74..45aa3ebb66f 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkSteed.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkSteed.java @@ -9,7 +9,7 @@ import mage.abilities.condition.common.AttackedOrBlockedThisCombatSourceConditio import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -59,7 +59,7 @@ public final class ClockworkSteed extends CardImpl { ).withInterveningIf(AttackedOrBlockedThisCombatSourceCondition.instance), new AttackedOrBlockedThisCombatWatcher()); // {X}, {tap}: Put up to X +1/+0 counters on Clockwork Steed. This ability can't cause the total number of +1/+0 counters on Clockwork Steed to be greater than four. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ClockworkSteedEffect(), new ManaCostsImpl<>("{X}"), IsStepCondition.getMyUpkeep() ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java b/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java index 672af3bd096..25f9e70081f 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkSwarm.java @@ -9,7 +9,7 @@ import mage.abilities.condition.common.AttackedOrBlockedThisCombatSourceConditio import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -63,7 +63,7 @@ public final class ClockworkSwarm extends CardImpl { ).withInterveningIf(AttackedOrBlockedThisCombatSourceCondition.instance), new AttackedOrBlockedThisCombatWatcher()); // {X}, {tap}: Put up to X +1/+0 counters on Clockwork Swarm. This ability can't cause the total number of +1/+0 counters on Clockwork Swarm to be greater than four. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ClockworkSwarmEffect(), new ManaCostsImpl<>("{X}"), IsStepCondition.getMyUpkeep() ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java b/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java index 2556f9c3dd9..e413df1c79c 100644 --- a/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java +++ b/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; import mage.abilities.effects.common.UntapSourceEffect; import mage.abilities.keyword.TrampleAbility; @@ -34,7 +34,7 @@ public final class ColossusOfSardia extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect())); // {9}: Untap Colossus of Sardia. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new UntapSourceEffect(), new GenericManaCost(9), IsStepCondition.getMyUpkeep() )); } diff --git a/Mage.Sets/src/mage/cards/c/CropSigil.java b/Mage.Sets/src/mage/cards/c/CropSigil.java index eed47fb059b..e96d2e1a4b9 100644 --- a/Mage.Sets/src/mage/cards/c/CropSigil.java +++ b/Mage.Sets/src/mage/cards/c/CropSigil.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount; import mage.abilities.effects.common.MillCardsControllerEffect; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; @@ -32,7 +32,7 @@ public final class CropSigil extends CardImpl { // 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. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ReturnFromGraveyardToHandTargetEffect().setTargetPointer(new EachTargetPointer()), new ManaCostsImpl<>("{2}{G}"), DeliriumCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/c/Cryptex.java b/Mage.Sets/src/mage/cards/c/Cryptex.java index 0972dbec9cd..d3266951d55 100644 --- a/Mage.Sets/src/mage/cards/c/Cryptex.java +++ b/Mage.Sets/src/mage/cards/c/Cryptex.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.CollectEvidenceCost; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.keyword.SurveilEffect; @@ -31,7 +31,7 @@ public final class Cryptex extends CardImpl { this.addAbility(ability); // Sacrifice Cryptex: Surveil 3, then draw three cards. Activate only if Cryptex has five or more unlock counters on it. - Ability sacAbility = new ConditionalActivatedAbility(new SurveilEffect(3, false), new SacrificeSourceCost(), + Ability sacAbility = new ActivateIfConditionActivatedAbility(new SurveilEffect(3, false), new SacrificeSourceCost(), new SourceHasCounterCondition(CounterType.UNLOCK, 5)); sacAbility.addEffect(new DrawCardSourceControllerEffect(3).concatBy(", then")); this.addAbility(sacAbility); diff --git a/Mage.Sets/src/mage/cards/c/CultConscript.java b/Mage.Sets/src/mage/cards/c/CultConscript.java index 4c8f1f78044..35efa4a9d12 100644 --- a/Mage.Sets/src/mage/cards/c/CultConscript.java +++ b/Mage.Sets/src/mage/cards/c/CultConscript.java @@ -7,7 +7,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.constants.SubType; import mage.cards.CardImpl; @@ -39,7 +39,7 @@ public final class CultConscript extends CardImpl { this.addAbility(new EntersBattlefieldTappedAbility()); // {1}{B}: Return Cult Conscript from your graveyard to the battlefield. Activate only if a non-Skeleton creature died under your control this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{1}{B}"), diff --git a/Mage.Sets/src/mage/cards/c/CyclopeanTomb.java b/Mage.Sets/src/mage/cards/c/CyclopeanTomb.java index 1922f676a54..2de29c123d3 100644 --- a/Mage.Sets/src/mage/cards/c/CyclopeanTomb.java +++ b/Mage.Sets/src/mage/cards/c/CyclopeanTomb.java @@ -8,7 +8,7 @@ import mage.abilities.common.delayed.AtTheBeginOfYourNextUpkeepDelayedTriggeredA import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BecomesBasicLandTargetEffect; @@ -47,7 +47,7 @@ public final class CyclopeanTomb extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // {2}, {tap}: Put a mire counter on target non-Swamp land. That land is a Swamp for as long as it has a mire counter on it. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AddCountersTargetEffect(CounterType.MIRE.createInstance()), new GenericManaCost(2), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/d/Desert.java b/Mage.Sets/src/mage/cards/d/Desert.java index 1ee19a258c6..bd6825c2eed 100644 --- a/Mage.Sets/src/mage/cards/d/Desert.java +++ b/Mage.Sets/src/mage/cards/d/Desert.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; @@ -39,7 +39,7 @@ public final class Desert extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {tap}: Desert deals 1 damage to target attacking creature. Activate this ability only during the end of combat step. - Ability ability = new ConditionalActivatedAbility(new DamageTargetEffect(1), new TapSourceCost(), condition); + Ability ability = new ActivateIfConditionActivatedAbility(new DamageTargetEffect(1), new TapSourceCost(), condition); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/d/DetectivesSatchel.java b/Mage.Sets/src/mage/cards/d/DetectivesSatchel.java index 12357dd83fc..384f1f7edd1 100644 --- a/Mage.Sets/src/mage/cards/d/DetectivesSatchel.java +++ b/Mage.Sets/src/mage/cards/d/DetectivesSatchel.java @@ -3,7 +3,7 @@ package mage.cards.d; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.SacrificedArtifactThisTurnCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.keyword.InvestigateEffect; import mage.cards.CardImpl; @@ -26,7 +26,7 @@ public final class DetectivesSatchel extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new InvestigateEffect(2))); // {T}: Create a 1/1 colorless Thopter artifact creature token with flying. Activate only if you've sacrificed an artifact this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new CreateTokenEffect(new ThopterColorlessToken()), new TapSourceCost(), SacrificedArtifactThisTurnCondition.instance ).addHint(SacrificedArtifactThisTurnCondition.getHint()), new PermanentsSacrificedWatcher()); diff --git a/Mage.Sets/src/mage/cards/d/DiamondCity.java b/Mage.Sets/src/mage/cards/d/DiamondCity.java index 9f15f6d6177..9df99ce625c 100644 --- a/Mage.Sets/src/mage/cards/d/DiamondCity.java +++ b/Mage.Sets/src/mage/cards/d/DiamondCity.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -44,7 +44,7 @@ public final class DiamondCity extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {T}: Move a shield counter from Diamond City onto target creature. Activate only if two or more creatures entered the battlefield under your control this turn. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new MoveCountersFromSourceToTargetEffect(CounterType.SHIELD), new TapSourceCost(), DiamondCityCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/d/DreadWanderer.java b/Mage.Sets/src/mage/cards/d/DreadWanderer.java index bf1768f585a..b6d521ebb53 100644 --- a/Mage.Sets/src/mage/cards/d/DreadWanderer.java +++ b/Mage.Sets/src/mage/cards/d/DreadWanderer.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.condition.common.HeckbentCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -33,7 +33,7 @@ public final class DreadWanderer extends CardImpl { // {2}{B}: Return Dread Wanderer from your graveyard to the battlefield. // Activate this ability only any time you could cast a sorcery and only if you have one or fewer cards in hand. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(), new ManaCostsImpl<>("{2}{B}"), HeckbentCondition.instance ).setTiming(TimingRule.SORCERY)); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenArmory.java b/Mage.Sets/src/mage/cards/d/DwarvenArmory.java index 663fa05338c..3fa047b3291 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenArmory.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenArmory.java @@ -6,7 +6,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +29,7 @@ public final class DwarvenArmory extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}{R}"); // {2}, Sacrifice a land: Put a +2/+2 counter on target creature. Activate this ability only during any upkeep step. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AddCountersTargetEffect(CounterType.P2P2.createInstance()), new ManaCostsImpl<>("{2}"), condition ); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java b/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java index 07dd54b461c..a175e97aa23 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -30,7 +30,7 @@ public final class DwarvenWeaponsmith extends CardImpl { this.toughness = new MageInt(1); // {tap}, Sacrifice an artifact: Put a +1/+1 counter on target creature. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new TapSourceCost(), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java b/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java index 2eb546cec93..03f08147896 100644 --- a/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java +++ b/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java @@ -7,7 +7,7 @@ import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.RestrictionEffect; import mage.abilities.effects.common.combat.CantAttackTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -40,7 +40,7 @@ public final class EdificeOfAuthority extends CardImpl { this.addAbility(ability); // {1}, {T}: Until your next turn, target creature can't attack or block and its activated abilities can't be activated. Activate this ability only if there are three or more brick counter on Edifice of Authority. - Ability ability2 = new ConditionalActivatedAbility(new EdificeOfAuthorityEffect(), new GenericManaCost(1), condition); + Ability ability2 = new ActivateIfConditionActivatedAbility(new EdificeOfAuthorityEffect(), new GenericManaCost(1), condition); ability2.addCost(new TapSourceCost()); ability2.addTarget(new TargetCreaturePermanent()); this.addAbility(ability2); diff --git a/Mage.Sets/src/mage/cards/e/EternalDragon.java b/Mage.Sets/src/mage/cards/e/EternalDragon.java index 053799d1577..5b5b663e85a 100644 --- a/Mage.Sets/src/mage/cards/e/EternalDragon.java +++ b/Mage.Sets/src/mage/cards/e/EternalDragon.java @@ -3,7 +3,7 @@ package mage.cards.e; import mage.MageInt; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.PlainscyclingAbility; @@ -32,7 +32,7 @@ public final class EternalDragon extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // {3}{W}{W}: Return Eternal Dragon from your graveyard to your hand. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{3}{W}{W}"), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/e/EverythingamajigB.java b/Mage.Sets/src/mage/cards/e/EverythingamajigB.java index 7eb901d2115..c072b0ab592 100644 --- a/Mage.Sets/src/mage/cards/e/EverythingamajigB.java +++ b/Mage.Sets/src/mage/cards/e/EverythingamajigB.java @@ -6,7 +6,7 @@ import mage.abilities.condition.common.HellbentCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect; @@ -41,7 +41,7 @@ public final class EverythingamajigB extends CardImpl { // Fool's Tome // 2, T: Draw a card. Activate this ability only if you have no cards in hand. - Ability ability1 = new ConditionalActivatedAbility( + Ability ability1 = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new GenericManaCost(2), HellbentCondition.instance ); ability1.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java index 3fd439b0fe5..b61e49d77b5 100644 --- a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java +++ b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.abilities.keyword.FirstStrikeAbility; @@ -45,7 +45,7 @@ public final class FiremaneAngel extends CardImpl { ).withInterveningIf(FiremaneAngelCondition.instance)); // {6}{R}{R}{W}{W}: Return Firemane Angel from your graveyard to the battlefield. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{6}{R}{R}{W}{W}"), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/f/FleshlessGladiator.java b/Mage.Sets/src/mage/cards/f/FleshlessGladiator.java index 4677f02dad8..7a909084c51 100644 --- a/Mage.Sets/src/mage/cards/f/FleshlessGladiator.java +++ b/Mage.Sets/src/mage/cards/f/FleshlessGladiator.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.condition.common.CorruptedCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.cards.CardImpl; @@ -30,7 +30,7 @@ public final class FleshlessGladiator extends CardImpl { this.toughness = new MageInt(2); // Corrupted -- {2}{B}: Return Fleshless Gladiator from your graveyard to the battlefield tapped. You lose 1 life. Activate only if an opponent has three or more poison counters. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true, false), new ManaCostsImpl<>("{2}{B}"), CorruptedCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/f/FoolsTome.java b/Mage.Sets/src/mage/cards/f/FoolsTome.java index 46c58983f6b..044d905ebd7 100644 --- a/Mage.Sets/src/mage/cards/f/FoolsTome.java +++ b/Mage.Sets/src/mage/cards/f/FoolsTome.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.HellbentCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -21,7 +21,7 @@ public final class FoolsTome extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // {2}, {tap}: Draw a card. Activate this ability only if you have no cards in hand. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new GenericManaCost(2), HellbentCondition.instance ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/f/FungusElemental.java b/Mage.Sets/src/mage/cards/f/FungusElemental.java index c669c5e2f03..3af0437c734 100644 --- a/Mage.Sets/src/mage/cards/f/FungusElemental.java +++ b/Mage.Sets/src/mage/cards/f/FungusElemental.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.SourceEnteredThisTurnCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -32,7 +32,7 @@ public final class FungusElemental extends CardImpl { this.toughness = new MageInt(3); // {G}, Sacrifice a Forest: Put a +2/+2 counter on Fungus Elemental. Activate this ability only if Fungus Elemental entered the battlefield this turn. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AddCountersSourceEffect(CounterType.P2P2.createInstance()), new ManaCostsImpl<>("{G}"), SourceEnteredThisTurnCondition.DID ); diff --git a/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java b/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java index 88ff1ab5e57..ea008ad3afc 100644 --- a/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java +++ b/Mage.Sets/src/mage/cards/g/GateToTheAfterlife.java @@ -7,7 +7,7 @@ import mage.abilities.condition.common.CardsInControllerGraveyardCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -48,7 +48,7 @@ public final class GateToTheAfterlife extends CardImpl { this.addAbility(ability); // {2}, {T}, Sacrifice Gate to the Afterlife: Search your graveyard, hand, and/or library for a card named God-Pharaoh's Gift and put it onto the battlefield. If you seearch your library this way, shuffle it. Activate this ability only if there are six or more creature cards in your graveyard. - ability = new ConditionalActivatedAbility( + ability = new ActivateIfConditionActivatedAbility( new GateToTheAfterlifeEffect(), new GenericManaCost(2), condition ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/g/GeneralJarkeld.java b/Mage.Sets/src/mage/cards/g/GeneralJarkeld.java index 22e8439870a..5228667b22a 100644 --- a/Mage.Sets/src/mage/cards/g/GeneralJarkeld.java +++ b/Mage.Sets/src/mage/cards/g/GeneralJarkeld.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -37,7 +37,7 @@ public final class GeneralJarkeld extends CardImpl { this.toughness = new MageInt(2); // {T}: Switch the blocking creatures of two target attacking creatures. Activate this ability only during the declare blockers step. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new GeneralJarkeldSwitchBlockersEffect(), new TapSourceCost(), condition ); ability.addTarget(new TargetAttackingCreature(2)); diff --git a/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java b/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java index 805de9b551d..bc6b206fb60 100644 --- a/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java +++ b/Mage.Sets/src/mage/cards/g/GlintHornBuccaneer.java @@ -6,7 +6,7 @@ import mage.abilities.TriggeredAbilityImpl; import mage.abilities.condition.common.SourceAttackingCondition; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamagePlayersEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.keyword.HasteAbility; @@ -41,7 +41,7 @@ public final class GlintHornBuccaneer extends CardImpl { this.addAbility(new GlintHornBuccaneerTriggeredAbility()); // {1}{R}, Discard a card: Draw a card. Activate this ability only if Glint-Horn Buccaneer is attacking. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{1}{R}"), SourceAttackingCondition.instance ); ability.addCost(new DiscardCardCost()); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBirdGrabber.java b/Mage.Sets/src/mage/cards/g/GoblinBirdGrabber.java index 3ea4d66638c..53835aaa838 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBirdGrabber.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBirdGrabber.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -40,7 +40,7 @@ public final class GoblinBirdGrabber extends CardImpl { this.toughness = new MageInt(1); // {R}: Goblin Bird-Grabber gains flying until end of turn. Activate this ability only if you control a creature with flying. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl<>("{R}"), condition )); diff --git a/Mage.Sets/src/mage/cards/g/GoroGoroDiscipleOfRyusei.java b/Mage.Sets/src/mage/cards/g/GoroGoroDiscipleOfRyusei.java index 725c4e9e807..0a5ab3cfd16 100644 --- a/Mage.Sets/src/mage/cards/g/GoroGoroDiscipleOfRyusei.java +++ b/Mage.Sets/src/mage/cards/g/GoroGoroDiscipleOfRyusei.java @@ -5,7 +5,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.abilities.hint.ConditionHint; @@ -58,7 +58,7 @@ public final class GoroGoroDiscipleOfRyusei extends CardImpl { ), new ManaCostsImpl<>("{R}"))); // {3}{R}{R}: Create a 5/5 red Dragon Spirit creature token with flying. Activate only if you control an attacking modified creature. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new CreateTokenEffect(new DragonSpiritToken()), new ManaCostsImpl<>("{3}{R}{R}"), condition ).addHint(hint)); diff --git a/Mage.Sets/src/mage/cards/g/GrimReminder.java b/Mage.Sets/src/mage/cards/g/GrimReminder.java index 51d1e949adc..3a2c509bb2c 100644 --- a/Mage.Sets/src/mage/cards/g/GrimReminder.java +++ b/Mage.Sets/src/mage/cards/g/GrimReminder.java @@ -4,7 +4,7 @@ import mage.MageObject; import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.*; @@ -34,7 +34,7 @@ public final class GrimReminder extends CardImpl { this.getSpellAbility().addWatcher(new GrimReminderWatcher()); // {B}{B}: Return Grim Reminder from your graveyard to your hand. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{B}{B}"), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/g/Gutterbones.java b/Mage.Sets/src/mage/cards/g/Gutterbones.java index b06f079c872..27615280382 100644 --- a/Mage.Sets/src/mage/cards/g/Gutterbones.java +++ b/Mage.Sets/src/mage/cards/g/Gutterbones.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.MyTurnCondition; import mage.abilities.condition.common.OpponentsLostLifeCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.hint.common.OpponentsLostLifeHint; import mage.cards.CardImpl; @@ -40,7 +40,7 @@ public final class Gutterbones extends CardImpl { this.addAbility(new EntersBattlefieldTappedAbility()); // {1}{B}: Return Gutterbones from your graveyard to your hand. Activate this ability only during your turn and only if an opponent lost life this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{1}{B}"), condition ).addHint(OpponentsLostLifeHint.instance)); diff --git a/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java b/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java index b7555a466c1..f971fa8440a 100644 --- a/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java +++ b/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java @@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyAllEffect; import mage.abilities.keyword.FlyingAbility; @@ -53,7 +53,7 @@ public final class HakimLoreweaver extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // {U}{U}: Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate this ability only during your upkeep and only if Hakim isn't enchanted. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new HakimLoreweaverEffect(), new ManaCostsImpl<>("{U}{U}"), HakimLoreweaverCondition.instance ); ability.addTarget(new TargetCardInYourGraveyard(filter)); diff --git a/Mage.Sets/src/mage/cards/h/HallOfOracles.java b/Mage.Sets/src/mage/cards/h/HallOfOracles.java index 6c52b0a92ad..39ecd74e32a 100644 --- a/Mage.Sets/src/mage/cards/h/HallOfOracles.java +++ b/Mage.Sets/src/mage/cards/h/HallOfOracles.java @@ -5,7 +5,7 @@ import mage.abilities.ActivatedAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.abilities.mana.AnyColorManaAbility; import mage.abilities.mana.ColorlessManaAbility; @@ -38,7 +38,7 @@ public final class HallOfOracles extends CardImpl { this.addAbility(ability); // {T}: Put a +1/+1 counter on target creature. Activate only as a sorcery and only if you've cast an instant or sorcery spell this turn. - ability = new ConditionalActivatedAbility( + ability = new ActivateIfConditionActivatedAbility( new AddCountersTargetEffect(CounterType.P1P1.createInstance()), new TapSourceCost(), HallOfOraclesCondition.instance ).setTiming(TimingRule.SORCERY); diff --git a/Mage.Sets/src/mage/cards/h/HallowedHealer.java b/Mage.Sets/src/mage/cards/h/HallowedHealer.java index 21a746202e7..5987a2c528e 100644 --- a/Mage.Sets/src/mage/cards/h/HallowedHealer.java +++ b/Mage.Sets/src/mage/cards/h/HallowedHealer.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -37,7 +37,7 @@ public final class HallowedHealer extends CardImpl { this.addAbility(ability); // Threshold - {tap}: Prevent the next 4 damage that would be dealt to any target this turn. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new PreventDamageToTargetEffect(Duration.EndOfTurn, 4), new TapSourceCost(), ThresholdCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/h/HammerOfBogardan.java b/Mage.Sets/src/mage/cards/h/HammerOfBogardan.java index ece34a3b026..f79470a03de 100644 --- a/Mage.Sets/src/mage/cards/h/HammerOfBogardan.java +++ b/Mage.Sets/src/mage/cards/h/HammerOfBogardan.java @@ -2,7 +2,7 @@ package mage.cards.h; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; @@ -26,7 +26,7 @@ public final class HammerOfBogardan extends CardImpl { this.getSpellAbility().addTarget(new TargetAnyTarget()); // {2}{R}{R}{R}: Return Hammer of Bogardan from your graveyard to your hand. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{2}{R}{R}{R}"), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/h/HauntOfTheDeadMarshes.java b/Mage.Sets/src/mage/cards/h/HauntOfTheDeadMarshes.java index 8d38f3ac5d6..f587b2cfd43 100644 --- a/Mage.Sets/src/mage/cards/h/HauntOfTheDeadMarshes.java +++ b/Mage.Sets/src/mage/cards/h/HauntOfTheDeadMarshes.java @@ -5,7 +5,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.abilities.effects.keyword.ScryEffect; import mage.abilities.hint.ConditionHint; @@ -48,7 +48,7 @@ public final class HauntOfTheDeadMarshes extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1, false))); // {2}{B}: Return Haunt of the Dead Marshes from your graveyard to the battlefield tapped. Activate only if you control a legendary creature. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(true, false), new ManaCostsImpl<>("{2}{B}"), condition ).addHint(hint)); diff --git a/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java b/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java index 2561ff93281..1905df694d5 100644 --- a/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java +++ b/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java @@ -5,7 +5,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.abilities.effects.common.continuous.BoostEquippedEffect; import mage.abilities.keyword.EquipAbility; @@ -34,7 +34,7 @@ public final class HauntedPlateMail extends CardImpl { this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(4, 4))); // {0}: Until end of turn, Haunted Plate Mail becomes a 4/4 Spirit artifact creature that's no longer an Equipment. Activate this ability only if you control no creatures. - this.addAbility(new ConditionalActivatedAbility(new BecomesCreatureSourceEffect( + this.addAbility(new ActivateIfConditionActivatedAbility(new BecomesCreatureSourceEffect( new CreatureToken( 4, 4, "4/4 Spirit artifact " + "creature that's no longer an Equipment", SubType.SPIRIT diff --git a/Mage.Sets/src/mage/cards/h/HeartWolf.java b/Mage.Sets/src/mage/cards/h/HeartWolf.java index d7784eca495..74136e35d13 100644 --- a/Mage.Sets/src/mage/cards/h/HeartWolf.java +++ b/Mage.Sets/src/mage/cards/h/HeartWolf.java @@ -6,7 +6,7 @@ import mage.abilities.DelayedTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -47,7 +47,7 @@ public final class HeartWolf extends CardImpl { this.addAbility(FirstStrikeAbility.getInstance()); // {tap}: Target Dwarf creature gets +2/+0 and gains first strike until end of turn. When that creature leaves the battlefield this turn, sacrifice Heart Wolf. Activate this ability only during combat. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new BoostTargetEffect(2, 0, Duration.EndOfTurn) .setText("Target Dwarf creature gets +2/+0"), new TapSourceCost(), condition diff --git a/Mage.Sets/src/mage/cards/h/HellsCaretaker.java b/Mage.Sets/src/mage/cards/h/HellsCaretaker.java index 13dc1b1d96a..9ad03a7e746 100644 --- a/Mage.Sets/src/mage/cards/h/HellsCaretaker.java +++ b/Mage.Sets/src/mage/cards/h/HellsCaretaker.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -28,7 +28,7 @@ public final class HellsCaretaker extends CardImpl { this.toughness = new MageInt(1); // {tap}, Sacrifice a creature: Return target creature card from your graveyard to the battlefield. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ReturnFromGraveyardToBattlefieldTargetEffect(), new TapSourceCost(), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java b/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java index 3d6acf4bc05..af622448496 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java +++ b/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java @@ -5,7 +5,7 @@ import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.CountersSourceCount; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.GainLifeEffect; @@ -43,7 +43,7 @@ public final class IcatianMoneychanger extends CardImpl { 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( + this.addAbility(new ActivateIfConditionActivatedAbility( new GainLifeEffect(new CountersSourceCount(CounterType.CREDIT)), new SacrificeSourceCost(), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/i/IceCauldron.java b/Mage.Sets/src/mage/cards/i/IceCauldron.java index 1d65b8fa0dc..b186b8b45b5 100644 --- a/Mage.Sets/src/mage/cards/i/IceCauldron.java +++ b/Mage.Sets/src/mage/cards/i/IceCauldron.java @@ -10,7 +10,7 @@ import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.AsThoughEffect; import mage.abilities.effects.AsThoughEffectImpl; import mage.abilities.effects.OneShotEffect; @@ -44,7 +44,7 @@ public final class IceCauldron extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // {X}, {T}: Put a charge counter on Ice Cauldron and exile a nonland card from your hand. You may cast that card for as long as it remains exiled. Note the type and amount of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on Ice Cauldron. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new IceCauldronExileEffect(), new ManaCostsImpl<>("{X}"), condition ); ability.addEffect(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true)); diff --git a/Mage.Sets/src/mage/cards/i/InfectedVermin.java b/Mage.Sets/src/mage/cards/i/InfectedVermin.java index 78c9ce5884f..61c6499c2cc 100644 --- a/Mage.Sets/src/mage/cards/i/InfectedVermin.java +++ b/Mage.Sets/src/mage/cards/i/InfectedVermin.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -30,7 +30,7 @@ public final class InfectedVermin extends CardImpl { this.addAbility(new SimpleActivatedAbility(new DamageEverythingEffect(1), new ManaCostsImpl<>("{2}{B}"))); // Threshold - {3}{B}: Infected Vermin deals 3 damage to each creature and each player. Activate this ability only if seven or more cards are in your graveyard. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new DamageEverythingEffect(3), new ManaCostsImpl<>("{3}{B}"), ThresholdCondition.instance ).setAbilityWord(AbilityWord.THRESHOLD)); } diff --git a/Mage.Sets/src/mage/cards/i/IsolatedWatchtower.java b/Mage.Sets/src/mage/cards/i/IsolatedWatchtower.java index 22cfb6acb17..c3119d300b2 100644 --- a/Mage.Sets/src/mage/cards/i/IsolatedWatchtower.java +++ b/Mage.Sets/src/mage/cards/i/IsolatedWatchtower.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.Card; @@ -32,7 +32,7 @@ public final class IsolatedWatchtower extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {2}, {T}: Scry 1, then you may reveal the top card of your library. If a basic land card is revealed this way, put it onto the battlefield tapped. Activate this ability only if an opponent controls at least two more lands than you. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new IsolatedWatchtowerEffect(), new GenericManaCost(2), IsolatedWatchtowerCondition.instance ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/j/JadeStatue.java b/Mage.Sets/src/mage/cards/j/JadeStatue.java index 9c1dd1a248b..d735909a470 100644 --- a/Mage.Sets/src/mage/cards/j/JadeStatue.java +++ b/Mage.Sets/src/mage/cards/j/JadeStatue.java @@ -3,7 +3,7 @@ package mage.cards.j; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class JadeStatue extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // {2}: Jade Statue becomes a 3/6 Golem artifact creature until end of combat. Activate this ability only during combat. - this.addAbility(new ConditionalActivatedAbility(new BecomesCreatureSourceEffect( + this.addAbility(new ActivateIfConditionActivatedAbility(new BecomesCreatureSourceEffect( new CreatureToken(3, 6, "3/6 Golem artifact creature", SubType.GOLEM) .withType(CardType.ARTIFACT), CardType.ARTIFACT, Duration.EndOfCombat ), new GenericManaCost(2), condition)); diff --git a/Mage.Sets/src/mage/cards/j/JeweledAmulet.java b/Mage.Sets/src/mage/cards/j/JeweledAmulet.java index 995ff03bb1a..aa31f2d3f18 100644 --- a/Mage.Sets/src/mage/cards/j/JeweledAmulet.java +++ b/Mage.Sets/src/mage/cards/j/JeweledAmulet.java @@ -2,12 +2,12 @@ package mage.cards.j; import mage.Mana; import mage.abilities.Ability; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.effects.mana.ManaEffect; @@ -37,7 +37,7 @@ public final class JeweledAmulet extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{0}"); // {1}, {tap}: Put a charge counter on Jeweled Amulet. Note the type of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on Jeweled Amulet. - ConditionalActivatedAbility ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true), new GenericManaCost(1), condition ); ability.addEffect(new JeweledAmuletAddCounterEffect()); diff --git a/Mage.Sets/src/mage/cards/j/JinGitaxias.java b/Mage.Sets/src/mage/cards/j/JinGitaxias.java index 4faee7085dc..6fd9909cef0 100644 --- a/Mage.Sets/src/mage/cards/j/JinGitaxias.java +++ b/Mage.Sets/src/mage/cards/j/JinGitaxias.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.ExileAndReturnSourceEffect; import mage.abilities.keyword.TransformAbility; @@ -48,7 +48,7 @@ public class JinGitaxias extends CardImpl { //{3}{U}: Exile Jin-Gitaxias, then return it to the battlefield transformed under its owner’s control. Activate //only as a sorcery and only if you have seven or more cards in hand. this.addAbility(new TransformAbility()); - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new ExileAndReturnSourceEffect(PutCards.BATTLEFIELD_TRANSFORMED), new ManaCostsImpl<>("{3}{U}"), new CardsInHandCondition(ComparisonType.MORE_THAN, 6) diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTheMind.java b/Mage.Sets/src/mage/cards/k/KeeperOfTheMind.java index 771add6cfd6..2a412b08e09 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfTheMind.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfTheMind.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -36,7 +36,7 @@ public class KeeperOfTheMind extends CardImpl { this.toughness = new MageInt(2); // {U}, {tap}: Choose target opponent who had at least two more cards in hand than you did as you activated this ability. Draw a card. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1) .setText("choose target opponent who has at least two more cards " + "in hand than you do as you activate this ability. Draw a card"), diff --git a/Mage.Sets/src/mage/cards/k/KeldonMegaliths.java b/Mage.Sets/src/mage/cards/k/KeldonMegaliths.java index fad19e1ce9c..1939b88493a 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonMegaliths.java +++ b/Mage.Sets/src/mage/cards/k/KeldonMegaliths.java @@ -5,7 +5,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.condition.common.HellbentCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; @@ -31,7 +31,7 @@ public final class KeldonMegaliths extends CardImpl { this.addAbility(new RedManaAbility()); // Hellbent - {1}{R}, {tap}: Keldon Megaliths deals 1 damage to any target. Activate this ability only if you have no cards in hand. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DamageTargetEffect(1), new ManaCostsImpl<>("{1}{R}"), HellbentCondition.instance ); ability.setAbilityWord(AbilityWord.HELLBENT); diff --git a/Mage.Sets/src/mage/cards/k/KindlyStranger.java b/Mage.Sets/src/mage/cards/k/KindlyStranger.java index 559be194ad5..8a07ada2da8 100644 --- a/Mage.Sets/src/mage/cards/k/KindlyStranger.java +++ b/Mage.Sets/src/mage/cards/k/KindlyStranger.java @@ -3,7 +3,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount; import mage.abilities.effects.common.TransformSourceEffect; import mage.abilities.keyword.TransformAbility; @@ -30,7 +30,7 @@ public final class KindlyStranger extends CardImpl { // Delirium — {2}{B}: Transform Kindly Stranger. Activate this ability only if there are four or more card types among cards in your graveyard. this.addAbility(new TransformAbility()); - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new TransformSourceEffect(), new ManaCostsImpl<>("{2}{B}"), DeliriumCondition.instance ).setAbilityWord(AbilityWord.DELIRIUM).addHint(CardTypesInGraveyardCount.YOU.getHint())); } diff --git a/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java b/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java index 9fdaf737883..75c7e827a96 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.condition.common.MoreCardsInHandThanOpponentsCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -29,7 +29,7 @@ public final class KitsuneBonesetter extends CardImpl { // {tap}: Prevent the next 3 damage that would be dealt to target creature this turn. Activate this ability only if you have more cards in hand than each opponent. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new PreventDamageToTargetEffect(Duration.EndOfTurn, 3), new TapSourceCost(), MoreCardsInHandThanOpponentsCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranEliteGuard.java b/Mage.Sets/src/mage/cards/k/KjeldoranEliteGuard.java index 9ae50d86f95..393dacb4eda 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranEliteGuard.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranEliteGuard.java @@ -6,7 +6,7 @@ import mage.abilities.DelayedTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -37,7 +37,7 @@ public final class KjeldoranEliteGuard extends CardImpl { // Target creature gets +2/+2 until end of turn. // When that creature leaves the battlefield this turn, sacrifice Kjeldoran Elite Guard. // Activate only during combat. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new KjeldoranEliteGuardEffect(), new TapSourceCost(), condition ); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranGuard.java b/Mage.Sets/src/mage/cards/k/KjeldoranGuard.java index 4bd9c886cca..0818d266dcf 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranGuard.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranGuard.java @@ -10,7 +10,7 @@ import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.DefendingPlayerControlsNoSourceCondition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeTargetEffect; import mage.abilities.effects.common.continuous.BoostTargetEffect; @@ -52,7 +52,7 @@ public final class KjeldoranGuard extends CardImpl { this.toughness = new MageInt(1); // {T}: Target creature gets +1/+1 until end of turn. When that creature leaves the battlefield this turn, sacrifice Kjeldoran Guard. Activate only during combat and only if defending player controls no snow lands. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new KjeldoranGuardEffect(), new TapSourceCost(), condition ); ability.addTarget(new TargetCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/k/KongmingsContraptions.java b/Mage.Sets/src/mage/cards/k/KongmingsContraptions.java index 5ec9db316f0..50be5503110 100644 --- a/Mage.Sets/src/mage/cards/k/KongmingsContraptions.java +++ b/Mage.Sets/src/mage/cards/k/KongmingsContraptions.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.AttackedThisStepCondition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -38,7 +38,7 @@ public final class KongmingsContraptions extends CardImpl { this.toughness = new MageInt(4); // {T}: Kongming's Contraptions deals 2 damage to target attacking creature. Activate this ability only during the declare attackers step and only if you've been attacked this step. - Ability ability = new ConditionalActivatedAbility(new DamageTargetEffect(2), new TapSourceCost(), condition); + Ability ability = new ActivateIfConditionActivatedAbility(new DamageTargetEffect(2), new TapSourceCost(), condition); ability.addTarget(new TargetAttackingCreature()); this.addAbility(ability, new PlayerAttackedStepWatcher()); } diff --git a/Mage.Sets/src/mage/cards/k/KrosanAvenger.java b/Mage.Sets/src/mage/cards/k/KrosanAvenger.java index 1b66837f024..c809242615b 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanAvenger.java +++ b/Mage.Sets/src/mage/cards/k/KrosanAvenger.java @@ -3,7 +3,7 @@ package mage.cards.k; import mage.MageInt; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.RegenerateSourceEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; @@ -31,7 +31,7 @@ public final class KrosanAvenger extends CardImpl { this.addAbility(TrampleAbility.getInstance()); // Threshold - {1}{G}: Regenerate Krosan Avenger. Activate this ability only if seven or more cards are in your graveyard. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new RegenerateSourceEffect(), new ManaCostsImpl<>("{1}{G}"), ThresholdCondition.instance ).setAbilityWord(AbilityWord.THRESHOLD)); } diff --git a/Mage.Sets/src/mage/cards/k/KrosanRestorer.java b/Mage.Sets/src/mage/cards/k/KrosanRestorer.java index bc9d0d5640a..6e54b624263 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanRestorer.java +++ b/Mage.Sets/src/mage/cards/k/KrosanRestorer.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -34,7 +34,7 @@ public final class KrosanRestorer extends CardImpl { this.addAbility(ability); // Threshold - {tap}: Untap up to three target lands. Activate this ability only if seven or more cards are in your graveyard. - ability = new ConditionalActivatedAbility(new UntapTargetEffect(), new TapSourceCost(), ThresholdCondition.instance); + ability = new ActivateIfConditionActivatedAbility(new UntapTargetEffect(), new TapSourceCost(), ThresholdCondition.instance); ability.addTarget(new TargetLandPermanent(0, 3)); ability.setAbilityWord(AbilityWord.THRESHOLD); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java b/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java index 4699697a4d8..8fa398e7cd2 100644 --- a/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java +++ b/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.condition.common.MetalcraftCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.abilities.hint.common.MetalcraftHint; import mage.abilities.keyword.FlyingAbility; @@ -44,7 +44,7 @@ public final class KuldothaPhoenix extends CardImpl { // Metalcraft — {4}: Return Kuldotha Phoenix from your graveyard to the battlefield. // Activate this ability only during your upkeep and only if you control three or more artifacts. - Ability ability = new ConditionalActivatedAbility(Zone.GRAVEYARD, + Ability ability = new ActivateIfConditionActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{4}"), condition ); diff --git a/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java b/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java index aeebe38c5aa..3fd94e32bce 100644 --- a/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java +++ b/Mage.Sets/src/mage/cards/l/LagomosHandOfHatred.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.SacrificeTargetEffect; import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; @@ -44,7 +44,7 @@ public final class LagomosHandOfHatred extends CardImpl { this.addAbility(new BeginningOfCombatTriggeredAbility(new LagomosHandOfHatredEffect())); // {T}: Search your library for a card, put it into your hand, then shuffle. Activate only if five or more creatures died this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new SearchLibraryPutInHandEffect(new TargetCardInLibrary(), false), new TapSourceCost(), LagomosHandOfHatredCondition.instance )); diff --git a/Mage.Sets/src/mage/cards/l/LesserWerewolf.java b/Mage.Sets/src/mage/cards/l/LesserWerewolf.java index ae0c34622fe..c617a9ae948 100644 --- a/Mage.Sets/src/mage/cards/l/LesserWerewolf.java +++ b/Mage.Sets/src/mage/cards/l/LesserWerewolf.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; @@ -44,7 +44,7 @@ public final class LesserWerewolf extends CardImpl { this.toughness = new MageInt(4); // {B}: If Lesser Werewolf’s power is 1 or more, it gets -1/-0 until end of turn and put a -0/-1 counter on target creature blocking or blocked by Lesser Werewolf. Activate this ability only during the declare blockers step. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new LesserWerewolfEffect(), new ManaCostsImpl<>("{B}"), condition ); ability.addTarget(new TargetPermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/l/LibraryOfAlexandria.java b/Mage.Sets/src/mage/cards/l/LibraryOfAlexandria.java index 9e82aa3f6a4..5e8b3c6b060 100644 --- a/Mage.Sets/src/mage/cards/l/LibraryOfAlexandria.java +++ b/Mage.Sets/src/mage/cards/l/LibraryOfAlexandria.java @@ -3,7 +3,7 @@ package mage.cards.l; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; @@ -27,7 +27,7 @@ public final class LibraryOfAlexandria extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {tap}: Draw a card. Activate this ability only if you have exactly seven cards in hand. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new TapSourceCost(), condition )); } diff --git a/Mage.Sets/src/mage/cards/l/LifeChisel.java b/Mage.Sets/src/mage/cards/l/LifeChisel.java index dbaf8050c0d..5156d828b3a 100644 --- a/Mage.Sets/src/mage/cards/l/LifeChisel.java +++ b/Mage.Sets/src/mage/cards/l/LifeChisel.java @@ -2,7 +2,7 @@ package mage.cards.l; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.SacrificeCostCreaturesToughness; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; @@ -21,7 +21,7 @@ public final class LifeChisel extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // Sacrifice a creature: You gain life equal to the sacrificed creature's toughness. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new GainLifeEffect(SacrificeCostCreaturesToughness.instance) .setText("you gain life equal to the sacrificed creature's toughness"), new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE), diff --git a/Mage.Sets/src/mage/cards/l/LifeMatrix.java b/Mage.Sets/src/mage/cards/l/LifeMatrix.java index d2cdd5b8672..0be55f638af 100644 --- a/Mage.Sets/src/mage/cards/l/LifeMatrix.java +++ b/Mage.Sets/src/mage/cards/l/LifeMatrix.java @@ -6,7 +6,7 @@ import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.RegenerateSourceEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.effects.common.counter.AddCountersTargetEffect; @@ -30,7 +30,7 @@ public final class LifeMatrix extends CardImpl { // {4}, {T}: Put a matrix counter on target creature and that creature gains // “Remove a matrix counter from this creature: Regenerate this creature.” // Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AddCountersTargetEffect(CounterType.MATRIX.createInstance()), new GenericManaCost(4), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarAugur.java b/Mage.Sets/src/mage/cards/l/LlanowarAugur.java index 9bbcddd1c21..f4d496e7692 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarAugur.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarAugur.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.TrampleAbility; @@ -32,7 +32,7 @@ public final class LlanowarAugur extends CardImpl { // Sacrifice Llanowar Augur: Target creature gets +3/+3 and gains trample until end of turn. // Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new BoostTargetEffect(3, 3).setText("Target creature gets +3/+3"), new SacrificeSourceCost(), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java b/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java index 44b5a6d7b5f..f18c3661555 100644 --- a/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java +++ b/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java @@ -6,7 +6,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; @@ -33,7 +33,7 @@ public final class LuxaRiverShrine extends CardImpl { this.addAbility(ability); // {T}: You gain 2 life. Activate this ability only if there are three or more brick counters on Luxa River Shrine. - this.addAbility(new ConditionalActivatedAbility(new GainLifeEffect(2), new TapSourceCost(), condition)); + this.addAbility(new ActivateIfConditionActivatedAbility(new GainLifeEffect(2), new TapSourceCost(), condition)); } private LuxaRiverShrine(final LuxaRiverShrine card) { diff --git a/Mage.Sets/src/mage/cards/m/MadblindMountain.java b/Mage.Sets/src/mage/cards/m/MadblindMountain.java index ef35371b7cb..e20d6b4ba2c 100644 --- a/Mage.Sets/src/mage/cards/m/MadblindMountain.java +++ b/Mage.Sets/src/mage/cards/m/MadblindMountain.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ShuffleLibrarySourceEffect; import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; @@ -44,7 +44,7 @@ public final class MadblindMountain extends CardImpl { this.addAbility(new EntersBattlefieldTappedAbility()); // {R}, {tap}: Shuffle your library. Activate this ability only if you control two or more red permanents. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ShuffleLibrarySourceEffect(), new ManaCostsImpl<>("{R}"), condition ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/m/MaddeningImp.java b/Mage.Sets/src/mage/cards/m/MaddeningImp.java index d2679996e5d..569389556ce 100644 --- a/Mage.Sets/src/mage/cards/m/MaddeningImp.java +++ b/Mage.Sets/src/mage/cards/m/MaddeningImp.java @@ -9,7 +9,7 @@ import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.OpponentsTurnCondition; import mage.abilities.condition.common.TargetAttackedThisTurnCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.combat.AttacksIfAbleAllEffect; import mage.abilities.keyword.FlyingAbility; @@ -49,7 +49,7 @@ public final class MaddeningImp extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // {T}: Non-Wall creatures the active player controls attack this turn if able. At the beginning of the next end step, destroy each of those creatures that didn't attack this turn. Activate this ability only during an opponent's turn and only before combat. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AttacksIfAbleAllEffect(filter, Duration.EndOfTurn), new TapSourceCost(), MaddeningImpTurnCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java b/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java index c3c80a48539..9c61c7fc0ed 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInHandCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; @@ -33,7 +33,7 @@ public final class MagusOfTheLibrary extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {tap}: Draw a card. Activate this ability only if you have exactly seven cards in hand. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new TapSourceCost(), condition )); } diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java index f2ee5c151f2..e354c4a6f96 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ExchangeLifeControllerTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -28,7 +28,7 @@ public final class MagusOfTheMirror extends CardImpl { this.toughness = new MageInt(2); // {tap}, Sacrifice Magus of the Mirror: Exchange life totals with target opponent. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ExchangeLifeControllerTargetEffect(), new TapSourceCost(), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/m/Marjhan.java b/Mage.Sets/src/mage/cards/m/Marjhan.java index 6fd9e844060..607e3ede721 100644 --- a/Mage.Sets/src/mage/cards/m/Marjhan.java +++ b/Mage.Sets/src/mage/cards/m/Marjhan.java @@ -8,7 +8,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -52,7 +52,7 @@ public final class Marjhan extends CardImpl { this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect())); // {U}{U}, Sacrifice a creature: Untap Marjhan. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new UntapSourceEffect(), new ManaCostsImpl<>("{U}{U}"), IsStepCondition.getMyUpkeep() ); ability.addCost(new SacrificeTargetCost(StaticFilters.FILTER_PERMANENT_CREATURE)); diff --git a/Mage.Sets/src/mage/cards/m/MatzalantliTheGreatDoor.java b/Mage.Sets/src/mage/cards/m/MatzalantliTheGreatDoor.java index 3152e2d0860..04f0ff0b214 100644 --- a/Mage.Sets/src/mage/cards/m/MatzalantliTheGreatDoor.java +++ b/Mage.Sets/src/mage/cards/m/MatzalantliTheGreatDoor.java @@ -5,7 +5,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.IntCompareCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DrawDiscardControllerEffect; @@ -43,7 +43,7 @@ public final class MatzalantliTheGreatDoor extends CardImpl { // {4}, {T}: Transform Matzalantli, the Great Door. Activate only if there are four or more permanent types among cards in your graveyard. this.addAbility(new TransformAbility()); - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new TransformSourceEffect(), new GenericManaCost(4), new MatzalantliTheGreatDoorCondition() @@ -118,4 +118,4 @@ enum MatzalantliTheGreatDoorValue implements DynamicValue { public String toString() { return "X"; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java b/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java index 0a4692c1360..42261b5ec34 100644 --- a/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java +++ b/Mage.Sets/src/mage/cards/m/MetallurgicSummonings.java @@ -6,7 +6,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.ExileSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -43,7 +43,7 @@ public final class MetallurgicSummonings extends CardImpl { )); // {3}{U}{U}, Exile Metallurgic Summons: Return all instant and sorcery cards from your graveyard to your hand. Activate this ability only if you control six or more artifacts. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new MetallurgicSummoningsReturnEffect(), new ManaCostsImpl<>("{3}{U}{U}"), condition ); ability.addCost(new ExileSourceCost()); diff --git a/Mage.Sets/src/mage/cards/m/MirrorUniverse.java b/Mage.Sets/src/mage/cards/m/MirrorUniverse.java index 8ec51e36ebc..6137a7f16e3 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorUniverse.java +++ b/Mage.Sets/src/mage/cards/m/MirrorUniverse.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ExchangeLifeControllerTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -22,7 +22,7 @@ public final class MirrorUniverse extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); // {tap}, Sacrifice Mirror Universe: Exchange life totals with target opponent. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ExchangeLifeControllerTargetEffect(), new TapSourceCost(), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/m/MoonringIsland.java b/Mage.Sets/src/mage/cards/m/MoonringIsland.java index e9df6a2e37e..f3f8e983da0 100644 --- a/Mage.Sets/src/mage/cards/m/MoonringIsland.java +++ b/Mage.Sets/src/mage/cards/m/MoonringIsland.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.LookLibraryTopCardTargetPlayerEffect; import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; @@ -45,7 +45,7 @@ public final class MoonringIsland extends CardImpl { this.addAbility(new EntersBattlefieldTappedAbility()); // {U}, {tap}: Look at the top card of target player's library. Activate this ability only if you control two or more blue permanents. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new LookLibraryTopCardTargetPlayerEffect(), new ManaCostsImpl<>("{U}"), condition ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java b/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java index 007328316fc..c335bce3ad6 100644 --- a/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java +++ b/Mage.Sets/src/mage/cards/n/NajeelaTheBladeBlossom.java @@ -7,7 +7,7 @@ import mage.abilities.common.AttacksAllTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.common.AdditionalCombatPhaseEffect; import mage.abilities.effects.common.CreateTokenTargetEffect; @@ -50,7 +50,7 @@ public final class NajeelaTheBladeBlossom extends CardImpl { )); // {W}{U}{B}{R}{G}: Untap all attacking creatures. They gain trample, lifelink, and haste until end of turn. After this phase, there is an additional combat phase. Activate this ability only during combat. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new UntapAllEffect(StaticFilters.FILTER_ATTACKING_CREATURES), new ManaCostsImpl<>("{W}{U}{B}{R}{G}"), condition ); diff --git a/Mage.Sets/src/mage/cards/n/NantukoMonastery.java b/Mage.Sets/src/mage/cards/n/NantukoMonastery.java index 2d5d06dff11..167a029fb6d 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoMonastery.java +++ b/Mage.Sets/src/mage/cards/n/NantukoMonastery.java @@ -3,7 +3,7 @@ package mage.cards.n; import mage.MageInt; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.mana.ColorlessManaAbility; @@ -29,7 +29,7 @@ public final class NantukoMonastery extends CardImpl { this.addAbility(new ColorlessManaAbility()); // Threshold - {G}{W}: Nantuko Monastery becomes a 4/4 green and white Insect Monk creature with first strike until end of turn. It's still a land. Activate this ability only if seven or more cards are in your graveyard. - this.addAbility(new ConditionalActivatedAbility(new BecomesCreatureSourceEffect( + this.addAbility(new ActivateIfConditionActivatedAbility(new BecomesCreatureSourceEffect( new NantukoMonasteryToken(), CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{G}{W}"), ThresholdCondition.instance ).setAbilityWord(AbilityWord.THRESHOLD)); diff --git a/Mage.Sets/src/mage/cards/n/Necrosavant.java b/Mage.Sets/src/mage/cards/n/Necrosavant.java index 4cb939f9fe4..65e33666d87 100644 --- a/Mage.Sets/src/mage/cards/n/Necrosavant.java +++ b/Mage.Sets/src/mage/cards/n/Necrosavant.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -30,7 +30,7 @@ public final class Necrosavant extends CardImpl { this.toughness = new MageInt(5); // {3}{B}{B}, Sacrifice a creature: Return Necrosavant from your graveyard to the battlefield. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{3}{B}{B}"), IsStepCondition.getMyUpkeep() diff --git a/Mage.Sets/src/mage/cards/n/NettlingImp.java b/Mage.Sets/src/mage/cards/n/NettlingImp.java index f95dfaa9cae..9112a413f5b 100644 --- a/Mage.Sets/src/mage/cards/n/NettlingImp.java +++ b/Mage.Sets/src/mage/cards/n/NettlingImp.java @@ -8,7 +8,7 @@ import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.OpponentsTurnCondition; import mage.abilities.condition.common.TargetAttackedThisTurnCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.combat.AttacksIfAbleTargetEffect; @@ -45,7 +45,7 @@ public final class NettlingImp extends CardImpl { this.toughness = new MageInt(1); // {T}: Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. If it doesn't, destroy it at the beginning of the next end step. Activate this ability only during an opponent's turn, before attackers are declared. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AttacksIfAbleTargetEffect(Duration.EndOfTurn) .setText("choose target non-Wall creature the active player has controlled " + "continuously since the beginning of the turn. That creature attacks this turn if able"), diff --git a/Mage.Sets/src/mage/cards/n/NihilisticGlee.java b/Mage.Sets/src/mage/cards/n/NihilisticGlee.java index 515ee7645e0..05645305410 100644 --- a/Mage.Sets/src/mage/cards/n/NihilisticGlee.java +++ b/Mage.Sets/src/mage/cards/n/NihilisticGlee.java @@ -7,7 +7,7 @@ import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.costs.common.PayLifeCost; import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeTargetEffect; @@ -38,7 +38,7 @@ public final class NihilisticGlee extends CardImpl { this.addAbility(ability); // Hellbent - {1}, Pay 2 life: Draw a card. Activate this ability only if you have no cards in hand. - ability = new ConditionalActivatedAbility( + ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new GenericManaCost(1), HellbentCondition.instance ); diff --git a/Mage.Sets/src/mage/cards/n/NimDevourer.java b/Mage.Sets/src/mage/cards/n/NimDevourer.java index be35b35d554..4f014a147dc 100644 --- a/Mage.Sets/src/mage/cards/n/NimDevourer.java +++ b/Mage.Sets/src/mage/cards/n/NimDevourer.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.ArtifactYouControlCount; import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; @@ -40,7 +40,7 @@ public final class NimDevourer extends CardImpl { ); // {B}{B}: Return Nim Devourer from your graveyard to the battlefield, then sacrifice a creature. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false, false), new ManaCostsImpl<>("{B}{B}"), IsStepCondition.getMyUpkeep()); ability.addEffect(new SacrificeControllerEffect(StaticFilters.FILTER_PERMANENT_A_CREATURE, 1, ", then")); diff --git a/Mage.Sets/src/mage/cards/n/NomadDecoy.java b/Mage.Sets/src/mage/cards/n/NomadDecoy.java index ae6c27590a6..b4959d7d3b1 100644 --- a/Mage.Sets/src/mage/cards/n/NomadDecoy.java +++ b/Mage.Sets/src/mage/cards/n/NomadDecoy.java @@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -37,7 +37,7 @@ public final class NomadDecoy extends CardImpl { this.addAbility(ability); // Threshold - {W}{W}, {T}: Tap two target creatures. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new TapTargetEffect(), new ManaCostsImpl<>("{W}{W}"), ThresholdCondition.instance ); thresholdAbility.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/n/NomadStadium.java b/Mage.Sets/src/mage/cards/n/NomadStadium.java index 5bca3530f0a..67b7d234c84 100644 --- a/Mage.Sets/src/mage/cards/n/NomadStadium.java +++ b/Mage.Sets/src/mage/cards/n/NomadStadium.java @@ -5,7 +5,7 @@ import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.mana.WhiteManaAbility; @@ -30,7 +30,7 @@ public final class NomadStadium extends CardImpl { this.addAbility(manaAbility); // Threshold - {W}, {tap}, Sacrifice Nomad Stadium: You gain 4 life. Activate this ability only if seven or more cards are in your graveyard. - Ability thresholdAbility = new ConditionalActivatedAbility( + Ability thresholdAbility = new ActivateIfConditionActivatedAbility( new GainLifeEffect(4), new ManaCostsImpl<>("{W}"), ThresholdCondition.instance ); thresholdAbility.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/n/Norritt.java b/Mage.Sets/src/mage/cards/n/Norritt.java index c01d2b616ab..6985a8698cf 100644 --- a/Mage.Sets/src/mage/cards/n/Norritt.java +++ b/Mage.Sets/src/mage/cards/n/Norritt.java @@ -9,7 +9,7 @@ import mage.abilities.condition.InvertCondition; import mage.abilities.condition.common.BeforeAttackersAreDeclaredCondition; import mage.abilities.condition.common.TargetAttackedThisTurnCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.UntapTargetEffect; @@ -59,7 +59,7 @@ public final class Norritt extends CardImpl { this.addAbility(ability1); // {T}: Choose target non-Wall creature the active player has controlled continuously since the beginning of the turn. That creature attacks this turn if able. If it doesn't, destroy it at the beginning of the next end step. Activate this ability only before attackers are declared. - Ability ability2 = new ConditionalActivatedAbility( + Ability ability2 = new ActivateIfConditionActivatedAbility( new AttacksIfAbleTargetEffect(Duration.EndOfTurn) .setText("choose target non-Wall creature the active player has controlled continuously " + "since the beginning of the turn. That creature attacks this turn if able"), diff --git a/Mage.Sets/src/mage/cards/o/OraclesVault.java b/Mage.Sets/src/mage/cards/o/OraclesVault.java index 9ddbc215f7c..bdaf943dd52 100644 --- a/Mage.Sets/src/mage/cards/o/OraclesVault.java +++ b/Mage.Sets/src/mage/cards/o/OraclesVault.java @@ -6,7 +6,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ExileTopXMayPlayUntilEffect; import mage.abilities.effects.common.asthought.PlayFromNotOwnHandZoneTargetEffect; @@ -42,7 +42,7 @@ public final class OraclesVault extends CardImpl { // {T}: Exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. // Activate this ability only if there are three or more brick counters on Oracle's Vault. - this.addAbility(new ConditionalActivatedAbility(new OraclesVaultFreeEffect(), new TapSourceCost(), condition)); + this.addAbility(new ActivateIfConditionActivatedAbility(new OraclesVaultFreeEffect(), new TapSourceCost(), condition)); } private OraclesVault(final OraclesVault card) { diff --git a/Mage.Sets/src/mage/cards/o/OrazcaRelic.java b/Mage.Sets/src/mage/cards/o/OrazcaRelic.java index 8bd9d401a01..06573ddbb5e 100644 --- a/Mage.Sets/src/mage/cards/o/OrazcaRelic.java +++ b/Mage.Sets/src/mage/cards/o/OrazcaRelic.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.hint.common.CitysBlessingHint; @@ -31,7 +31,7 @@ public final class OrazcaRelic extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {T}, Sacrifice Orazca Relic: You gain 3 life and draw a card. Activate this ability only if you have the city's blessing. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new GainLifeEffect(3), new TapSourceCost(), CitysBlessingCondition.instance ); ability.addCost(new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/cards/r/Ragamuffyn.java b/Mage.Sets/src/mage/cards/r/Ragamuffyn.java index d3f1598a12a..7e1733d9fc0 100644 --- a/Mage.Sets/src/mage/cards/r/Ragamuffyn.java +++ b/Mage.Sets/src/mage/cards/r/Ragamuffyn.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.HellbentCondition; import mage.abilities.costs.common.SacrificeTargetCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -36,7 +36,7 @@ public final class Ragamuffyn extends CardImpl { this.toughness = new MageInt(2); // Hellbent - {tap}, Sacrifice a creature or land: Draw a card. Activate this ability only if you have no cards in hand. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new TapSourceCost(), HellbentCondition.instance ); ability.addCost(new SacrificeTargetCost(filter)); diff --git a/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java b/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java index 5f9c22967b4..0426b23e070 100644 --- a/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java +++ b/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java @@ -3,7 +3,7 @@ package mage.cards.r; import mage.MageInt; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount; import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.keyword.FlyingAbility; @@ -33,7 +33,7 @@ public final class ReaperOfFlightMoonsilver extends CardImpl { // Delirium — Sacrifice another creature: Reaper of Flight Moonsilver gets +2/+1 until end of turn. // Activate this ability only if there are four or more card types among cards in your graveyard. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new BoostSourceEffect(2, 1, Duration.EndOfTurn), new SacrificeTargetCost(StaticFilters.FILTER_ANOTHER_CREATURE), DeliriumCondition.instance ).setAbilityWord(AbilityWord.DELIRIUM).addHint(CardTypesInGraveyardCount.YOU.getHint())); diff --git a/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java b/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java index 52a2eb7e75c..525d1314c5b 100644 --- a/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java +++ b/Mage.Sets/src/mage/cards/r/RepeatingBarrage.java @@ -3,7 +3,7 @@ package mage.cards.r; import mage.abilities.Ability; import mage.abilities.condition.common.RaidCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.hint.common.RaidHint; @@ -30,7 +30,7 @@ public final class RepeatingBarrage extends CardImpl { this.getSpellAbility().addTarget(new TargetAnyTarget()); // Raid — {3}{R}{R}: Return Repeating Barrage from your graveyard to your hand. Activate this ability only if you attacked this turn. - Ability ability = new ConditionalActivatedAbility(Zone.GRAVEYARD, + Ability ability = new ActivateIfConditionActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{3}{R}{R}"), RaidCondition.instance); diff --git a/Mage.Sets/src/mage/cards/r/ResistanceBomber.java b/Mage.Sets/src/mage/cards/r/ResistanceBomber.java index 8b986c7c0db..b5ca1bade46 100644 --- a/Mage.Sets/src/mage/cards/r/ResistanceBomber.java +++ b/Mage.Sets/src/mage/cards/r/ResistanceBomber.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.condition.common.SourceAttackingCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.SpaceflightAbility; @@ -40,7 +40,7 @@ public final class ResistanceBomber extends CardImpl { )); // Remove a charge counter from Resistance Bomber: Resistance Bomber deals 5 damage to target creature. Activate this ability only if Resistance Bomber is attacking. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DamageTargetEffect(5), new RemoveCountersSourceCost(CounterType.CHARGE.createInstance()), SourceAttackingCondition.instance diff --git a/Mage.Sets/src/mage/cards/r/RockHydra.java b/Mage.Sets/src/mage/cards/r/RockHydra.java index b921e49ef42..d384833e68e 100644 --- a/Mage.Sets/src/mage/cards/r/RockHydra.java +++ b/Mage.Sets/src/mage/cards/r/RockHydra.java @@ -7,7 +7,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.PreventionEffectImpl; import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; import mage.abilities.effects.common.PreventDamageToSourceEffect; @@ -48,7 +48,7 @@ public final class RockHydra extends CardImpl { )); // {R}{R}{R}: Put a +1/+1 counter on Rock Hydra. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new ManaCostsImpl<>("{R}{R}{R}"), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/r/RocketLauncher.java b/Mage.Sets/src/mage/cards/r/RocketLauncher.java index 9158377ad80..f5fcb40b204 100644 --- a/Mage.Sets/src/mage/cards/r/RocketLauncher.java +++ b/Mage.Sets/src/mage/cards/r/RocketLauncher.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DestroySourceEffect; @@ -26,7 +26,7 @@ public final class RocketLauncher extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); // {2}: Rocket Launcher deals 1 damage to any target. Destroy Rocket Launcher at the beginning of the next end step. Activate this ability only if you've controlled Rocket Launcher continuously since the beginning of your most recent turn. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DamageTargetEffect(1), new GenericManaCost(2), RocketLauncherCondition.instance ); ability.addTarget(new TargetAnyTarget()); diff --git a/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java b/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java index 5e9aa2eada8..a40e0766d37 100644 --- a/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java +++ b/Mage.Sets/src/mage/cards/s/SacredWhiteDeer.java @@ -6,7 +6,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -33,7 +33,7 @@ public final class SacredWhiteDeer extends CardImpl { this.toughness = new MageInt(2); // {3}{G}, {T}: You gain 4 life. Activate this ability only if you control a Yanggu planeswalker. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new GainLifeEffect(4), new ManaCostsImpl<>("{3}{G}"), condition ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/s/SapseepForest.java b/Mage.Sets/src/mage/cards/s/SapseepForest.java index 2060b840a24..da3cafae68b 100644 --- a/Mage.Sets/src/mage/cards/s/SapseepForest.java +++ b/Mage.Sets/src/mage/cards/s/SapseepForest.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; @@ -44,7 +44,7 @@ public final class SapseepForest extends CardImpl { this.addAbility(new EntersBattlefieldTappedAbility()); // {G}, {tap}: You gain 1 life. Activate this ability only if you control two or more green permanents. - Ability ability = new ConditionalActivatedAbility(new GainLifeEffect(1), new ManaCostsImpl<>("{G}"), condition); + Ability ability = new ActivateIfConditionActivatedAbility(new GainLifeEffect(1), new ManaCostsImpl<>("{G}"), condition); ability.addCost(new TapSourceCost()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/Scourglass.java b/Mage.Sets/src/mage/cards/s/Scourglass.java index 1378df1f89a..1622b023215 100644 --- a/Mage.Sets/src/mage/cards/s/Scourglass.java +++ b/Mage.Sets/src/mage/cards/s/Scourglass.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -30,7 +30,7 @@ public final class Scourglass extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}{W}{W}"); // {T}, Sacrifice Scourglass: Destroy all permanents except for artifacts and lands. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DestroyAllEffect(filter), new TapSourceCost(), IsStepCondition.getMyUpkeep() ); ability.addCost(new SacrificeSourceCost()); diff --git a/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java b/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java index 1ed79e586cc..d9460612177 100644 --- a/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java +++ b/Mage.Sets/src/mage/cards/s/SeaGateWreckage.java @@ -4,7 +4,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.HellbentCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; @@ -25,7 +25,7 @@ public final class SeaGateWreckage extends CardImpl { this.addAbility(new ColorlessManaAbility()); // {2}{C}, {T}: Draw a card. Activate this ability only if you have no cards in hand. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}{C}"), HellbentCondition.instance ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/s/SeaTroll.java b/Mage.Sets/src/mage/cards/s/SeaTroll.java index 430e5240980..5234a2f2a4f 100644 --- a/Mage.Sets/src/mage/cards/s/SeaTroll.java +++ b/Mage.Sets/src/mage/cards/s/SeaTroll.java @@ -5,7 +5,7 @@ import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -34,7 +34,7 @@ public final class SeaTroll extends CardImpl { this.toughness = new MageInt(1); // {U}: Regenerate Sea Troll. Activate this ability only if Sea Troll blocked or was blocked by a blue creature this turn. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new RegenerateSourceEffect(), new ManaCostsImpl<>("{U}"), SeaTrollCondition.instance ); ability.addWatcher(new SeaTrollWatcher()); diff --git a/Mage.Sets/src/mage/cards/s/ShadowsOfThePast.java b/Mage.Sets/src/mage/cards/s/ShadowsOfThePast.java index 42845ed3916..dc0c740887f 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowsOfThePast.java +++ b/Mage.Sets/src/mage/cards/s/ShadowsOfThePast.java @@ -5,7 +5,7 @@ import mage.abilities.common.DiesCreatureTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.condition.common.CardsInControllerGraveyardCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.abilities.effects.keyword.ScryEffect; @@ -30,7 +30,7 @@ public final class ShadowsOfThePast extends CardImpl { this.addAbility(new DiesCreatureTriggeredAbility(new ScryEffect(1), false)); // {4}{B}: Each opponent loses 2 life and you gain 2 life. Activate this ability only if there are four or more creature cards in your graveyard. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new LoseLifeOpponentsEffect(2), new ManaCostsImpl<>("{4}{B}"), condition ); ability.addEffect(new GainLifeEffect(2).concatBy("and")); diff --git a/Mage.Sets/src/mage/cards/s/ShardPhoenix.java b/Mage.Sets/src/mage/cards/s/ShardPhoenix.java index 16622370f60..664775afc9b 100644 --- a/Mage.Sets/src/mage/cards/s/ShardPhoenix.java +++ b/Mage.Sets/src/mage/cards/s/ShardPhoenix.java @@ -5,7 +5,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageAllEffect; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.keyword.FlyingAbility; @@ -44,7 +44,7 @@ public final class ShardPhoenix extends CardImpl { this.addAbility(new SimpleActivatedAbility(new DamageAllEffect(2, "it", filter), new SacrificeSourceCost())); // {R}{R}{R}: Return Shard Phoenix from your graveyard to your hand. Activate this ability only during your upkeep. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{R}{R}{R}"), IsStepCondition.getMyUpkeep() )); diff --git a/Mage.Sets/src/mage/cards/s/Sheoldred.java b/Mage.Sets/src/mage/cards/s/Sheoldred.java index 2f03cac8bcf..49f1aad0ef4 100644 --- a/Mage.Sets/src/mage/cards/s/Sheoldred.java +++ b/Mage.Sets/src/mage/cards/s/Sheoldred.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.condition.common.CardsInOpponentGraveyardCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ExileAndReturnSourceEffect; import mage.abilities.effects.common.SacrificeOpponentsEffect; import mage.abilities.keyword.MenaceAbility; @@ -48,7 +48,7 @@ public final class Sheoldred extends CardImpl { // {4}{B}: Exile Sheoldred, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery and only if an opponent has eight or more cards in their graveyard. this.addAbility(new TransformAbility()); - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new ExileAndReturnSourceEffect(PutCards.BATTLEFIELD_TRANSFORMED), new ManaCostsImpl<>("{4}{B}"), CardsInOpponentGraveyardCondition.EIGHT ).setTiming(TimingRule.SORCERY).addHint(CardsInOpponentGraveyardCondition.EIGHT.getHint())); diff --git a/Mage.Sets/src/mage/cards/s/ShiftingWoodland.java b/Mage.Sets/src/mage/cards/s/ShiftingWoodland.java index b38ec519e59..666139b3a63 100644 --- a/Mage.Sets/src/mage/cards/s/ShiftingWoodland.java +++ b/Mage.Sets/src/mage/cards/s/ShiftingWoodland.java @@ -5,14 +5,13 @@ import mage.abilities.common.EntersBattlefieldTappedUnlessAbility; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.condition.common.YouControlPermanentCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount; import mage.abilities.effects.OneShotEffect; import mage.abilities.mana.GreenManaAbility; import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; -import mage.cards.ModalDoubleFacedCard; import mage.constants.*; import mage.filter.FilterCard; import mage.filter.FilterPermanent; @@ -47,7 +46,7 @@ public final class ShiftingWoodland extends CardImpl { this.addAbility(new GreenManaAbility()); // Delirium -- {2}{G}{G}: Shifting Woodland becomes a copy of target permanent card in your graveyard until end of turn. Activate only if there are four or more card types among cards in your graveyard. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new ShiftingWoodlandCopyEffect(), new ManaCostsImpl<>("{2}{G}{G}"), DeliriumCondition.instance @@ -97,4 +96,4 @@ class ShiftingWoodlandCopyEffect extends OneShotEffect { game.copyPermanent(Duration.EndOfTurn, blueprint, sourcePermanent.getId(), source, new EmptyCopyApplier()); return true; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/s/SinewDancer.java b/Mage.Sets/src/mage/cards/s/SinewDancer.java index 43da1a58897..6b6b3854987 100644 --- a/Mage.Sets/src/mage/cards/s/SinewDancer.java +++ b/Mage.Sets/src/mage/cards/s/SinewDancer.java @@ -6,7 +6,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.condition.common.CorruptedCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -37,7 +37,7 @@ public final class SinewDancer extends CardImpl { this.addAbility(ability); // Corrupted -- {W}, {T}: Tap target creature. Activate only if an opponent has three or more poison counters. - ability = new ConditionalActivatedAbility( + ability = new ActivateIfConditionActivatedAbility( new TapTargetEffect(), new ManaCostsImpl<>("{W}"), CorruptedCondition.instance ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java b/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java index 51a7291c14f..b1dbe0fa425 100644 --- a/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java +++ b/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.condition.common.HateCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -26,7 +26,7 @@ public final class SithThoughtseeker extends CardImpl { this.toughness = new MageInt(1); // Hate — {2}{U}: Draw a card. Activate this ability only if an opponent lost life from source other than combat damage this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(1), new ManaCostsImpl<>("{2}{U}"), HateCondition.instance ).setAbilityWord(AbilityWord.HATE)); } diff --git a/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java b/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java index 912c6f96f89..3397644e2bf 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java +++ b/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.keyword.BloodthirstAbility; import mage.abilities.keyword.FlyingAbility; @@ -37,7 +37,7 @@ public final class SkarrganFirebird extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // {R}{R}{R}: Return Skarrgan Firebird from your graveyard to your hand. Activate this ability only if an opponent was dealt damage this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{R}{R}{R}"), OpponentWasDealtDamageCondition.instance )); diff --git a/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java b/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java index 6b750b934ad..d25ce1933c4 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java +++ b/Mage.Sets/src/mage/cards/s/SkarrganHellkite.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageMultiEffect; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.RiotAbility; @@ -39,7 +39,7 @@ public final class SkarrganHellkite extends CardImpl { this.addAbility(FlyingAbility.getInstance()); // {3}{R}: Skarrgan Hellkite deals 2 damage divided as you choose among one or two targets. Activate this ability only if Skarrgan Hellkite has a +1/+1 counter on it. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DamageMultiEffect(), new ManaCostsImpl<>("{3}{R}"), condition ).withConditionText("activate only if {this} has a +1/+1 counter on it"); ability.addTarget(new TargetAnyTargetAmount(2)); diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java b/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java index 502d4fd62b4..d137341278e 100644 --- a/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java +++ b/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.MorbidCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.common.TapTargetCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.hint.common.MorbidHint; import mage.cards.CardImpl; @@ -40,7 +40,7 @@ public final class SkirsdagHighPriest extends CardImpl { this.toughness = new MageInt(2); // Morbid — {tap}, Tap two untapped creatures you control: Create a 5/5 black Demon creature token with flying. Activate this ability only if a creature died this turn. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new CreateTokenEffect(new DemonToken()), new TapSourceCost(), MorbidCondition.instance ); ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent(2, 2, filter, false))); diff --git a/Mage.Sets/src/mage/cards/s/SliverHive.java b/Mage.Sets/src/mage/cards/s/SliverHive.java index 7f1dcd932bb..98cf77e5fb3 100644 --- a/Mage.Sets/src/mage/cards/s/SliverHive.java +++ b/Mage.Sets/src/mage/cards/s/SliverHive.java @@ -5,7 +5,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ConditionalAnyColorManaAbility; @@ -47,7 +47,7 @@ public final class SliverHive extends CardImpl { )); // {5}, {T}: Create a 1/1 colorless Sliver creature token. Activate this ability only if you control a Sliver. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new CreateTokenEffect(new SliverToken()), new GenericManaCost(5), condition ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java b/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java index e5b23d41e4a..3a3c3075ba2 100644 --- a/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java +++ b/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java @@ -3,7 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.condition.common.DeliriumCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.dynamicvalue.common.CardTypesInGraveyardCount; import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; @@ -29,7 +29,7 @@ public final class StallionOfAshmouth extends CardImpl { // Delirium — {1}{B}: Stallion of Ashmouth gets +1/+1 until end of turn. Activate this ability only if there are // four or more card types among cards in your graveyard. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{B}"), DeliriumCondition.instance ).setAbilityWord(AbilityWord.DELIRIUM).addHint(CardTypesInGraveyardCount.YOU.getHint())); diff --git a/Mage.Sets/src/mage/cards/s/SungoldSentinel.java b/Mage.Sets/src/mage/cards/s/SungoldSentinel.java index e551fc89c59..b6d6782888b 100644 --- a/Mage.Sets/src/mage/cards/s/SungoldSentinel.java +++ b/Mage.Sets/src/mage/cards/s/SungoldSentinel.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility; import mage.abilities.condition.common.CovenCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.ExileTargetEffect; import mage.abilities.effects.common.combat.CantBeBlockedByAllSourceEffect; @@ -43,7 +43,7 @@ public final class SungoldSentinel extends CardImpl { this.addAbility(ability); // Coven — {1}{W}: Choose a color. Sungold Sentinel gains hexproof from that color until end of turn and can't be blocked by creatures of that color this turn. Activate only if you control three or more creatures with different powers. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new SungoldSentinelEffect(), new ManaCostsImpl<>("{1}{W}"), CovenCondition.instance ).addHint(CovenHint.instance).setAbilityWord(AbilityWord.COVEN)); } diff --git a/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java b/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java index 0dfb2fa87f8..0084ae13ebd 100644 --- a/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java +++ b/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; @@ -30,7 +30,7 @@ public final class SvyelunitePriest extends CardImpl { this.toughness = new MageInt(1); // {U}{U}, {tap}: Target creature gains shroud until end of turn. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new GainAbilityTargetEffect( ShroudAbility.getInstance(), Duration.EndOfTurn ), new ManaCostsImpl<>("{U}{U}"), IsStepCondition.getMyUpkeep() diff --git a/Mage.Sets/src/mage/cards/t/TIEBomber.java b/Mage.Sets/src/mage/cards/t/TIEBomber.java index 8acd43980e6..05adb874de5 100644 --- a/Mage.Sets/src/mage/cards/t/TIEBomber.java +++ b/Mage.Sets/src/mage/cards/t/TIEBomber.java @@ -5,7 +5,7 @@ import mage.MageInt; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.LoseAbilitySourceEffect; import mage.abilities.keyword.SpaceflightAbility; import mage.cards.CardImpl; @@ -34,7 +34,7 @@ public final class TIEBomber extends CardImpl { this.addAbility(SpaceflightAbility.getInstance()); // {1}: TIE Bomber loses Spaceflight until end od turn. Activate this ability only during combat. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new LoseAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(1), condition )); diff --git a/Mage.Sets/src/mage/cards/t/TheSeedcore.java b/Mage.Sets/src/mage/cards/t/TheSeedcore.java index 79fc0427ab2..4ef25b3b429 100644 --- a/Mage.Sets/src/mage/cards/t/TheSeedcore.java +++ b/Mage.Sets/src/mage/cards/t/TheSeedcore.java @@ -7,7 +7,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.CorruptedCondition; import mage.abilities.costs.Cost; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ConditionalAnyColorManaAbility; @@ -48,7 +48,7 @@ public final class TheSeedcore extends CardImpl { this.addAbility(new ConditionalAnyColorManaAbility(new TapSourceCost(), 1, new TheSeedcoreManaBuilder(), true)); // Corrupted -- {T}: Target 1/1 creature gets +2/+1 until end of turn. Activate only if an opponent has three or more poison counters. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new BoostTargetEffect(2, 1, Duration.EndOfTurn), new TapSourceCost(), CorruptedCondition.instance ).setAbilityWord(AbilityWord.CORRUPTED).addHint(CorruptedCondition.getHint()); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtShucker.java b/Mage.Sets/src/mage/cards/t/ThoughtShucker.java index d5d62db6815..8a0641698dd 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtShucker.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtShucker.java @@ -1,9 +1,9 @@ package mage.cards.t; import mage.MageInt; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.condition.common.ThresholdCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; @@ -42,7 +42,7 @@ public final class ThoughtShucker extends CardImpl { } } -class ThoughtShuckerActivatedAbility extends ConditionalActivatedAbility { +class ThoughtShuckerActivatedAbility extends ActivateIfConditionActivatedAbility { ThoughtShuckerActivatedAbility() { super(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new ManaCostsImpl<>("{1}{U}"), ThresholdCondition.instance); @@ -66,4 +66,4 @@ class ThoughtShuckerActivatedAbility extends ConditionalActivatedAbility { int len = rule.length(); return rule.substring(0, len - 1) + " and only once."; } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/t/ThroneOfEldraine.java b/Mage.Sets/src/mage/cards/t/ThroneOfEldraine.java index e79dee4fa7f..5d90e113827 100644 --- a/Mage.Sets/src/mage/cards/t/ThroneOfEldraine.java +++ b/Mage.Sets/src/mage/cards/t/ThroneOfEldraine.java @@ -11,7 +11,7 @@ import mage.abilities.costs.CostAdjuster; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ChooseColorEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.InfoEffect; @@ -42,7 +42,7 @@ public final class ThroneOfEldraine extends CardImpl { this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ThroneOfEldraineManaEffect(), new TapSourceCost())); // {3}, {T}: Draw two cards. Spend only mana of the chosen color to activate this ability. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new DrawCardSourceControllerEffect(2), new GenericManaCost(3), ThroneOfEldraineChosenColorCondition.instance // disable the ability if no color was chosen or cost is actually {0}. ).hideCondition(); diff --git a/Mage.Sets/src/mage/cards/t/TimestreamNavigator.java b/Mage.Sets/src/mage/cards/t/TimestreamNavigator.java index 6885e39b7fc..1a6567498b2 100644 --- a/Mage.Sets/src/mage/cards/t/TimestreamNavigator.java +++ b/Mage.Sets/src/mage/cards/t/TimestreamNavigator.java @@ -6,7 +6,7 @@ import mage.abilities.condition.common.CitysBlessingCondition; import mage.abilities.costs.common.PutSourceOnBottomOwnerLibraryCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect; import mage.abilities.hint.common.CitysBlessingHint; import mage.abilities.keyword.AscendAbility; @@ -35,7 +35,7 @@ public final class TimestreamNavigator extends CardImpl { this.addAbility(new AscendAbility()); // {2}{U}{U}, {T}, Put Timestream Navigator on the bottom of its owner's library: Take an extra turn after this one. Activate this ability only if you have the city's blessing. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( new AddExtraTurnControllerEffect(), new ManaCostsImpl<>("{2}{U}{U}"), CitysBlessingCondition.instance ); ability.addCost(new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/t/Tolaria.java b/Mage.Sets/src/mage/cards/t/Tolaria.java index 9abcd940693..e913dd389ee 100644 --- a/Mage.Sets/src/mage/cards/t/Tolaria.java +++ b/Mage.Sets/src/mage/cards/t/Tolaria.java @@ -4,7 +4,7 @@ import mage.abilities.ActivatedAbilityImpl; import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.continuous.LoseAbilityTargetEffect; import mage.abilities.keyword.BandingAbility; import mage.abilities.keyword.BandsWithOtherAbility; @@ -34,7 +34,7 @@ public final class Tolaria extends CardImpl { this.addAbility(new BlueManaAbility()); // {T}: Target creature loses banding and all "bands with other" abilities until end of turn. Activate this ability only during any upkeep step. - ActivatedAbilityImpl ability = new ConditionalActivatedAbility( + ActivatedAbilityImpl ability = new ActivateIfConditionActivatedAbility( new LoseAbilityTargetEffect( BandingAbility.getInstance(), Duration.EndOfTurn ).setText("target creature loses banding"), diff --git a/Mage.Sets/src/mage/cards/t/TradeCaravan.java b/Mage.Sets/src/mage/cards/t/TradeCaravan.java index 8a9bc5fe840..3205bd8e757 100644 --- a/Mage.Sets/src/mage/cards/t/TradeCaravan.java +++ b/Mage.Sets/src/mage/cards/t/TradeCaravan.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.condition.common.OnOpponentsTurnCondition; import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.UntapTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility; @@ -51,7 +51,7 @@ public final class TradeCaravan extends CardImpl { 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( + Ability ability = new ActivateIfConditionActivatedAbility( new UntapTargetEffect(), new RemoveCountersSourceCost(CounterType.CURRENCY.createInstance(2)), condition ); ability.addTarget(new TargetPermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/t/TrapRunner.java b/Mage.Sets/src/mage/cards/t/TrapRunner.java index 2fc763b8a9f..3ceda6c168d 100644 --- a/Mage.Sets/src/mage/cards/t/TrapRunner.java +++ b/Mage.Sets/src/mage/cards/t/TrapRunner.java @@ -7,7 +7,7 @@ import mage.abilities.condition.Condition; import mage.abilities.condition.common.AfterBlockersAreDeclaredCondition; import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.BecomeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; @@ -49,7 +49,7 @@ public final class TrapRunner extends CardImpl { this.toughness = new MageInt(3); // {T}: Target unblocked attacking creature becomes blocked. Activate this ability only during combat after blockers are declared. - Ability ability = new ConditionalActivatedAbility(new BecomeBlockedTargetEffect(), new TapSourceCost(), condition); + Ability ability = new ActivateIfConditionActivatedAbility(new BecomeBlockedTargetEffect(), new TapSourceCost(), condition); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/t/TrenzaloreClocktower.java b/Mage.Sets/src/mage/cards/t/TrenzaloreClocktower.java index 6117c0403a5..734c2d9430e 100644 --- a/Mage.Sets/src/mage/cards/t/TrenzaloreClocktower.java +++ b/Mage.Sets/src/mage/cards/t/TrenzaloreClocktower.java @@ -8,7 +8,7 @@ import mage.abilities.costs.common.ExileSourceCost; import mage.abilities.costs.common.RemoveCountersSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -47,7 +47,7 @@ public final class TrenzaloreClocktower extends CardImpl { // {1}{U}, {T}, Remove twelve time counters from Trenzalore Clocktower and exile it: // Shuffle your graveyard and hand into your library, then draw seven cards. // Activate only if you control a Time Lord. - Ability wheelAbility = new ConditionalActivatedAbility( + Ability wheelAbility = new ActivateIfConditionActivatedAbility( new TrenzaloreClocktowerEffect(), new ManaCostsImpl<>("{1}{U}"), new PermanentsOnTheBattlefieldCondition(filter)); diff --git a/Mage.Sets/src/mage/cards/t/TriassicEgg.java b/Mage.Sets/src/mage/cards/t/TriassicEgg.java index efb88ddb034..ee831518ef7 100644 --- a/Mage.Sets/src/mage/cards/t/TriassicEgg.java +++ b/Mage.Sets/src/mage/cards/t/TriassicEgg.java @@ -8,7 +8,7 @@ import mage.abilities.condition.common.SourceHasCounterCondition; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.TapSourceCost; import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.PutCardFromHandOntoBattlefieldEffect; import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; @@ -39,7 +39,7 @@ public final class TriassicEgg extends CardImpl { this.addAbility(ability); // Sacrifice Triassic Egg: Choose one - You may put a creature card from your hand onto the battlefield; - ability = new ConditionalActivatedAbility( + ability = new ActivateIfConditionActivatedAbility( new PutCardFromHandOntoBattlefieldEffect(StaticFilters.FILTER_CARD_CREATURE_A), new SacrificeSourceCost(), condition ).hideCondition(); diff --git a/Mage.Sets/src/mage/cards/u/UndeadGladiator.java b/Mage.Sets/src/mage/cards/u/UndeadGladiator.java index 9d64197d0f1..d0ec2c8720d 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadGladiator.java +++ b/Mage.Sets/src/mage/cards/u/UndeadGladiator.java @@ -5,7 +5,7 @@ import mage.abilities.Ability; import mage.abilities.condition.common.IsStepCondition; import mage.abilities.costs.common.DiscardCardCost; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; @@ -29,7 +29,7 @@ public final class UndeadGladiator extends CardImpl { this.toughness = new MageInt(1); // {1}{B}, Discard a card: Return Undead Gladiator from your graveyard to your hand. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( + Ability ability = new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{1}{B}"), IsStepCondition.getMyUpkeep() ); diff --git a/Mage.Sets/src/mage/cards/u/UndercityScrounger.java b/Mage.Sets/src/mage/cards/u/UndercityScrounger.java index 5485000bb65..dfd6a8e25ac 100644 --- a/Mage.Sets/src/mage/cards/u/UndercityScrounger.java +++ b/Mage.Sets/src/mage/cards/u/UndercityScrounger.java @@ -3,7 +3,7 @@ package mage.cards.u; import mage.MageInt; import mage.abilities.condition.common.MorbidCondition; import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.hint.common.MorbidHint; import mage.cards.CardImpl; @@ -28,7 +28,7 @@ public final class UndercityScrounger extends CardImpl { this.toughness = new MageInt(4); // {T}: Create a Treasure token. Activate only if a creature died this turn. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new CreateTokenEffect(new TreasureToken()), new TapSourceCost(), MorbidCondition.instance ).addHint(MorbidHint.instance)); } diff --git a/Mage.Sets/src/mage/cards/u/Urabrask.java b/Mage.Sets/src/mage/cards/u/Urabrask.java index 1676c242257..899f4552ec6 100644 --- a/Mage.Sets/src/mage/cards/u/Urabrask.java +++ b/Mage.Sets/src/mage/cards/u/Urabrask.java @@ -6,7 +6,7 @@ import mage.abilities.Ability; import mage.abilities.common.SpellCastControllerTriggeredAbility; import mage.abilities.condition.Condition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.ExileAndReturnSourceEffect; import mage.abilities.effects.mana.BasicManaEffect; @@ -51,7 +51,7 @@ public final class Urabrask extends CardImpl { // {R}: Exile Urabrask, then return it to the battlefield transformed under its owner's control. Activate only as a sorcery and only if you've cast three or more instant and/or sorcery spells this turn. this.addAbility(new TransformAbility()); - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( new ExileAndReturnSourceEffect(PutCards.BATTLEFIELD_TRANSFORMED), new ManaCostsImpl<>("{R}"), UrabraskCondition.instance ).setTiming(TimingRule.SORCERY)); diff --git a/Mage.Sets/src/mage/cards/v/ViviensJaguar.java b/Mage.Sets/src/mage/cards/v/ViviensJaguar.java index 56ed0090802..737c29c7b3b 100644 --- a/Mage.Sets/src/mage/cards/v/ViviensJaguar.java +++ b/Mage.Sets/src/mage/cards/v/ViviensJaguar.java @@ -4,7 +4,7 @@ import mage.MageInt; import mage.abilities.condition.Condition; import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.common.ActivateIfConditionActivatedAbility; import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; @@ -37,7 +37,7 @@ public final class ViviensJaguar extends CardImpl { this.addAbility(ReachAbility.getInstance()); // {2}{G}: Return Vivien's Jaguar from your graveyard to your hand. Activate this ability only if you control a Vivien planeswalker. - this.addAbility(new ConditionalActivatedAbility( + this.addAbility(new ActivateIfConditionActivatedAbility( Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new ManaCostsImpl<>("{2}{G}"), condition )); diff --git a/Mage/src/main/java/mage/abilities/common/CaseAbility.java b/Mage/src/main/java/mage/abilities/common/CaseAbility.java index 21e95e09bd5..9b736f1a3b9 100644 --- a/Mage/src/main/java/mage/abilities/common/CaseAbility.java +++ b/Mage/src/main/java/mage/abilities/common/CaseAbility.java @@ -5,7 +5,6 @@ import mage.abilities.TriggeredAbility; import mage.abilities.condition.CompoundCondition; import mage.abilities.condition.Condition; import mage.abilities.condition.common.SolvedSourceCondition; -import mage.abilities.decorator.ConditionalActivatedAbility; import mage.abilities.decorator.ConditionalAsThoughEffect; import mage.abilities.decorator.ConditionalContinuousEffect; import mage.abilities.decorator.ConditionalReplacementEffect; @@ -62,7 +61,7 @@ public class CaseAbility extends SimpleStaticAbility { * * The "Solved" ability must be one of the following: *