From 48a96e5e8f9b59a40d5f057da0249fe0dd112b6e Mon Sep 17 00:00:00 2001 From: Jeff Wadsworth Date: Fri, 24 Jun 2022 15:31:35 -0500 Subject: [PATCH] - Fixed #8916 --- Mage.Sets/src/mage/cards/a/AshmouthBlade.java | 3 ++- Mage.Sets/src/mage/cards/b/BarbedBattlegear.java | 3 ++- Mage.Sets/src/mage/cards/b/BarbedSpike.java | 5 ++++- Mage.Sets/src/mage/cards/b/Batterbone.java | 5 ++++- Mage.Sets/src/mage/cards/b/BattlemagesBracers.java | 3 ++- Mage.Sets/src/mage/cards/b/BeardedAxe.java | 5 ++++- Mage.Sets/src/mage/cards/b/BeltOfGiantStrength.java | 5 ++++- Mage.Sets/src/mage/cards/b/BladeOfTheBloodchief.java | 3 ++- Mage.Sets/src/mage/cards/b/BladedPinions.java | 5 ++++- Mage.Sets/src/mage/cards/b/BlazingSunsteel.java | 4 +++- Mage.Sets/src/mage/cards/b/BrilliantRestoration.java | 6 +++--- Mage.Sets/src/mage/cards/c/ChampionsHelm.java | 3 ++- Mage.Sets/src/mage/cards/c/CivicSaber.java | 3 ++- Mage.Sets/src/mage/cards/c/CloakAndDagger.java | 3 ++- Mage.Sets/src/mage/cards/c/CommandersPlate.java | 3 ++- Mage.Sets/src/mage/cards/d/DancingSword.java | 3 ++- Mage.Sets/src/mage/cards/d/DraugrsHelm.java | 5 ++++- Mage.Sets/src/mage/cards/d/DwarvenHammer.java | 4 +++- Mage.Sets/src/mage/cards/e/EchoCirclet.java | 3 ++- Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java | 3 ++- Mage.Sets/src/mage/cards/e/ElvenBow.java | 4 +++- Mage.Sets/src/mage/cards/e/Embercleave.java | 4 +++- Mage.Sets/src/mage/cards/f/Fiendlash.java | 7 ++++--- Mage.Sets/src/mage/cards/f/FractalHarness.java | 4 +++- Mage.Sets/src/mage/cards/g/GhostLantern.java | 5 ++++- Mage.Sets/src/mage/cards/g/GhostfireBlade.java | 5 ++++- Mage.Sets/src/mage/cards/g/GiantsAmulet.java | 3 ++- Mage.Sets/src/mage/cards/g/GorgonsHead.java | 4 +++- Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java | 3 ++- Mage.Sets/src/mage/cards/g/GriftersBlade.java | 2 +- Mage.Sets/src/mage/cards/h/HandOfVecna.java | 4 +++- Mage.Sets/src/mage/cards/h/HedronMatrix.java | 3 ++- Mage.Sets/src/mage/cards/h/HornOfValhalla.java | 5 ++++- Mage.Sets/src/mage/cards/i/InfiltrationLens.java | 3 ++- Mage.Sets/src/mage/cards/i/InquisitorsFlail.java | 3 ++- Mage.Sets/src/mage/cards/k/KaldraCompleat.java | 4 +++- Mage.Sets/src/mage/cards/l/LeatherArmor.java | 4 +++- Mage.Sets/src/mage/cards/l/LeeringEmblem.java | 3 ++- Mage.Sets/src/mage/cards/l/LightningSpear.java | 5 ++++- Mage.Sets/src/mage/cards/l/Lucille.java | 3 ++- Mage.Sets/src/mage/cards/l/LuxiorGiadasGift.java | 3 ++- Mage.Sets/src/mage/cards/m/MaceOfTheValiant.java | 5 ++++- Mage.Sets/src/mage/cards/m/MaskOfGriselbrand.java | 4 +++- Mage.Sets/src/mage/cards/m/MaskOfTheSchemer.java | 4 +++- Mage.Sets/src/mage/cards/m/MeteoricMace.java | 5 ++++- Mage.Sets/src/mage/cards/m/MulticlassBaldric.java | 5 ++++- Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java | 3 ++- Mage.Sets/src/mage/cards/n/Nettlecyst.java | 5 ++++- Mage.Sets/src/mage/cards/n/NimDeathmantle.java | 3 ++- Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java | 3 ++- Mage.Sets/src/mage/cards/o/OgresCleaver.java | 3 ++- Mage.Sets/src/mage/cards/p/PariahsShield.java | 3 ++- Mage.Sets/src/mage/cards/p/PeregrineMask.java | 3 ++- Mage.Sets/src/mage/cards/p/PlateArmor.java | 3 ++- Mage.Sets/src/mage/cards/r/RakdosRiteknife.java | 3 ++- Mage.Sets/src/mage/cards/r/RazorBoomerang.java | 3 ++- Mage.Sets/src/mage/cards/r/RelicAxe.java | 5 ++++- Mage.Sets/src/mage/cards/r/RobeOfStars.java | 4 +++- Mage.Sets/src/mage/cards/r/RobeOfTheArchmagi.java | 3 ++- Mage.Sets/src/mage/cards/r/RunechantersPike.java | 3 ++- Mage.Sets/src/mage/cards/r/RunedCrown.java | 4 +++- Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java | 4 +++- Mage.Sets/src/mage/cards/s/ScepterOfCelebration.java | 5 ++++- Mage.Sets/src/mage/cards/s/ScroungedScythe.java | 3 ++- Mage.Sets/src/mage/cards/s/SeraphicGreatsword.java | 4 +++- Mage.Sets/src/mage/cards/s/Shadowspear.java | 3 ++- Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java | 3 ++- Mage.Sets/src/mage/cards/s/SigiledSwordOfValeron.java | 5 ++++- Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java | 3 ++- Mage.Sets/src/mage/cards/s/SkeletonKey.java | 3 ++- Mage.Sets/src/mage/cards/s/SlayersPlate.java | 3 ++- Mage.Sets/src/mage/cards/s/SorcerersWand.java | 3 ++- Mage.Sets/src/mage/cards/s/SoulstealerAxe.java | 4 +++- Mage.Sets/src/mage/cards/s/Spellbinder.java | 3 ++- Mage.Sets/src/mage/cards/s/SteelclawLance.java | 2 +- .../src/mage/cards/s/SwordOfDungeonsAndDragons.java | 3 ++- Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java | 3 ++- Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java | 3 ++- Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java | 2 +- Mage.Sets/src/mage/cards/t/TeamPennant.java | 3 ++- Mage.Sets/src/mage/cards/t/ThirstingAxe.java | 3 ++- Mage.Sets/src/mage/cards/t/ThornbiteStaff.java | 3 ++- Mage.Sets/src/mage/cards/t/TrailblazersBoots.java | 3 ++- Mage.Sets/src/mage/cards/t/TrickstersTalisman.java | 5 ++++- Mage.Sets/src/mage/cards/u/UmbralMantle.java | 4 +++- Mage.Sets/src/mage/cards/u/UmezawasJitte.java | 3 ++- Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java | 4 +++- Mage.Sets/src/mage/cards/v/ValkyriesSword.java | 5 ++++- Mage.Sets/src/mage/cards/v/VectisGloves.java | 5 ++++- Mage.Sets/src/mage/cards/v/VeteransArmaments.java | 3 ++- Mage.Sets/src/mage/cards/w/WandOfOrcus.java | 4 +++- Mage.Sets/src/mage/cards/w/WhispersteelDagger.java | 4 +++- Mage.Sets/src/mage/cards/w/WingedBoots.java | 4 +++- Mage/src/main/java/mage/cards/CardImpl.java | 7 +++---- .../main/java/mage/game/events/DamagedBatchEvent.java | 10 ++++++++++ 95 files changed, 260 insertions(+), 101 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AshmouthBlade.java b/Mage.Sets/src/mage/cards/a/AshmouthBlade.java index 09d71e4a31a..2fe642b6b13 100644 --- a/Mage.Sets/src/mage/cards/a/AshmouthBlade.java +++ b/Mage.Sets/src/mage/cards/a/AshmouthBlade.java @@ -13,6 +13,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -37,7 +38,7 @@ public final class AshmouthBlade extends CardImpl { ability.addEffect(effect); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private AshmouthBlade(final AshmouthBlade card) { diff --git a/Mage.Sets/src/mage/cards/b/BarbedBattlegear.java b/Mage.Sets/src/mage/cards/b/BarbedBattlegear.java index 667e6aa627d..e03b5db1ef6 100644 --- a/Mage.Sets/src/mage/cards/b/BarbedBattlegear.java +++ b/Mage.Sets/src/mage/cards/b/BarbedBattlegear.java @@ -13,6 +13,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -28,7 +29,7 @@ public final class BarbedBattlegear extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(4, -1))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.Neutral, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } public BarbedBattlegear (final BarbedBattlegear card) { diff --git a/Mage.Sets/src/mage/cards/b/BarbedSpike.java b/Mage.Sets/src/mage/cards/b/BarbedSpike.java index 506255e7911..ca81e0151ad 100644 --- a/Mage.Sets/src/mage/cards/b/BarbedSpike.java +++ b/Mage.Sets/src/mage/cards/b/BarbedSpike.java @@ -12,6 +12,9 @@ import mage.constants.SubType; import mage.game.permanent.token.ThopterColorlessToken; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -32,7 +35,7 @@ public final class BarbedSpike extends CardImpl { this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(1, 0))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private BarbedSpike(final BarbedSpike card) { diff --git a/Mage.Sets/src/mage/cards/b/Batterbone.java b/Mage.Sets/src/mage/cards/b/Batterbone.java index 47c4d133c59..28b9abd4a77 100644 --- a/Mage.Sets/src/mage/cards/b/Batterbone.java +++ b/Mage.Sets/src/mage/cards/b/Batterbone.java @@ -15,6 +15,9 @@ import mage.constants.CardType; import mage.constants.SubType; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -40,7 +43,7 @@ public final class Batterbone extends CardImpl { this.addAbility(ability); // Equip {5} - this.addAbility(new EquipAbility(5, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(5), new TargetControlledCreaturePermanent(), false)); } private Batterbone(final Batterbone card) { diff --git a/Mage.Sets/src/mage/cards/b/BattlemagesBracers.java b/Mage.Sets/src/mage/cards/b/BattlemagesBracers.java index 15aebd5bacc..b934f0e4a0c 100644 --- a/Mage.Sets/src/mage/cards/b/BattlemagesBracers.java +++ b/Mage.Sets/src/mage/cards/b/BattlemagesBracers.java @@ -18,6 +18,7 @@ import mage.game.permanent.Permanent; import mage.game.stack.StackAbility; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -38,7 +39,7 @@ public final class BattlemagesBracers extends CardImpl { this.addAbility(new BattlemagesBracersTriggeredAbility()); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private BattlemagesBracers(final BattlemagesBracers card) { diff --git a/Mage.Sets/src/mage/cards/b/BeardedAxe.java b/Mage.Sets/src/mage/cards/b/BeardedAxe.java index ddc9d15ee35..b4fe5d43ad7 100644 --- a/Mage.Sets/src/mage/cards/b/BeardedAxe.java +++ b/Mage.Sets/src/mage/cards/b/BeardedAxe.java @@ -16,6 +16,9 @@ import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -46,7 +49,7 @@ public final class BeardedAxe extends CardImpl { ).addHint(hint)); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private BeardedAxe(final BeardedAxe card) { diff --git a/Mage.Sets/src/mage/cards/b/BeltOfGiantStrength.java b/Mage.Sets/src/mage/cards/b/BeltOfGiantStrength.java index 5735c074c45..f8454132836 100644 --- a/Mage.Sets/src/mage/cards/b/BeltOfGiantStrength.java +++ b/Mage.Sets/src/mage/cards/b/BeltOfGiantStrength.java @@ -14,6 +14,9 @@ import mage.game.permanent.Permanent; import mage.util.CardUtil; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -30,7 +33,7 @@ public final class BeltOfGiantStrength extends CardImpl { .setText("equipped creature has base power and toughness 10/10"))); // Equip {10}. This ability costs {X} less to activate where X is the power of the creature it targets. - EquipAbility ability = new EquipAbility(10, false); + EquipAbility ability = new EquipAbility(Outcome.BoostCreature, new GenericManaCost(10), new TargetControlledCreaturePermanent(), false); ability.setCostReduceText("This ability costs {X} less to activate, where X is the power of the creature it targets."); ability.setCostAdjuster(BeltOfGiantStrengthAdjuster.instance); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BladeOfTheBloodchief.java b/Mage.Sets/src/mage/cards/b/BladeOfTheBloodchief.java index 1d89fa15e6a..46a726fa8ac 100644 --- a/Mage.Sets/src/mage/cards/b/BladeOfTheBloodchief.java +++ b/Mage.Sets/src/mage/cards/b/BladeOfTheBloodchief.java @@ -14,6 +14,7 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -29,7 +30,7 @@ public final class BladeOfTheBloodchief extends CardImpl { this.addAbility(new DiesCreatureTriggeredAbility(new BladeOfTheBloodchiefEffect(), false)); //Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private BladeOfTheBloodchief(final BladeOfTheBloodchief card) { diff --git a/Mage.Sets/src/mage/cards/b/BladedPinions.java b/Mage.Sets/src/mage/cards/b/BladedPinions.java index 6db729ef636..92b58338c2b 100644 --- a/Mage.Sets/src/mage/cards/b/BladedPinions.java +++ b/Mage.Sets/src/mage/cards/b/BladedPinions.java @@ -13,6 +13,9 @@ import mage.constants.CardType; import mage.constants.SubType; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author Loki @@ -34,7 +37,7 @@ public final class BladedPinions extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } public BladedPinions(final BladedPinions card) { diff --git a/Mage.Sets/src/mage/cards/b/BlazingSunsteel.java b/Mage.Sets/src/mage/cards/b/BlazingSunsteel.java index 0b26bbe9c5c..846aa11015a 100644 --- a/Mage.Sets/src/mage/cards/b/BlazingSunsteel.java +++ b/Mage.Sets/src/mage/cards/b/BlazingSunsteel.java @@ -23,6 +23,8 @@ import mage.players.Player; import mage.target.common.TargetAnyTarget; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -43,7 +45,7 @@ public final class BlazingSunsteel extends CardImpl { this.addAbility(new BlazingSunsteelTriggeredAbility()); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } private BlazingSunsteel(final BlazingSunsteel card) { diff --git a/Mage.Sets/src/mage/cards/b/BrilliantRestoration.java b/Mage.Sets/src/mage/cards/b/BrilliantRestoration.java index 3c1da7866b5..91782aee45d 100644 --- a/Mage.Sets/src/mage/cards/b/BrilliantRestoration.java +++ b/Mage.Sets/src/mage/cards/b/BrilliantRestoration.java @@ -56,10 +56,10 @@ class BrilliantRestorationEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player == null) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller == null) { return false; } - return player.moveCards(player.getGraveyard().getCards(filter, game), Zone.BATTLEFIELD, source, game); + return controller.moveCards(controller.getGraveyard().getCards(filter, game), Zone.BATTLEFIELD, source, game); } } diff --git a/Mage.Sets/src/mage/cards/c/ChampionsHelm.java b/Mage.Sets/src/mage/cards/c/ChampionsHelm.java index 04e71c9928f..fdd7e73830a 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionsHelm.java +++ b/Mage.Sets/src/mage/cards/c/ChampionsHelm.java @@ -13,6 +13,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -35,7 +36,7 @@ public final class ChampionsHelm extends CardImpl { new EquippedHasSupertypeCondition(SuperType.LEGENDARY), staticText))); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private ChampionsHelm(final ChampionsHelm card) { diff --git a/Mage.Sets/src/mage/cards/c/CivicSaber.java b/Mage.Sets/src/mage/cards/c/CivicSaber.java index 836e691ec06..945cc37eabd 100644 --- a/Mage.Sets/src/mage/cards/c/CivicSaber.java +++ b/Mage.Sets/src/mage/cards/c/CivicSaber.java @@ -19,6 +19,7 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -34,7 +35,7 @@ public final class CivicSaber extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CivicSaberColorCount(), StaticValue.get(0), Duration.WhileOnBattlefield))); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private CivicSaber(final CivicSaber card) { diff --git a/Mage.Sets/src/mage/cards/c/CloakAndDagger.java b/Mage.Sets/src/mage/cards/c/CloakAndDagger.java index 68ebe8cc4cb..e6891bdf7f2 100644 --- a/Mage.Sets/src/mage/cards/c/CloakAndDagger.java +++ b/Mage.Sets/src/mage/cards/c/CloakAndDagger.java @@ -15,6 +15,7 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -38,7 +39,7 @@ public final class CloakAndDagger extends CardImpl { Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "attach {this} to it"), filter, true, SetTargetPointer.PERMANENT, null)); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private CloakAndDagger(final CloakAndDagger card) { diff --git a/Mage.Sets/src/mage/cards/c/CommandersPlate.java b/Mage.Sets/src/mage/cards/c/CommandersPlate.java index 31640429be9..7fe92ff32fd 100644 --- a/Mage.Sets/src/mage/cards/c/CommandersPlate.java +++ b/Mage.Sets/src/mage/cards/c/CommandersPlate.java @@ -24,6 +24,7 @@ import mage.target.targetpointer.FixedTarget; import java.util.Set; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -52,7 +53,7 @@ public final class CommandersPlate extends CardImpl { )); // Equip {5} - this.addAbility(new EquipAbility(5, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(5), new TargetControlledCreaturePermanent(), false)); } private CommandersPlate(final CommandersPlate card) { diff --git a/Mage.Sets/src/mage/cards/d/DancingSword.java b/Mage.Sets/src/mage/cards/d/DancingSword.java index afd471013d3..3e2dea44467 100644 --- a/Mage.Sets/src/mage/cards/d/DancingSword.java +++ b/Mage.Sets/src/mage/cards/d/DancingSword.java @@ -16,6 +16,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -36,7 +37,7 @@ public final class DancingSword extends CardImpl { ).setTriggerPhrase("When equipped creature dies, ")); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private DancingSword(final DancingSword card) { diff --git a/Mage.Sets/src/mage/cards/d/DraugrsHelm.java b/Mage.Sets/src/mage/cards/d/DraugrsHelm.java index 4f13108929c..f3ebf8301d7 100644 --- a/Mage.Sets/src/mage/cards/d/DraugrsHelm.java +++ b/Mage.Sets/src/mage/cards/d/DraugrsHelm.java @@ -5,6 +5,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.CreateTokenAttachSourceEffect; import mage.abilities.effects.common.DoIfCostPaid; @@ -17,7 +18,9 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.Outcome; import mage.game.permanent.token.ZombieBerserkerToken; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -45,7 +48,7 @@ public final class DraugrsHelm extends CardImpl { this.addAbility(ability); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } private DraugrsHelm(final DraugrsHelm card) { diff --git a/Mage.Sets/src/mage/cards/d/DwarvenHammer.java b/Mage.Sets/src/mage/cards/d/DwarvenHammer.java index 1b1439145f8..9d86aa852ac 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenHammer.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenHammer.java @@ -18,6 +18,8 @@ import mage.constants.SubType; import mage.game.permanent.token.DwarfBerserkerToken; import java.util.UUID; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -42,7 +44,7 @@ public final class DwarvenHammer extends CardImpl { this.addAbility(ability); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private DwarvenHammer(final DwarvenHammer card) { diff --git a/Mage.Sets/src/mage/cards/e/EchoCirclet.java b/Mage.Sets/src/mage/cards/e/EchoCirclet.java index 0e4611d6e24..c9f7d97d0d3 100644 --- a/Mage.Sets/src/mage/cards/e/EchoCirclet.java +++ b/Mage.Sets/src/mage/cards/e/EchoCirclet.java @@ -12,6 +12,7 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; /** @@ -27,7 +28,7 @@ public final class EchoCirclet extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new EchoCircletEffect())); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private EchoCirclet(final EchoCirclet card) { diff --git a/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java b/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java index 5e8707f3352..7fa9d06c53f 100644 --- a/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java +++ b/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java @@ -19,6 +19,7 @@ import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author BetaSteward @@ -38,7 +39,7 @@ public final class ElbrusTheBindingBlade extends CardImpl { // When equipped creature deals combat damage to a player, unattach Elbrus, the Binding Blade, then transform it. this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(new ElbrusTheBindingBladeEffect(), "equipped", true)); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private ElbrusTheBindingBlade(final ElbrusTheBindingBlade card) { diff --git a/Mage.Sets/src/mage/cards/e/ElvenBow.java b/Mage.Sets/src/mage/cards/e/ElvenBow.java index 4bb29da8bc4..82e36f7e938 100644 --- a/Mage.Sets/src/mage/cards/e/ElvenBow.java +++ b/Mage.Sets/src/mage/cards/e/ElvenBow.java @@ -18,6 +18,8 @@ import mage.constants.SubType; import mage.game.permanent.token.ElfWarriorToken; import java.util.UUID; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -42,7 +44,7 @@ public final class ElvenBow extends CardImpl { this.addAbility(ability); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private ElvenBow(final ElvenBow card) { diff --git a/Mage.Sets/src/mage/cards/e/Embercleave.java b/Mage.Sets/src/mage/cards/e/Embercleave.java index 8e977b065a7..f86fca9b74d 100644 --- a/Mage.Sets/src/mage/cards/e/Embercleave.java +++ b/Mage.Sets/src/mage/cards/e/Embercleave.java @@ -19,6 +19,8 @@ import mage.constants.*; import mage.filter.StaticFilters; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -54,7 +56,7 @@ public final class Embercleave extends CardImpl { this.addAbility(ability); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private Embercleave(final Embercleave card) { diff --git a/Mage.Sets/src/mage/cards/f/Fiendlash.java b/Mage.Sets/src/mage/cards/f/Fiendlash.java index 7029a86f0b7..340ddf8ec81 100644 --- a/Mage.Sets/src/mage/cards/f/Fiendlash.java +++ b/Mage.Sets/src/mage/cards/f/Fiendlash.java @@ -24,6 +24,7 @@ import mage.game.events.DamagedPermanentBatchEvent; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetPlayerOrPlaneswalker; /** @@ -48,7 +49,7 @@ public final class Fiendlash extends CardImpl { this.addAbility(new FiendlashTriggeredAbility()); // Equip {2}{R} - this.addAbility(new EquipAbility(Outcome.AddAbility, new ManaCostsImpl<>("{2}{R}"), false)); + this.addAbility(new EquipAbility(Outcome.AddAbility, new ManaCostsImpl<>("{2}{R}"), new TargetControlledCreaturePermanent(), false)); } private Fiendlash(final Fiendlash card) { @@ -79,7 +80,7 @@ class FiendlashTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.DAMAGED_PERMANENT_BATCH; + return event.getType() == GameEvent.EventType.DAMAGED_PERMANENT;//DAMAGED_PERMANENT_BATCH; } @Override @@ -93,7 +94,7 @@ class FiendlashTriggeredAbility extends TriggeredAbilityImpl { if (attachedCreature == null) { return false; } - + System.out.println("We get here in the trigger of Fiendlash!!"); game.getState().setValue("Fiendlash" + equipment.getId(), attachedCreature); DamagedPermanentBatchEvent dEvent = (DamagedPermanentBatchEvent) event; diff --git a/Mage.Sets/src/mage/cards/f/FractalHarness.java b/Mage.Sets/src/mage/cards/f/FractalHarness.java index 5d78ede03af..a969ebe1657 100644 --- a/Mage.Sets/src/mage/cards/f/FractalHarness.java +++ b/Mage.Sets/src/mage/cards/f/FractalHarness.java @@ -19,6 +19,8 @@ import mage.game.permanent.token.FractalToken; import mage.game.permanent.token.Token; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -39,7 +41,7 @@ public final class FractalHarness extends CardImpl { )); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private FractalHarness(final FractalHarness card) { diff --git a/Mage.Sets/src/mage/cards/g/GhostLantern.java b/Mage.Sets/src/mage/cards/g/GhostLantern.java index 81618317ae7..a1172922d36 100644 --- a/Mage.Sets/src/mage/cards/g/GhostLantern.java +++ b/Mage.Sets/src/mage/cards/g/GhostLantern.java @@ -13,6 +13,9 @@ import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -30,7 +33,7 @@ public final class GhostLantern extends AdventureCard { ), false, StaticFilters.FILTER_CONTROLLED_A_CREATURE)); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); // Bind Spirit // Return target creature card from your graveyard to your hand. diff --git a/Mage.Sets/src/mage/cards/g/GhostfireBlade.java b/Mage.Sets/src/mage/cards/g/GhostfireBlade.java index 903e25a4a3f..ad2537bc363 100644 --- a/Mage.Sets/src/mage/cards/g/GhostfireBlade.java +++ b/Mage.Sets/src/mage/cards/g/GhostfireBlade.java @@ -16,6 +16,9 @@ import mage.util.CardUtil; import java.util.Objects; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author LevelX2 @@ -30,7 +33,7 @@ public final class GhostfireBlade extends CardImpl { this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 2))); // Equip {3} - Ability ability = new EquipAbility(3, false); + Ability ability = new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false); ability.setCostAdjuster(GhostfireBladeAdjuster.instance); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/g/GiantsAmulet.java b/Mage.Sets/src/mage/cards/g/GiantsAmulet.java index 9641734c813..399a0634ad1 100644 --- a/Mage.Sets/src/mage/cards/g/GiantsAmulet.java +++ b/Mage.Sets/src/mage/cards/g/GiantsAmulet.java @@ -21,6 +21,7 @@ import mage.constants.*; import mage.game.permanent.token.GiantWizardToken; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author ciaccona007 @@ -51,7 +52,7 @@ public final class GiantsAmulet extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private GiantsAmulet(final GiantsAmulet card) { diff --git a/Mage.Sets/src/mage/cards/g/GorgonsHead.java b/Mage.Sets/src/mage/cards/g/GorgonsHead.java index 590894268ec..8a4a00c69cc 100644 --- a/Mage.Sets/src/mage/cards/g/GorgonsHead.java +++ b/Mage.Sets/src/mage/cards/g/GorgonsHead.java @@ -3,6 +3,7 @@ package mage.cards.g; import java.util.UUID; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; import mage.abilities.keyword.DeathtouchAbility; @@ -14,6 +15,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -28,7 +30,7 @@ public final class GorgonsHead extends CardImpl { // Equipped creature has deathtouch. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private GorgonsHead(final GorgonsHead card) { diff --git a/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java b/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java index f9c011909a9..0e1f8b36032 100644 --- a/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java +++ b/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java @@ -17,6 +17,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -36,7 +37,7 @@ public final class GraftedExoskeleton extends CardImpl { this.addAbility(new UnattachedTriggeredAbility(new SacrificeEquippedEffect(), false)); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private GraftedExoskeleton(final GraftedExoskeleton card) { diff --git a/Mage.Sets/src/mage/cards/g/GriftersBlade.java b/Mage.Sets/src/mage/cards/g/GriftersBlade.java index 1690e79066d..6a26430c2f1 100644 --- a/Mage.Sets/src/mage/cards/g/GriftersBlade.java +++ b/Mage.Sets/src/mage/cards/g/GriftersBlade.java @@ -43,7 +43,7 @@ public final class GriftersBlade extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } diff --git a/Mage.Sets/src/mage/cards/h/HandOfVecna.java b/Mage.Sets/src/mage/cards/h/HandOfVecna.java index 5869b9e4deb..48c3d6fcdce 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfVecna.java +++ b/Mage.Sets/src/mage/cards/h/HandOfVecna.java @@ -24,6 +24,8 @@ import mage.target.targetpointer.FixedTarget; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -50,7 +52,7 @@ public final class HandOfVecna extends CardImpl { )); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private HandOfVecna(final HandOfVecna card) { diff --git a/Mage.Sets/src/mage/cards/h/HedronMatrix.java b/Mage.Sets/src/mage/cards/h/HedronMatrix.java index 195d231833b..fc1257cac5f 100644 --- a/Mage.Sets/src/mage/cards/h/HedronMatrix.java +++ b/Mage.Sets/src/mage/cards/h/HedronMatrix.java @@ -19,6 +19,7 @@ import mage.constants.SubLayer; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -34,7 +35,7 @@ public final class HedronMatrix extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new HedronMatrixEffect())); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } public HedronMatrix (final HedronMatrix card) { diff --git a/Mage.Sets/src/mage/cards/h/HornOfValhalla.java b/Mage.Sets/src/mage/cards/h/HornOfValhalla.java index 112b5cdccef..52573c3bd1e 100644 --- a/Mage.Sets/src/mage/cards/h/HornOfValhalla.java +++ b/Mage.Sets/src/mage/cards/h/HornOfValhalla.java @@ -14,6 +14,9 @@ import mage.constants.SubType; import mage.game.permanent.token.SoldierToken; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -31,7 +34,7 @@ public final class HornOfValhalla extends AdventureCard { ).setText("equipped creature gets +1/+1 for each creature you control")).addHint(CreaturesYouControlHint.instance)); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); // Ysgard's Call // Create X 1/1 white Soldier creature tokens. diff --git a/Mage.Sets/src/mage/cards/i/InfiltrationLens.java b/Mage.Sets/src/mage/cards/i/InfiltrationLens.java index 107d18b3b8b..abb6882df65 100644 --- a/Mage.Sets/src/mage/cards/i/InfiltrationLens.java +++ b/Mage.Sets/src/mage/cards/i/InfiltrationLens.java @@ -17,6 +17,7 @@ import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -32,7 +33,7 @@ public final class InfiltrationLens extends CardImpl { this.addAbility(new EquippedBecomesBlockedTriggeredAbility(new DrawCardSourceControllerEffect(2), true)); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private InfiltrationLens(final InfiltrationLens card) { diff --git a/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java b/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java index c233037e795..e45756501ec 100644 --- a/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java +++ b/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java @@ -16,6 +16,7 @@ import mage.game.permanent.Permanent; import mage.util.CardUtil; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author nantuko @@ -31,7 +32,7 @@ public final class InquisitorsFlail extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new InquisitorsFlailEffect())); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private InquisitorsFlail(final InquisitorsFlail card) { diff --git a/Mage.Sets/src/mage/cards/k/KaldraCompleat.java b/Mage.Sets/src/mage/cards/k/KaldraCompleat.java index 3c46552eff0..91e66b7e37f 100644 --- a/Mage.Sets/src/mage/cards/k/KaldraCompleat.java +++ b/Mage.Sets/src/mage/cards/k/KaldraCompleat.java @@ -5,6 +5,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.DealsDamageToACreatureTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.ExileTargetEffect; import mage.abilities.effects.common.continuous.BoostEquippedEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; @@ -13,6 +14,7 @@ import mage.constants.*; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.filter.StaticFilters; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -74,7 +76,7 @@ public final class KaldraCompleat extends CardImpl { this.addAbility(ability); // Equip {7} - this.addAbility(new EquipAbility(7, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(7), new TargetControlledCreaturePermanent(), false)); } private KaldraCompleat(final KaldraCompleat card) { diff --git a/Mage.Sets/src/mage/cards/l/LeatherArmor.java b/Mage.Sets/src/mage/cards/l/LeatherArmor.java index 8399504df48..b251de0efed 100644 --- a/Mage.Sets/src/mage/cards/l/LeatherArmor.java +++ b/Mage.Sets/src/mage/cards/l/LeatherArmor.java @@ -15,6 +15,8 @@ import mage.constants.SubType; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -39,7 +41,7 @@ public final class LeatherArmor extends CardImpl { this.addAbility(ability); // Equip {0}. Activate only once each turn. - EquipAbility equipAbility = new EquipAbility(0, false); + EquipAbility equipAbility = new EquipAbility(Outcome.BoostCreature, new GenericManaCost(0), new TargetControlledCreaturePermanent(), false); equipAbility.setMaxActivationsPerTurn(1); this.addAbility(equipAbility); } diff --git a/Mage.Sets/src/mage/cards/l/LeeringEmblem.java b/Mage.Sets/src/mage/cards/l/LeeringEmblem.java index b9ba228c9a4..83e323e6d85 100644 --- a/Mage.Sets/src/mage/cards/l/LeeringEmblem.java +++ b/Mage.Sets/src/mage/cards/l/LeeringEmblem.java @@ -12,6 +12,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -27,7 +28,7 @@ public final class LeeringEmblem extends CardImpl { this.addAbility(new SpellCastControllerTriggeredAbility(new BoostEquippedEffect(2, 2, Duration.EndOfTurn), false)); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private LeeringEmblem(final LeeringEmblem card) { diff --git a/Mage.Sets/src/mage/cards/l/LightningSpear.java b/Mage.Sets/src/mage/cards/l/LightningSpear.java index b72e1980ace..0c8839286e3 100644 --- a/Mage.Sets/src/mage/cards/l/LightningSpear.java +++ b/Mage.Sets/src/mage/cards/l/LightningSpear.java @@ -18,6 +18,9 @@ import mage.constants.SubType; import mage.target.common.TargetAnyTarget; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -45,7 +48,7 @@ public final class LightningSpear extends CardImpl { this.addAbility(ability); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private LightningSpear(final LightningSpear card) { diff --git a/Mage.Sets/src/mage/cards/l/Lucille.java b/Mage.Sets/src/mage/cards/l/Lucille.java index a1018db8978..00d696f33d4 100644 --- a/Mage.Sets/src/mage/cards/l/Lucille.java +++ b/Mage.Sets/src/mage/cards/l/Lucille.java @@ -19,6 +19,7 @@ import mage.target.TargetPermanent; import mage.target.common.TargetControlledCreaturePermanent; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; /** * @author TheElk801 @@ -42,7 +43,7 @@ public final class Lucille extends CardImpl { this.addAbility(new AttacksAttachedTriggeredAbility(new LucilleEffect())); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } private Lucille(final Lucille card) { diff --git a/Mage.Sets/src/mage/cards/l/LuxiorGiadasGift.java b/Mage.Sets/src/mage/cards/l/LuxiorGiadasGift.java index ec67ac70b57..83a6495acfc 100644 --- a/Mage.Sets/src/mage/cards/l/LuxiorGiadasGift.java +++ b/Mage.Sets/src/mage/cards/l/LuxiorGiadasGift.java @@ -20,6 +20,7 @@ import mage.target.TargetPermanent; import java.util.*; import java.util.stream.IntStream; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -46,7 +47,7 @@ public final class LuxiorGiadasGift extends CardImpl { this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetPermanent(filter), false)); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private LuxiorGiadasGift(final LuxiorGiadasGift card) { diff --git a/Mage.Sets/src/mage/cards/m/MaceOfTheValiant.java b/Mage.Sets/src/mage/cards/m/MaceOfTheValiant.java index 223c2bf0b32..ecbed57c36e 100644 --- a/Mage.Sets/src/mage/cards/m/MaceOfTheValiant.java +++ b/Mage.Sets/src/mage/cards/m/MaceOfTheValiant.java @@ -19,6 +19,9 @@ import mage.counters.CounterType; import mage.filter.StaticFilters; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -46,7 +49,7 @@ public final class MaceOfTheValiant extends CardImpl { )); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private MaceOfTheValiant(final MaceOfTheValiant card) { diff --git a/Mage.Sets/src/mage/cards/m/MaskOfGriselbrand.java b/Mage.Sets/src/mage/cards/m/MaskOfGriselbrand.java index 800895d430c..f0c9e20ee27 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfGriselbrand.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfGriselbrand.java @@ -7,6 +7,7 @@ import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.Cost; import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; import mage.abilities.keyword.EquipAbility; @@ -18,6 +19,7 @@ import mage.cards.CardSetInfo; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -40,7 +42,7 @@ public final class MaskOfGriselbrand extends CardImpl { this.addAbility(new DiesAttachedTriggeredAbility(new MaskOfGriselbrandEffect(), "equipped creature")); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private MaskOfGriselbrand(final MaskOfGriselbrand card) { diff --git a/Mage.Sets/src/mage/cards/m/MaskOfTheSchemer.java b/Mage.Sets/src/mage/cards/m/MaskOfTheSchemer.java index ce4b111cdf5..03778dbd43f 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfTheSchemer.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfTheSchemer.java @@ -14,6 +14,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -31,7 +33,7 @@ public final class MaskOfTheSchemer extends CardImpl { )); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private MaskOfTheSchemer(final MaskOfTheSchemer card) { diff --git a/Mage.Sets/src/mage/cards/m/MeteoricMace.java b/Mage.Sets/src/mage/cards/m/MeteoricMace.java index f55f8ccd785..6c9c3eb3930 100644 --- a/Mage.Sets/src/mage/cards/m/MeteoricMace.java +++ b/Mage.Sets/src/mage/cards/m/MeteoricMace.java @@ -14,6 +14,9 @@ import mage.constants.CardType; import mage.constants.SubType; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -33,7 +36,7 @@ public final class MeteoricMace extends CardImpl { this.addAbility(ability); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); // Cascade this.addAbility(new CascadeAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MulticlassBaldric.java b/Mage.Sets/src/mage/cards/m/MulticlassBaldric.java index 79f3d4d6d14..0db84f965ed 100644 --- a/Mage.Sets/src/mage/cards/m/MulticlassBaldric.java +++ b/Mage.Sets/src/mage/cards/m/MulticlassBaldric.java @@ -22,6 +22,9 @@ import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -76,7 +79,7 @@ public final class MulticlassBaldric extends CardImpl { )).addHint(PartyCountHint.instance)); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private MulticlassBaldric(final MulticlassBaldric card) { diff --git a/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java b/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java index ca77b01b7ff..815a8b2ea3a 100644 --- a/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java +++ b/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java @@ -18,6 +18,7 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author halljared @@ -38,7 +39,7 @@ public final class NeglectedHeirloom extends CardImpl { this.addAbility(new NeglectedHeirloomTriggeredAbility()); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private NeglectedHeirloom(final NeglectedHeirloom card) { diff --git a/Mage.Sets/src/mage/cards/n/Nettlecyst.java b/Mage.Sets/src/mage/cards/n/Nettlecyst.java index 667dbf3118c..1144fe28043 100644 --- a/Mage.Sets/src/mage/cards/n/Nettlecyst.java +++ b/Mage.Sets/src/mage/cards/n/Nettlecyst.java @@ -17,6 +17,9 @@ import mage.filter.FilterPermanent; import mage.filter.common.FilterArtifactOrEnchantmentPermanent; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -47,7 +50,7 @@ public final class Nettlecyst extends CardImpl { ).addHint(hint)); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private Nettlecyst(final Nettlecyst card) { diff --git a/Mage.Sets/src/mage/cards/n/NimDeathmantle.java b/Mage.Sets/src/mage/cards/n/NimDeathmantle.java index b6da9d2b5a6..b180a6f6c1e 100644 --- a/Mage.Sets/src/mage/cards/n/NimDeathmantle.java +++ b/Mage.Sets/src/mage/cards/n/NimDeathmantle.java @@ -27,6 +27,7 @@ import mage.target.targetpointer.FixedTarget; import mage.util.ManaUtil; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author nantuko @@ -54,7 +55,7 @@ public final class NimDeathmantle extends CardImpl { this.addAbility(new NimDeathmantleTriggeredAbility()); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } private NimDeathmantle(final NimDeathmantle card) { diff --git a/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java b/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java index 2b7fd091e3c..eb2849fa870 100644 --- a/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java +++ b/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java @@ -15,6 +15,7 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -38,7 +39,7 @@ public final class ObsidianBattleAxe extends CardImpl { Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "attach {this} to it"), filter, true, SetTargetPointer.PERMANENT, null)); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private ObsidianBattleAxe(final ObsidianBattleAxe card) { diff --git a/Mage.Sets/src/mage/cards/o/OgresCleaver.java b/Mage.Sets/src/mage/cards/o/OgresCleaver.java index 7cf0148f351..8abc5a72a07 100644 --- a/Mage.Sets/src/mage/cards/o/OgresCleaver.java +++ b/Mage.Sets/src/mage/cards/o/OgresCleaver.java @@ -13,6 +13,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -28,7 +29,7 @@ public final class OgresCleaver extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(5, 0))); // Equip {5} - this.addAbility(new EquipAbility(5, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(5), new TargetControlledCreaturePermanent(), false)); } public OgresCleaver (final OgresCleaver card) { diff --git a/Mage.Sets/src/mage/cards/p/PariahsShield.java b/Mage.Sets/src/mage/cards/p/PariahsShield.java index c0fa127a309..1e83de56fce 100644 --- a/Mage.Sets/src/mage/cards/p/PariahsShield.java +++ b/Mage.Sets/src/mage/cards/p/PariahsShield.java @@ -18,6 +18,7 @@ import mage.game.Game; import mage.game.events.DamagePlayerEvent; import mage.game.events.GameEvent; import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -33,7 +34,7 @@ public final class PariahsShield extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PariahEffect())); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private PariahsShield(final PariahsShield card) { diff --git a/Mage.Sets/src/mage/cards/p/PeregrineMask.java b/Mage.Sets/src/mage/cards/p/PeregrineMask.java index b922736b38d..32a26b53f6a 100644 --- a/Mage.Sets/src/mage/cards/p/PeregrineMask.java +++ b/Mage.Sets/src/mage/cards/p/PeregrineMask.java @@ -13,6 +13,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -29,7 +30,7 @@ public final class PeregrineMask extends CardImpl { ability.addEffect(new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)); this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private PeregrineMask(final PeregrineMask card) { diff --git a/Mage.Sets/src/mage/cards/p/PlateArmor.java b/Mage.Sets/src/mage/cards/p/PlateArmor.java index 0496cddeec0..3fe86c05be0 100644 --- a/Mage.Sets/src/mage/cards/p/PlateArmor.java +++ b/Mage.Sets/src/mage/cards/p/PlateArmor.java @@ -21,6 +21,7 @@ import mage.filter.common.FilterEquipmentPermanent; import mage.filter.predicate.mageobject.AnotherPredicate; import mage.game.Game; import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; import mage.util.CardUtil; /** @@ -46,7 +47,7 @@ public final class PlateArmor extends CardImpl { this.addAbility(ability); // Equip {3}. This ability costs {1} less to activate for each other Equipment you control. - EquipAbility equipAbility = new EquipAbility(3, false); + EquipAbility equipAbility = new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false); equipAbility.setCostAdjuster(PlateArmorAdjuster.instance); equipAbility.setCostReduceText("This ability costs {1} less to activate for each other Equipment you control."); this.addAbility(equipAbility.addHint(PlateArmorAdjuster.getHint())); diff --git a/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java b/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java index 5658b06f5d4..220fb314689 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java +++ b/Mage.Sets/src/mage/cards/r/RakdosRiteknife.java @@ -25,6 +25,7 @@ import mage.target.common.TargetControlledCreaturePermanent; import mage.target.targetpointer.FixedTarget; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; import static mage.filter.StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT; @@ -54,7 +55,7 @@ public final class RakdosRiteknife extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private RakdosRiteknife(final RakdosRiteknife card) { diff --git a/Mage.Sets/src/mage/cards/r/RazorBoomerang.java b/Mage.Sets/src/mage/cards/r/RazorBoomerang.java index d47d5571926..8cd223f1125 100644 --- a/Mage.Sets/src/mage/cards/r/RazorBoomerang.java +++ b/Mage.Sets/src/mage/cards/r/RazorBoomerang.java @@ -22,6 +22,7 @@ import mage.players.Player; import mage.target.common.TargetAnyTarget; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author jeffwadsworth @@ -41,7 +42,7 @@ public final class RazorBoomerang extends CardImpl { ))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private RazorBoomerang(final RazorBoomerang card) { diff --git a/Mage.Sets/src/mage/cards/r/RelicAxe.java b/Mage.Sets/src/mage/cards/r/RelicAxe.java index ec080a67475..4f92d7902c7 100644 --- a/Mage.Sets/src/mage/cards/r/RelicAxe.java +++ b/Mage.Sets/src/mage/cards/r/RelicAxe.java @@ -13,6 +13,9 @@ import mage.constants.CardType; import mage.constants.SubType; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -36,7 +39,7 @@ public final class RelicAxe extends CardImpl { ))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private RelicAxe(final RelicAxe card) { diff --git a/Mage.Sets/src/mage/cards/r/RobeOfStars.java b/Mage.Sets/src/mage/cards/r/RobeOfStars.java index 44036c426f8..06779d712cc 100644 --- a/Mage.Sets/src/mage/cards/r/RobeOfStars.java +++ b/Mage.Sets/src/mage/cards/r/RobeOfStars.java @@ -16,6 +16,8 @@ import mage.game.Game; import mage.game.permanent.Permanent; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -36,7 +38,7 @@ public final class RobeOfStars extends CardImpl { ).withFlavorWord("Astral Projection")); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private RobeOfStars(final RobeOfStars card) { diff --git a/Mage.Sets/src/mage/cards/r/RobeOfTheArchmagi.java b/Mage.Sets/src/mage/cards/r/RobeOfTheArchmagi.java index fd343a48860..de30a7083a5 100644 --- a/Mage.Sets/src/mage/cards/r/RobeOfTheArchmagi.java +++ b/Mage.Sets/src/mage/cards/r/RobeOfTheArchmagi.java @@ -16,6 +16,7 @@ import mage.filter.predicate.Predicates; import mage.target.TargetPermanent; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -45,7 +46,7 @@ public final class RobeOfTheArchmagi extends CardImpl { )); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); // Equip Shaman, Warlock, or Wizard {1} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1), new TargetPermanent(filter), false)); diff --git a/Mage.Sets/src/mage/cards/r/RunechantersPike.java b/Mage.Sets/src/mage/cards/r/RunechantersPike.java index f7a88de7ff2..fc7895ee534 100644 --- a/Mage.Sets/src/mage/cards/r/RunechantersPike.java +++ b/Mage.Sets/src/mage/cards/r/RunechantersPike.java @@ -18,6 +18,7 @@ import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.game.Game; import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author nantuko @@ -46,7 +47,7 @@ public final class RunechantersPike extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private RunechantersPike(final RunechantersPike card) { diff --git a/Mage.Sets/src/mage/cards/r/RunedCrown.java b/Mage.Sets/src/mage/cards/r/RunedCrown.java index 1673bb56fce..5f6eaeada46 100644 --- a/Mage.Sets/src/mage/cards/r/RunedCrown.java +++ b/Mage.Sets/src/mage/cards/r/RunedCrown.java @@ -22,6 +22,8 @@ import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetCardInYourGraveyard; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -40,7 +42,7 @@ public final class RunedCrown extends CardImpl { this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(1, 1))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private RunedCrown(final RunedCrown card) { diff --git a/Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java b/Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java index 166e9149a39..ce0d4fd0ed4 100644 --- a/Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java +++ b/Mage.Sets/src/mage/cards/s/SaddleOfTheCavalier.java @@ -12,6 +12,8 @@ import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.PowerPredicate; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -38,7 +40,7 @@ public final class SaddleOfTheCavalier extends CardImpl { this.addAbility(ability); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private SaddleOfTheCavalier(final SaddleOfTheCavalier card) { diff --git a/Mage.Sets/src/mage/cards/s/ScepterOfCelebration.java b/Mage.Sets/src/mage/cards/s/ScepterOfCelebration.java index 20d020e0a7f..f4961f715fb 100644 --- a/Mage.Sets/src/mage/cards/s/ScepterOfCelebration.java +++ b/Mage.Sets/src/mage/cards/s/ScepterOfCelebration.java @@ -17,6 +17,9 @@ import mage.constants.SubType; import mage.game.permanent.token.CitizenGreenWhiteToken; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -41,7 +44,7 @@ public final class ScepterOfCelebration extends CardImpl { ), "equipped", false)); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private ScepterOfCelebration(final ScepterOfCelebration card) { diff --git a/Mage.Sets/src/mage/cards/s/ScroungedScythe.java b/Mage.Sets/src/mage/cards/s/ScroungedScythe.java index b65d619f9cb..f082407865e 100644 --- a/Mage.Sets/src/mage/cards/s/ScroungedScythe.java +++ b/Mage.Sets/src/mage/cards/s/ScroungedScythe.java @@ -14,6 +14,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -40,7 +41,7 @@ public final class ScroungedScythe extends CardImpl { "(It can't be blocked except by two or more creatures.)"))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private ScroungedScythe(final ScroungedScythe card) { diff --git a/Mage.Sets/src/mage/cards/s/SeraphicGreatsword.java b/Mage.Sets/src/mage/cards/s/SeraphicGreatsword.java index be1c3d818c8..d6a5d416271 100644 --- a/Mage.Sets/src/mage/cards/s/SeraphicGreatsword.java +++ b/Mage.Sets/src/mage/cards/s/SeraphicGreatsword.java @@ -20,6 +20,8 @@ import mage.players.Player; import java.util.Objects; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -38,7 +40,7 @@ public final class SeraphicGreatsword extends CardImpl { this.addAbility(new SeraphicGreatswordTriggeredAbility()); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } private SeraphicGreatsword(final SeraphicGreatsword card) { diff --git a/Mage.Sets/src/mage/cards/s/Shadowspear.java b/Mage.Sets/src/mage/cards/s/Shadowspear.java index ae73a39496c..3b591a77da5 100644 --- a/Mage.Sets/src/mage/cards/s/Shadowspear.java +++ b/Mage.Sets/src/mage/cards/s/Shadowspear.java @@ -14,6 +14,7 @@ import mage.constants.*; import mage.filter.FilterPermanent; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -52,7 +53,7 @@ public final class Shadowspear extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private Shadowspear(final Shadowspear card) { diff --git a/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java b/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java index 47fc2b9b23a..f801c5eb180 100644 --- a/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java +++ b/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java @@ -13,6 +13,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.*; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -33,7 +34,7 @@ public final class SharpenedPitchfork extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEquippedEffect(1, 1), new EquippedHasSubtypeCondition(SubType.HUMAN), staticText))); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private SharpenedPitchfork(final SharpenedPitchfork card) { diff --git a/Mage.Sets/src/mage/cards/s/SigiledSwordOfValeron.java b/Mage.Sets/src/mage/cards/s/SigiledSwordOfValeron.java index f98d95e9d16..1da5cf4fdf4 100644 --- a/Mage.Sets/src/mage/cards/s/SigiledSwordOfValeron.java +++ b/Mage.Sets/src/mage/cards/s/SigiledSwordOfValeron.java @@ -4,6 +4,7 @@ import java.util.UUID; import mage.abilities.Ability; import mage.abilities.common.AttacksAttachedTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.continuous.AddCardSubtypeAttachedEffect; import mage.abilities.effects.common.continuous.BoostEquippedEffect; @@ -16,8 +17,10 @@ import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; import mage.constants.Duration; +import mage.constants.Outcome; import mage.constants.Zone; import mage.game.permanent.token.KnightToken; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -52,7 +55,7 @@ public final class SigiledSwordOfValeron extends CardImpl { )); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private SigiledSwordOfValeron(final SigiledSwordOfValeron card) { diff --git a/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java b/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java index 4064b7d9228..eb3a57cbe69 100644 --- a/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java +++ b/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java @@ -14,6 +14,7 @@ import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author nantuko @@ -33,7 +34,7 @@ public final class SilverInlaidDagger extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new BoostEquippedEffect(1, 0), new EquippedHasSubtypeCondition(SubType.HUMAN), staticText))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private SilverInlaidDagger(final SilverInlaidDagger card) { diff --git a/Mage.Sets/src/mage/cards/s/SkeletonKey.java b/Mage.Sets/src/mage/cards/s/SkeletonKey.java index e57adb46c4b..671df86a264 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletonKey.java +++ b/Mage.Sets/src/mage/cards/s/SkeletonKey.java @@ -19,6 +19,7 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -41,7 +42,7 @@ public final class SkeletonKey extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private SkeletonKey(final SkeletonKey card) { diff --git a/Mage.Sets/src/mage/cards/s/SlayersPlate.java b/Mage.Sets/src/mage/cards/s/SlayersPlate.java index fa78a82b7ee..98aff6a61d6 100644 --- a/Mage.Sets/src/mage/cards/s/SlayersPlate.java +++ b/Mage.Sets/src/mage/cards/s/SlayersPlate.java @@ -20,6 +20,7 @@ import mage.game.events.GameEvent.EventType; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; import mage.game.permanent.token.SpiritWhiteToken; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -38,7 +39,7 @@ public final class SlayersPlate extends CardImpl { this.addAbility(new SlayersPlateTriggeredAbility()); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private SlayersPlate(final SlayersPlate card) { diff --git a/Mage.Sets/src/mage/cards/s/SorcerersWand.java b/Mage.Sets/src/mage/cards/s/SorcerersWand.java index cbe9461b6e5..6c8b48bb57d 100644 --- a/Mage.Sets/src/mage/cards/s/SorcerersWand.java +++ b/Mage.Sets/src/mage/cards/s/SorcerersWand.java @@ -19,6 +19,7 @@ import mage.constants.AttachmentType; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.Zone; +import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetPlayerOrPlaneswalker; /** @@ -46,7 +47,7 @@ public final class SorcerersWand extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT))); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private SorcerersWand(final SorcerersWand card) { diff --git a/Mage.Sets/src/mage/cards/s/SoulstealerAxe.java b/Mage.Sets/src/mage/cards/s/SoulstealerAxe.java index 97c9f3eda23..e7ecfee2317 100644 --- a/Mage.Sets/src/mage/cards/s/SoulstealerAxe.java +++ b/Mage.Sets/src/mage/cards/s/SoulstealerAxe.java @@ -16,6 +16,8 @@ import mage.game.Game; import mage.players.Player; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -38,7 +40,7 @@ public final class SoulstealerAxe extends CardImpl { )); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private SoulstealerAxe(final SoulstealerAxe card) { diff --git a/Mage.Sets/src/mage/cards/s/Spellbinder.java b/Mage.Sets/src/mage/cards/s/Spellbinder.java index 2222d711529..e322bd4e823 100644 --- a/Mage.Sets/src/mage/cards/s/Spellbinder.java +++ b/Mage.Sets/src/mage/cards/s/Spellbinder.java @@ -19,6 +19,7 @@ import mage.game.events.GameEvent; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetCard; +import mage.target.common.TargetControlledCreaturePermanent; import mage.util.CardUtil; import org.apache.log4j.Logger; @@ -44,7 +45,7 @@ public final class Spellbinder extends CardImpl { this.addAbility(new SpellbinderTriggeredAbility()); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } private Spellbinder(final Spellbinder card) { diff --git a/Mage.Sets/src/mage/cards/s/SteelclawLance.java b/Mage.Sets/src/mage/cards/s/SteelclawLance.java index d26530ebae4..733f9a55e64 100644 --- a/Mage.Sets/src/mage/cards/s/SteelclawLance.java +++ b/Mage.Sets/src/mage/cards/s/SteelclawLance.java @@ -34,7 +34,7 @@ public final class SteelclawLance extends CardImpl { this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1), new TargetControlledCreaturePermanent(filter), false)); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } diff --git a/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java b/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java index 7c2155859eb..4d1720b2b8b 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java @@ -30,6 +30,7 @@ import mage.game.events.GameEvent.EventType; import mage.game.permanent.Permanent; import mage.game.permanent.token.DragonTokenGold; import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; import mage.target.targetpointer.FixedTarget; /** @@ -60,7 +61,7 @@ public final class SwordOfDungeonsAndDragons extends CardImpl { this.addAbility(new SwordOfDungeonsAndDragonsAbility()); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private SwordOfDungeonsAndDragons(final SwordOfDungeonsAndDragons card) { diff --git a/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java b/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java index baf05dbae72..007aea7db57 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfSinewAndSteel.java @@ -20,6 +20,7 @@ import mage.target.common.TargetArtifactPermanent; import mage.target.common.TargetPlaneswalkerPermanent; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -49,7 +50,7 @@ public final class SwordOfSinewAndSteel extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private SwordOfSinewAndSteel(final SwordOfSinewAndSteel card) { diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java b/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java index 6f4e672f6cc..b41c4b3c991 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java @@ -18,6 +18,7 @@ import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -37,7 +38,7 @@ public final class SwordOfTheAnimist extends CardImpl { TargetCardInLibrary target = new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND); this.addAbility(new AttacksAttachedTriggeredAbility(new SearchLibraryPutInPlayEffect(target, true), true)); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private SwordOfTheAnimist(final SwordOfTheAnimist card) { diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java b/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java index 03589034c21..acafa52317c 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTruthAndJustice.java @@ -49,7 +49,7 @@ public final class SwordOfTruthAndJustice extends CardImpl { )); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private SwordOfTruthAndJustice(final SwordOfTruthAndJustice card) { diff --git a/Mage.Sets/src/mage/cards/t/TeamPennant.java b/Mage.Sets/src/mage/cards/t/TeamPennant.java index 5d989d0c4fe..65fcb5fc23d 100644 --- a/Mage.Sets/src/mage/cards/t/TeamPennant.java +++ b/Mage.Sets/src/mage/cards/t/TeamPennant.java @@ -20,6 +20,7 @@ import mage.filter.predicate.permanent.TokenPredicate; import mage.target.TargetPermanent; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -53,7 +54,7 @@ public final class TeamPennant extends CardImpl { )); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private TeamPennant(final TeamPennant card) { diff --git a/Mage.Sets/src/mage/cards/t/ThirstingAxe.java b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java index b024272729c..ffc3461d7d1 100644 --- a/Mage.Sets/src/mage/cards/t/ThirstingAxe.java +++ b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java @@ -27,6 +27,7 @@ import mage.watchers.Watcher; import java.util.HashSet; import java.util.Set; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** @@ -52,7 +53,7 @@ public final class ThirstingAxe extends CardImpl { this.addAbility(sacrificeTriggeredAbility, new CombatDamageToCreatureWatcher()); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private ThirstingAxe(final ThirstingAxe card) { diff --git a/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java b/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java index 05b1d240ec6..e245312f4e8 100644 --- a/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java +++ b/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java @@ -20,6 +20,7 @@ import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.target.common.TargetAnyTarget; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -50,7 +51,7 @@ public final class ThornbiteStaff extends CardImpl { Zone.BATTLEFIELD, new AttachEffect(Outcome.Detriment, "attach {this} to it"), filter, true, SetTargetPointer.PERMANENT, null)); // Equip {4} - this.addAbility(new EquipAbility(4, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4), new TargetControlledCreaturePermanent(), false)); } private ThornbiteStaff(final ThornbiteStaff card) { diff --git a/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java b/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java index ab370a645ae..8b1341a8402 100644 --- a/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java +++ b/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java @@ -12,6 +12,7 @@ import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.Predicates; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author North @@ -34,7 +35,7 @@ public final class TrailblazersBoots extends CardImpl { ))); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private TrailblazersBoots(final TrailblazersBoots card) { diff --git a/Mage.Sets/src/mage/cards/t/TrickstersTalisman.java b/Mage.Sets/src/mage/cards/t/TrickstersTalisman.java index df971dac891..85965fd71fc 100644 --- a/Mage.Sets/src/mage/cards/t/TrickstersTalisman.java +++ b/Mage.Sets/src/mage/cards/t/TrickstersTalisman.java @@ -17,6 +17,9 @@ import mage.constants.SubType; import mage.game.Game; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -34,7 +37,7 @@ public final class TrickstersTalisman extends CardImpl { this.addAbility(ability.withFlavorWord("Invoke Duplicity")); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private TrickstersTalisman(final TrickstersTalisman card) { diff --git a/Mage.Sets/src/mage/cards/u/UmbralMantle.java b/Mage.Sets/src/mage/cards/u/UmbralMantle.java index 4d856ce9ef9..6f2f3662a4c 100644 --- a/Mage.Sets/src/mage/cards/u/UmbralMantle.java +++ b/Mage.Sets/src/mage/cards/u/UmbralMantle.java @@ -16,6 +16,8 @@ import mage.constants.Duration; import mage.constants.SubType; import java.util.UUID; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -33,7 +35,7 @@ public final class UmbralMantle extends CardImpl { this.addAbility(new SimpleStaticAbility(new GainAbilityAttachedEffect(ability, AttachmentType.EQUIPMENT))); // Equip {0} - this.addAbility(new EquipAbility(0, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(0), new TargetControlledCreaturePermanent(), false)); } private UmbralMantle(final UmbralMantle card) { diff --git a/Mage.Sets/src/mage/cards/u/UmezawasJitte.java b/Mage.Sets/src/mage/cards/u/UmezawasJitte.java index 2b234d3047e..b1271829727 100644 --- a/Mage.Sets/src/mage/cards/u/UmezawasJitte.java +++ b/Mage.Sets/src/mage/cards/u/UmezawasJitte.java @@ -18,6 +18,7 @@ import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; import java.util.UUID; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author Loki @@ -51,7 +52,7 @@ public final class UmezawasJitte extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2), false)); + this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private UmezawasJitte(final UmezawasJitte card) { diff --git a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java index 1b7ec72c9e9..31b08ae29f7 100644 --- a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java +++ b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java @@ -23,6 +23,8 @@ import mage.players.Player; import mage.target.targetpointer.FixedTarget; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author jeffwadsworth @@ -45,7 +47,7 @@ public final class UnscytheKillerOfKings extends CardImpl { this.addAbility(new UnscytheKillerOfKingsTriggeredAbility(new UnscytheEffect())); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private UnscytheKillerOfKings(final UnscytheKillerOfKings card) { diff --git a/Mage.Sets/src/mage/cards/v/ValkyriesSword.java b/Mage.Sets/src/mage/cards/v/ValkyriesSword.java index 358a94601ee..f8e3f3c1e82 100644 --- a/Mage.Sets/src/mage/cards/v/ValkyriesSword.java +++ b/Mage.Sets/src/mage/cards/v/ValkyriesSword.java @@ -14,6 +14,9 @@ import mage.constants.SubType; import mage.game.permanent.token.AngelWarriorVigilanceToken; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -34,7 +37,7 @@ public final class ValkyriesSword extends CardImpl { this.addAbility(new SimpleStaticAbility(new BoostEquippedEffect(2, 1))); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private ValkyriesSword(final ValkyriesSword card) { diff --git a/Mage.Sets/src/mage/cards/v/VectisGloves.java b/Mage.Sets/src/mage/cards/v/VectisGloves.java index dd49407682f..c6f3bbb0566 100644 --- a/Mage.Sets/src/mage/cards/v/VectisGloves.java +++ b/Mage.Sets/src/mage/cards/v/VectisGloves.java @@ -14,6 +14,9 @@ import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -39,7 +42,7 @@ public final class VectisGloves extends CardImpl { this.addAbility(ability); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private VectisGloves(final VectisGloves card) { diff --git a/Mage.Sets/src/mage/cards/v/VeteransArmaments.java b/Mage.Sets/src/mage/cards/v/VeteransArmaments.java index 64e9fed407d..32094b2e2b5 100644 --- a/Mage.Sets/src/mage/cards/v/VeteransArmaments.java +++ b/Mage.Sets/src/mage/cards/v/VeteransArmaments.java @@ -18,6 +18,7 @@ import mage.cards.CardSetInfo; import mage.constants.*; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; +import mage.target.common.TargetControlledCreaturePermanent; /** * @@ -46,7 +47,7 @@ public final class VeteransArmaments extends CardImpl { filter, true, SetTargetPointer.PERMANENT, null)); // Equip {2} - this.addAbility(new EquipAbility(2, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2), new TargetControlledCreaturePermanent(), false)); } private VeteransArmaments(final VeteransArmaments card) { diff --git a/Mage.Sets/src/mage/cards/w/WandOfOrcus.java b/Mage.Sets/src/mage/cards/w/WandOfOrcus.java index 743d44bced0..e54fd6e2a41 100644 --- a/Mage.Sets/src/mage/cards/w/WandOfOrcus.java +++ b/Mage.Sets/src/mage/cards/w/WandOfOrcus.java @@ -16,6 +16,8 @@ import mage.filter.FilterPermanent; import mage.game.permanent.token.ZombieToken; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author zeffirojoe @@ -48,7 +50,7 @@ public final class WandOfOrcus extends CardImpl { false)); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private WandOfOrcus(final WandOfOrcus card) { diff --git a/Mage.Sets/src/mage/cards/w/WhispersteelDagger.java b/Mage.Sets/src/mage/cards/w/WhispersteelDagger.java index 4e733fcd7f3..103e0b25966 100644 --- a/Mage.Sets/src/mage/cards/w/WhispersteelDagger.java +++ b/Mage.Sets/src/mage/cards/w/WhispersteelDagger.java @@ -21,6 +21,8 @@ import mage.watchers.Watcher; import java.util.HashMap; import java.util.Map; import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -44,7 +46,7 @@ public final class WhispersteelDagger extends CardImpl { this.addAbility(ability, new WhispersteelDaggerWatcher()); // Equip {3} - this.addAbility(new EquipAbility(3, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3), new TargetControlledCreaturePermanent(), false)); } private WhispersteelDagger(final WhispersteelDagger card) { diff --git a/Mage.Sets/src/mage/cards/w/WingedBoots.java b/Mage.Sets/src/mage/cards/w/WingedBoots.java index 2d9628070cf..b3ec72bd01b 100644 --- a/Mage.Sets/src/mage/cards/w/WingedBoots.java +++ b/Mage.Sets/src/mage/cards/w/WingedBoots.java @@ -14,6 +14,8 @@ import mage.constants.CardType; import mage.constants.SubType; import java.util.UUID; +import mage.constants.Outcome; +import mage.target.common.TargetControlledCreaturePermanent; /** * @author TheElk801 @@ -37,7 +39,7 @@ public final class WingedBoots extends CardImpl { this.addAbility(ability); // Equip {1} - this.addAbility(new EquipAbility(1, false)); + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(1), new TargetControlledCreaturePermanent(), false)); } private WingedBoots(final WingedBoots card) { diff --git a/Mage/src/main/java/mage/cards/CardImpl.java b/Mage/src/main/java/mage/cards/CardImpl.java index c4b16358daf..67253d3fad2 100644 --- a/Mage/src/main/java/mage/cards/CardImpl.java +++ b/Mage/src/main/java/mage/cards/CardImpl.java @@ -8,7 +8,6 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continuous.HasSubtypesSourceEffect; import mage.abilities.keyword.ChangelingAbility; import mage.abilities.keyword.FlashbackAbility; -import mage.abilities.keyword.ReconfigureAbility; import mage.abilities.mana.ActivatedManaAbilityImpl; import mage.cards.repository.PluginClassloaderRegistery; import mage.constants.*; @@ -31,6 +30,7 @@ import org.apache.log4j.Logger; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.*; +import mage.abilities.keyword.ReconfigureAbility; public abstract class CardImpl extends MageObjectImpl implements Card { @@ -821,9 +821,8 @@ public abstract class CardImpl extends MageObjectImpl implements Card { return false; } if (attachment.hasSubtype(SubType.EQUIPMENT, game) - && (attachment.isCreature(game) - && !attachment.getAbilities(game).containsClass(ReconfigureAbility.class) - || !this.isCreature(game))) { + && (attachment.isCreature(game) // seems strange and perhaps someone knows why this is checked. + && !attachment.getAbilities(game).containsClass(ReconfigureAbility.class))) { return false; } if (attachment.hasSubtype(SubType.FORTIFICATION, game) diff --git a/Mage/src/main/java/mage/game/events/DamagedBatchEvent.java b/Mage/src/main/java/mage/game/events/DamagedBatchEvent.java index b8ddca2b12b..5bfe78d2b75 100644 --- a/Mage/src/main/java/mage/game/events/DamagedBatchEvent.java +++ b/Mage/src/main/java/mage/game/events/DamagedBatchEvent.java @@ -40,6 +40,16 @@ public abstract class DamagedBatchEvent extends GameEvent { .orElse(null); } + @Override + public UUID getSourceId() { + return events + .stream() + .map(GameEvent::getSourceId) + .filter(Objects::nonNull) + .findFirst() + .orElse(null); + } + public void addEvent(DamagedEvent event) { this.events.add(event); }