From 68dcfde2041127800ada8dfda6220b1a98898579 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Sun, 21 Jan 2024 20:22:11 -0500 Subject: [PATCH] prevent damage by constructor cleanup --- Mage.Sets/src/mage/cards/c/ChainOfSilence.java | 4 +--- Mage.Sets/src/mage/cards/d/DovinHandOfControl.java | 12 +++++------- Mage.Sets/src/mage/cards/d/DromokasCommand.java | 2 +- Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java | 2 +- Mage.Sets/src/mage/cards/h/Heroism.java | 4 +--- Mage.Sets/src/mage/cards/k/KryShield.java | 2 +- Mage.Sets/src/mage/cards/s/ShieldmageElder.java | 4 ++-- Mage.Sets/src/mage/cards/s/SoulParry.java | 2 +- .../effects/common/PreventDamageByTargetEffect.java | 8 -------- 9 files changed, 13 insertions(+), 27 deletions(-) diff --git a/Mage.Sets/src/mage/cards/c/ChainOfSilence.java b/Mage.Sets/src/mage/cards/c/ChainOfSilence.java index 073bce65266..3e53c21fa54 100644 --- a/Mage.Sets/src/mage/cards/c/ChainOfSilence.java +++ b/Mage.Sets/src/mage/cards/c/ChainOfSilence.java @@ -3,7 +3,6 @@ package mage.cards.c; import mage.MageObject; import mage.abilities.Ability; -import mage.abilities.Mode; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.PreventDamageByTargetEffect; @@ -17,7 +16,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.stack.Spell; import mage.players.Player; -import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetSacrifice; @@ -72,7 +70,7 @@ class ChainOfSilenceEffect extends OneShotEffect { } Permanent permanent = game.getPermanent(source.getFirstTarget()); if (permanent != null) { - ContinuousEffect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn); + ContinuousEffect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, false); game.addEffect(effect, source); Player player = game.getPlayer(permanent.getControllerId()); TargetSacrifice target = new TargetSacrifice(0, 1, new FilterControlledLandPermanent("a land to sacrifice (to be able to copy " + sourceObject.getName() + ')')); diff --git a/Mage.Sets/src/mage/cards/d/DovinHandOfControl.java b/Mage.Sets/src/mage/cards/d/DovinHandOfControl.java index 57c92d4c302..d2cc7d5551b 100644 --- a/Mage.Sets/src/mage/cards/d/DovinHandOfControl.java +++ b/Mage.Sets/src/mage/cards/d/DovinHandOfControl.java @@ -41,12 +41,10 @@ public final class DovinHandOfControl extends CardImpl { this.addAbility(new SimpleStaticAbility(new SpellsCostIncreasingAllEffect(1, filter, TargetController.OPPONENT))); // -1: Until your next turn, prevent all damage that would be dealt to and dealt by target permanent an opponent controls. - Ability ability = new LoyaltyAbility(new PreventDamageToTargetEffect( - Duration.UntilYourNextTurn - ).setText("Until your next turn, prevent all damage that would be dealt to"), -1); - ability.addEffect(new PreventDamageByTargetEffect( - Duration.UntilYourNextTurn - ).setText("and dealt by target permanent an opponent controls")); + Ability ability = new LoyaltyAbility(new PreventDamageToTargetEffect(Duration.UntilYourNextTurn) + .setText("Until your next turn, prevent all damage that would be dealt to"), -1); + ability.addEffect(new PreventDamageByTargetEffect(Duration.UntilYourNextTurn, false) + .setText("and dealt by target permanent an opponent controls")); ability.addTarget(new TargetPermanent(StaticFilters.FILTER_OPPONENTS_PERMANENT)); this.addAbility(ability); } @@ -59,4 +57,4 @@ public final class DovinHandOfControl extends CardImpl { public DovinHandOfControl copy() { return new DovinHandOfControl(this); } -} \ No newline at end of file +} diff --git a/Mage.Sets/src/mage/cards/d/DromokasCommand.java b/Mage.Sets/src/mage/cards/d/DromokasCommand.java index 20790ca01db..a62f4467789 100644 --- a/Mage.Sets/src/mage/cards/d/DromokasCommand.java +++ b/Mage.Sets/src/mage/cards/d/DromokasCommand.java @@ -38,7 +38,7 @@ public final class DromokasCommand extends CardImpl { this.getSpellAbility().getModes().setMaxModes(2); // Prevent all damage target instant or sorcery spell would deal this turn; - this.getSpellAbility().getEffects().add(new PreventDamageByTargetEffect(Duration.EndOfTurn)); + this.getSpellAbility().getEffects().add(new PreventDamageByTargetEffect(Duration.EndOfTurn, false)); this.getSpellAbility().getTargets().add(new TargetSpell(new FilterInstantOrSorcerySpell())); // or Target player sacrifices an enchantment; diff --git a/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java b/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java index d5a2d2d4e4a..9e94521681f 100644 --- a/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java +++ b/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java @@ -35,7 +35,7 @@ public final class GideonOfTheTrials extends CardImpl { this.setStartingLoyalty(3); // +1: Until your next turn, prevent all damage target permanent would deal. - Effect effect = new PreventDamageByTargetEffect(Duration.UntilYourNextTurn); + Effect effect = new PreventDamageByTargetEffect(Duration.UntilYourNextTurn, false); effect.setText("Until your next turn, prevent all damage target permanent would deal"); LoyaltyAbility ability = new LoyaltyAbility(effect, 1); ability.addTarget(new TargetPermanent()); diff --git a/Mage.Sets/src/mage/cards/h/Heroism.java b/Mage.Sets/src/mage/cards/h/Heroism.java index ab55b5e213f..eddba891288 100644 --- a/Mage.Sets/src/mage/cards/h/Heroism.java +++ b/Mage.Sets/src/mage/cards/h/Heroism.java @@ -1,4 +1,3 @@ - package mage.cards.h; import mage.ObjectColor; @@ -22,7 +21,6 @@ import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.targetpointer.FixedTarget; import java.util.ArrayList; @@ -106,7 +104,7 @@ class HeroismEffect extends OneShotEffect { } for (Permanent permanent : permanentsToPrevent) { - ContinuousEffect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, Integer.MAX_VALUE, true); + ContinuousEffect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, true); effect.setTargetPointer(new FixedTarget(permanent, game)); game.addEffect(effect, source); } diff --git a/Mage.Sets/src/mage/cards/k/KryShield.java b/Mage.Sets/src/mage/cards/k/KryShield.java index 08cfbd3c925..d72c3d74843 100644 --- a/Mage.Sets/src/mage/cards/k/KryShield.java +++ b/Mage.Sets/src/mage/cards/k/KryShield.java @@ -28,7 +28,7 @@ public final class KryShield extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); // {2}, {T}: Prevent all damage that would be dealt this turn by target creature you control. That creature gets +0/+X until end of turn, where X is its converted mana cost. - Effect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn); + Effect effect = new PreventDamageByTargetEffect(Duration.EndOfTurn, false); effect.setText("Prevent all damage that would be dealt this turn by target creature you control"); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(2)); ability.addEffect(new BoostTargetEffect(StaticValue.get(0), TargetManaValue.instance, Duration.EndOfTurn) diff --git a/Mage.Sets/src/mage/cards/s/ShieldmageElder.java b/Mage.Sets/src/mage/cards/s/ShieldmageElder.java index e5b489fe4c6..c8b655ad2ed 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldmageElder.java +++ b/Mage.Sets/src/mage/cards/s/ShieldmageElder.java @@ -47,12 +47,12 @@ public final class ShieldmageElder extends CardImpl { this.toughness = new MageInt(3); // Tap two untapped Clerics you control: Prevent all damage target creature would deal this turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageByTargetEffect(Duration.EndOfTurn), new TapTargetCost(new TargetControlledPermanent(2, 2, filter1, false))); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageByTargetEffect(Duration.EndOfTurn, false), new TapTargetCost(new TargetControlledPermanent(2, 2, filter1, false))); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); // Tap two untapped Wizards you control: Prevent all damage target spell would deal this turn. - Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageByTargetEffect(Duration.EndOfTurn), new TapTargetCost(new TargetControlledPermanent(2, 2, filter2, false))); + Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageByTargetEffect(Duration.EndOfTurn, false), new TapTargetCost(new TargetControlledPermanent(2, 2, filter2, false))); ability2.addTarget(new TargetSpell()); this.addAbility(ability2); } diff --git a/Mage.Sets/src/mage/cards/s/SoulParry.java b/Mage.Sets/src/mage/cards/s/SoulParry.java index 2680dfd72a4..01fa7b8bda2 100644 --- a/Mage.Sets/src/mage/cards/s/SoulParry.java +++ b/Mage.Sets/src/mage/cards/s/SoulParry.java @@ -24,7 +24,7 @@ public final class SoulParry extends CardImpl { // Prevent all damage one or two target creatures would deal this turn Target target = new TargetCreaturePermanent(1,2); target.setTargetName("one or two creatures"); - this.getSpellAbility().addEffect(new PreventDamageByTargetEffect(Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new PreventDamageByTargetEffect(Duration.EndOfTurn, false)); this.getSpellAbility().addTarget(target); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java index 1a69ef3a0d5..00b9e996303 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PreventDamageByTargetEffect.java @@ -15,14 +15,6 @@ import mage.target.TargetSpell; */ public class PreventDamageByTargetEffect extends PreventionEffectImpl { - public PreventDamageByTargetEffect(Duration duration) { - this(duration, false); - } - - public PreventDamageByTargetEffect(Duration duration, int amount) { - this(duration, amount, false); - } - public PreventDamageByTargetEffect(Duration duration, boolean onlyCombat) { this(duration, Integer.MAX_VALUE, onlyCombat); }