diff --git a/Mage.Sets/src/mage/cards/a/ApexAltisaur.java b/Mage.Sets/src/mage/cards/a/ApexAltisaur.java new file mode 100644 index 00000000000..2f14ea0057b --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ApexAltisaur.java @@ -0,0 +1,61 @@ +package mage.cards.a; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealtDamageToSourceTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.FightTargetSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.TargetPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ApexAltisaur extends CardImpl { + + private static final FilterPermanent filter = new FilterCreaturePermanent("creature you don't control"); + + static { + filter.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + public ApexAltisaur(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{7}{G}{G}"); + + this.subtype.add(SubType.DINOSAUR); + this.power = new MageInt(10); + this.toughness = new MageInt(10); + + Effect effect = new FightTargetSourceEffect(); + effect.setText("it fights up to one target creature you don't control"); + + // When Apex Altisaur enters the battlefield, it fights up to one target creature you don't control. + Ability ability = new EntersBattlefieldTriggeredAbility(effect); + ability.addTarget(new TargetPermanent(0, 1, filter, false)); + this.addAbility(ability); + + // Enrage — Whenever Apex Altisaur is dealt damage, it fights up to one target creature you don't control. + ability = new DealtDamageToSourceTriggeredAbility(effect, false, true); + ability.addTarget(new TargetPermanent(0, 1, filter, false)); + this.addAbility(ability); + } + + private ApexAltisaur(final ApexAltisaur card) { + super(card); + } + + @Override + public ApexAltisaur copy() { + return new ApexAltisaur(this); + } +} diff --git a/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java b/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java index e12a62d4bb7..b5e1084923a 100644 --- a/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java +++ b/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -38,7 +37,7 @@ public final class BellowingAegisaur extends CardImpl { this.toughness = new MageInt(5); // Enrage - Whenever Bellowing Aegisaur is dealt damage, put a +1/+1 counter on each other creature you control. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), filter), false, true); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/b/BorosReckoner.java b/Mage.Sets/src/mage/cards/b/BorosReckoner.java index 260826ba11e..bc336d16b82 100644 --- a/Mage.Sets/src/mage/cards/b/BorosReckoner.java +++ b/Mage.Sets/src/mage/cards/b/BorosReckoner.java @@ -32,7 +32,7 @@ public final class BorosReckoner extends CardImpl { this.toughness = new MageInt(3); // Whenever Boros Reckoner is dealt damage, it deals that much damage to any target. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new BorosReckonerDealDamageEffect(), false, false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new BorosReckonerDealDamageEffect(), false, false, true); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/b/BroodhatchNantuko.java b/Mage.Sets/src/mage/cards/b/BroodhatchNantuko.java index d9a90eee113..6240825cb8d 100644 --- a/Mage.Sets/src/mage/cards/b/BroodhatchNantuko.java +++ b/Mage.Sets/src/mage/cards/b/BroodhatchNantuko.java @@ -14,7 +14,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.token.InsectToken; import mage.players.Player; @@ -32,7 +31,7 @@ public final class BroodhatchNantuko extends CardImpl { this.toughness = new MageInt(1); // Whenever Broodhatch Nantuko is dealt damage, you may create that many 1/1 green Insect creature tokens. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new BroodhatchNantukoDealDamageEffect(), true, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new BroodhatchNantukoDealDamageEffect(), true, false, true)); // Morph {2}{G} this.addAbility(new MorphAbility(this, new ManaCostsImpl("{2}{G}"))); } diff --git a/Mage.Sets/src/mage/cards/c/Cacophodon.java b/Mage.Sets/src/mage/cards/c/Cacophodon.java index 1cd6d7f2a1a..3b2b90c11a6 100644 --- a/Mage.Sets/src/mage/cards/c/Cacophodon.java +++ b/Mage.Sets/src/mage/cards/c/Cacophodon.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.target.TargetPermanent; /** @@ -27,7 +26,7 @@ public final class Cacophodon extends CardImpl { this.toughness = new MageInt(5); // Enrage — Whenever Cacophodon is dealt damage, untap target permanent. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new UntapTargetEffect(), false, true); ability.addTarget(new TargetPermanent()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java b/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java index aabc0af2e9f..f100aaceb6f 100644 --- a/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java +++ b/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -30,7 +29,7 @@ public final class CoalhaulerSwine extends CardImpl { this.toughness = new MageInt(4); // Whenever Coalhauler Swine is dealt damage, it deals that much damage to each player. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new CoalhaulerSwineEffect(), false, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new CoalhaulerSwineEffect(), false, false, true)); } public CoalhaulerSwine(final CoalhaulerSwine card) { diff --git a/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java b/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java index 382c4c46670..454952f784d 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java +++ b/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java @@ -36,7 +36,7 @@ public final class DeepSlumberTitan extends CardImpl { this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect())); // Whenever Deep-Slumber Titan is dealt damage, untap it. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), false)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new UntapSourceEffect(), false)); } diff --git a/Mage.Sets/src/mage/cards/d/DromadPurebred.java b/Mage.Sets/src/mage/cards/d/DromadPurebred.java index 3e4eff50b34..4ba44fda3d2 100644 --- a/Mage.Sets/src/mage/cards/d/DromadPurebred.java +++ b/Mage.Sets/src/mage/cards/d/DromadPurebred.java @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; /** * @@ -25,7 +24,7 @@ public final class DromadPurebred extends CardImpl { this.toughness = new MageInt(5); // Whenever Dromad Purebred is dealt damage, you gain 1 life. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), false)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new GainLifeEffect(1), false)); } public DromadPurebred(final DromadPurebred card) { diff --git a/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java b/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java index ea4d05217c1..e496dc7c766 100644 --- a/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java +++ b/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java @@ -36,7 +36,7 @@ public final class FiredrinkerSatyr extends CardImpl { this.toughness = new MageInt(1); // Whenever Firedrinker Satyr is dealt damage, it deals that much damage to you. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new FiredrinkerSatyrDealDamageEffect(), false, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new FiredrinkerSatyrDealDamageEffect(), false, false, true)); // {1}{R}: Firedrinker Satyr gets +1/+0 until end of turn and deals 1 damage to you. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ManaCostsImpl("{1}{R}")); Effect effect = new DamageControllerEffect(1); diff --git a/Mage.Sets/src/mage/cards/f/FrilledDeathspitter.java b/Mage.Sets/src/mage/cards/f/FrilledDeathspitter.java index 4d41928df29..587e16302fc 100644 --- a/Mage.Sets/src/mage/cards/f/FrilledDeathspitter.java +++ b/Mage.Sets/src/mage/cards/f/FrilledDeathspitter.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.target.common.TargetOpponentOrPlaneswalker; /** @@ -28,7 +27,7 @@ public final class FrilledDeathspitter extends CardImpl { // Enrage — Whenever Frilled Deathspitter is dealt damage, it deals 2 damage to target opponent. Ability ability = new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new DamageTargetEffect(2).setText("it deals 2 damage to target opponent or planeswalker"), false, true + new DamageTargetEffect(2).setText("it deals 2 damage to target opponent or planeswalker"), false, true ); ability.addTarget(new TargetOpponentOrPlaneswalker()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/f/FungusSliver.java b/Mage.Sets/src/mage/cards/f/FungusSliver.java index a90a529f2a3..a34c9e52b1f 100644 --- a/Mage.Sets/src/mage/cards/f/FungusSliver.java +++ b/Mage.Sets/src/mage/cards/f/FungusSliver.java @@ -37,7 +37,7 @@ public final class FungusSliver extends CardImpl { // All Sliver creatures have "Whenever this creature is dealt damage, put a +1/+1 counter on it." this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect( - new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), false), + new DealtDamageToSourceTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), false), Duration.WhileOnBattlefield, filter, "All Sliver creatures have \"Whenever this creature is dealt damage, put a +1/+1 counter on it.\""))); diff --git a/Mage.Sets/src/mage/cards/f/Fungusaur.java b/Mage.Sets/src/mage/cards/f/Fungusaur.java index 970ee640395..cb52324222f 100644 --- a/Mage.Sets/src/mage/cards/f/Fungusaur.java +++ b/Mage.Sets/src/mage/cards/f/Fungusaur.java @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -27,7 +26,7 @@ public final class Fungusaur extends CardImpl { this.toughness = new MageInt(2); // Whenever Fungusaur is dealt damage, put a +1/+1 counter on it. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), false)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), false)); } public Fungusaur(final Fungusaur card) { diff --git a/Mage.Sets/src/mage/cards/g/Grollub.java b/Mage.Sets/src/mage/cards/g/Grollub.java index 45071e13b92..2bab76463ac 100644 --- a/Mage.Sets/src/mage/cards/g/Grollub.java +++ b/Mage.Sets/src/mage/cards/g/Grollub.java @@ -10,9 +10,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; -import mage.players.Player; /** * @@ -29,7 +27,6 @@ public final class Grollub extends CardImpl { // Whenever Grollub is dealt damage, each opponent gains that much life. this.addAbility(new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new EachOpponentGainsLifeEffect(), false, false, true)); } diff --git a/Mage.Sets/src/mage/cards/h/HornetNest.java b/Mage.Sets/src/mage/cards/h/HornetNest.java index 440afec6757..09fad1d64e5 100644 --- a/Mage.Sets/src/mage/cards/h/HornetNest.java +++ b/Mage.Sets/src/mage/cards/h/HornetNest.java @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.token.HornetNestInsectToken; import mage.players.Player; @@ -34,7 +33,7 @@ public final class HornetNest extends CardImpl { // Defender this.addAbility(DefenderAbility.getInstance()); // Whenever Hornet Nest is dealt damage, create that many 1/1 green Insect creature tokens with flying and deathtouch. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new HornetNestDealDamageEffect(), false, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new HornetNestDealDamageEffect(), false, false, true)); } public HornetNest(final HornetNest card) { diff --git a/Mage.Sets/src/mage/cards/h/HungeringHydra.java b/Mage.Sets/src/mage/cards/h/HungeringHydra.java index 91137cb6f27..8cc7a27ae32 100644 --- a/Mage.Sets/src/mage/cards/h/HungeringHydra.java +++ b/Mage.Sets/src/mage/cards/h/HungeringHydra.java @@ -45,7 +45,7 @@ public final class HungeringHydra extends CardImpl { // Whenever damage is dealt to Hungering Hydra, put that many +1/+1 counters on it. this.addAbility(new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new HungeringHydraEffect(), + new HungeringHydraEffect(), false, false, true )); } diff --git a/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java b/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java index 555ccca647f..f53dc194725 100644 --- a/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java +++ b/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -33,7 +32,7 @@ public final class IllusoryAmbusher extends CardImpl { this.addAbility(FlashAbility.getInstance()); // Whenever Illusory Ambusher is dealt damage, draw that many cards. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new IllusoryAmbusherDealtDamageEffect(), false, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new IllusoryAmbusherDealtDamageEffect(), false, false, true)); } public IllusoryAmbusher(final IllusoryAmbusher card) { diff --git a/Mage.Sets/src/mage/cards/i/ImperialCeratops.java b/Mage.Sets/src/mage/cards/i/ImperialCeratops.java index 2c7610e4412..07d3605206d 100644 --- a/Mage.Sets/src/mage/cards/i/ImperialCeratops.java +++ b/Mage.Sets/src/mage/cards/i/ImperialCeratops.java @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; /** * @@ -24,7 +23,7 @@ public final class ImperialCeratops extends CardImpl { this.toughness = new MageInt(5); // Enrage — Whenever Imperial Ceratops is dealt damage, you gain 2 life. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new GainLifeEffect(2), false, true)); } public ImperialCeratops(final ImperialCeratops card) { diff --git a/Mage.Sets/src/mage/cards/j/JackalPup.java b/Mage.Sets/src/mage/cards/j/JackalPup.java index f6037a6084d..7f6dae19656 100644 --- a/Mage.Sets/src/mage/cards/j/JackalPup.java +++ b/Mage.Sets/src/mage/cards/j/JackalPup.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -30,7 +29,7 @@ public final class JackalPup extends CardImpl { this.toughness = new MageInt(1); // Whenever Jackal Pup is dealt damage, it deals that much damage to you. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new JackalPupEffect(), false, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new JackalPupEffect(), false, false, true)); } diff --git a/Mage.Sets/src/mage/cards/j/JaggedPoppet.java b/Mage.Sets/src/mage/cards/j/JaggedPoppet.java index 00203c6848b..680247f1537 100644 --- a/Mage.Sets/src/mage/cards/j/JaggedPoppet.java +++ b/Mage.Sets/src/mage/cards/j/JaggedPoppet.java @@ -15,7 +15,6 @@ import mage.constants.AbilityWord; import mage.constants.CardType; import mage.constants.Outcome; import mage.constants.SubType; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -34,7 +33,7 @@ public final class JaggedPoppet extends CardImpl { this.toughness = new MageInt(4); // Whenever Jagged Poppet is dealt damage, discard that many cards. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new JaggedPoppetDealtDamageEffect(), false, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new JaggedPoppetDealtDamageEffect(), false, false, true)); // Hellbent - Whenever Jagged Poppet deals combat damage to a player, if you have no cards in hand, that player discards cards equal to the damage. Ability hellbentAbility = new ConditionalInterveningIfTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/m/MoggManiac.java b/Mage.Sets/src/mage/cards/m/MoggManiac.java index 0523b858f3f..e4963b660fc 100644 --- a/Mage.Sets/src/mage/cards/m/MoggManiac.java +++ b/Mage.Sets/src/mage/cards/m/MoggManiac.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.target.common.TargetOpponentOrPlaneswalker; @@ -28,7 +27,7 @@ public final class MoggManiac extends CardImpl { this.toughness = new MageInt(1); // Whenever Mogg Maniac is dealt damage, it deals that much damage to target opponent. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new MoggManiacDealDamageEffect(), false, false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new MoggManiacDealDamageEffect(), false, false, true); ability.addTarget(new TargetOpponentOrPlaneswalker()); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/n/NeedletoothRaptor.java b/Mage.Sets/src/mage/cards/n/NeedletoothRaptor.java index 7e4f04e5200..99e1b850fa5 100644 --- a/Mage.Sets/src/mage/cards/n/NeedletoothRaptor.java +++ b/Mage.Sets/src/mage/cards/n/NeedletoothRaptor.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; import mage.target.common.TargetCreaturePermanent; @@ -35,7 +34,7 @@ public final class NeedletoothRaptor extends CardImpl { this.toughness = new MageInt(2); // Enrage — Whenever Needletooth Raptor is dealt damage, it deals 5 damage to target creature an opponent controls. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new DamageTargetEffect(5).setText("it deals 5 damage to target creature an opponent controls"), false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new DamageTargetEffect(5).setText("it deals 5 damage to target creature an opponent controls"), false, true); ability.addTarget(new TargetCreaturePermanent(filter)); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/o/OvergrownArmasaur.java b/Mage.Sets/src/mage/cards/o/OvergrownArmasaur.java index 010aadf475d..36fc1cee4a1 100644 --- a/Mage.Sets/src/mage/cards/o/OvergrownArmasaur.java +++ b/Mage.Sets/src/mage/cards/o/OvergrownArmasaur.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.game.permanent.token.SaprolingToken; /** @@ -28,7 +27,6 @@ public final class OvergrownArmasaur extends CardImpl { // Enrage - Whenever Overgrown Armasaur is dealt damage, create a 1/1 green Saproling creature token. Ability ability = new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new CreateTokenEffect(new SaprolingToken()), false, true); diff --git a/Mage.Sets/src/mage/cards/p/Polyraptor.java b/Mage.Sets/src/mage/cards/p/Polyraptor.java index 98d4e06a3b7..6573126b4bb 100644 --- a/Mage.Sets/src/mage/cards/p/Polyraptor.java +++ b/Mage.Sets/src/mage/cards/p/Polyraptor.java @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; /** * @@ -28,7 +27,6 @@ public final class Polyraptor extends CardImpl { // Enrage - Whenever Polyraptor is dealt damage, create a token that's a copy of Polyraptor. Ability ability = new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new CreateTokenCopySourceEffect(), false, true); diff --git a/Mage.Sets/src/mage/cards/r/RangingRaptors.java b/Mage.Sets/src/mage/cards/r/RangingRaptors.java index 4d0a083cef1..2d6d7a0dcd8 100644 --- a/Mage.Sets/src/mage/cards/r/RangingRaptors.java +++ b/Mage.Sets/src/mage/cards/r/RangingRaptors.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -29,7 +28,6 @@ public final class RangingRaptors extends CardImpl { // Enrage - Whenever Ranging Raptors is dealt damage, you may search your library for a basic land card, put it onto the battlefield, then shuffle your library. Ability ability = new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_CARD_BASIC_LAND), true), true, true); diff --git a/Mage.Sets/src/mage/cards/r/RaptorHatchling.java b/Mage.Sets/src/mage/cards/r/RaptorHatchling.java index 1d0ac4a1ef9..165c241a725 100644 --- a/Mage.Sets/src/mage/cards/r/RaptorHatchling.java +++ b/Mage.Sets/src/mage/cards/r/RaptorHatchling.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.game.permanent.token.DinosaurToken; /** @@ -27,7 +26,7 @@ public final class RaptorHatchling extends CardImpl { this.toughness = new MageInt(1); // Enrage - Whenever Raptor Hatchling is dealt damage, create a 3/3 green Dinosaur creature token with trample. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new DinosaurToken()), false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new CreateTokenEffect(new DinosaurToken()), false, true); this.addAbility(ability); } public RaptorHatchling(final RaptorHatchling card) { diff --git a/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java b/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java index e5e3ba2aba4..e3b0e251e56 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java +++ b/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; /** * @@ -26,7 +25,7 @@ public final class RavenousDaggertooth extends CardImpl { this.toughness = new MageInt(2); // Enrage - Whenever Ravenous Daggertooth is dealt damage, you gain 2 life. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new GainLifeEffect(2), false, true); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/r/RipjawRaptor.java b/Mage.Sets/src/mage/cards/r/RipjawRaptor.java index fd15ccbda2b..45fda1a639a 100644 --- a/Mage.Sets/src/mage/cards/r/RipjawRaptor.java +++ b/Mage.Sets/src/mage/cards/r/RipjawRaptor.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; /** * @@ -26,7 +25,7 @@ public final class RipjawRaptor extends CardImpl { this.toughness = new MageInt(5); // Enrage — Whenever Ripjaw Raptor is dealt damage, draw a card. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new DrawCardSourceControllerEffect(1), false, true); this.addAbility(ability); } diff --git a/Mage.Sets/src/mage/cards/s/SaberAnts.java b/Mage.Sets/src/mage/cards/s/SaberAnts.java index 8b0611f14ad..4a7ca8fadd5 100644 --- a/Mage.Sets/src/mage/cards/s/SaberAnts.java +++ b/Mage.Sets/src/mage/cards/s/SaberAnts.java @@ -12,7 +12,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.token.InsectToken; import mage.players.Player; @@ -31,7 +30,7 @@ public final class SaberAnts extends CardImpl { this.toughness = new MageInt(3); // Whenever Saber Ants is dealt damage, you may create that many 1/1 green Insect creature tokens. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new SaberAntsEffect(), true, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new SaberAntsEffect(), true, false, true)); } public SaberAnts(final SaberAnts card) { diff --git a/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java b/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java index 06464add428..c9b3be135ca 100644 --- a/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java +++ b/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -30,7 +29,7 @@ public final class ShinkaGatekeeper extends CardImpl { this.toughness = new MageInt(2); // Whenever Shinka Gatekeeper is dealt damage, it deals that much damage to you. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new ShinkaGatekeeperDealDamageEffect(), false, false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new ShinkaGatekeeperDealDamageEffect(), false, false, true)); } public ShinkaGatekeeper(final ShinkaGatekeeper card) { diff --git a/Mage.Sets/src/mage/cards/s/SiegehornCeratops.java b/Mage.Sets/src/mage/cards/s/SiegehornCeratops.java index 2017756eff5..6c0e555b5d4 100644 --- a/Mage.Sets/src/mage/cards/s/SiegehornCeratops.java +++ b/Mage.Sets/src/mage/cards/s/SiegehornCeratops.java @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -26,7 +25,7 @@ public final class SiegehornCeratops extends CardImpl { this.toughness = new MageInt(2); // Enrage — Whenever Siegehorn Ceratops is dealt damage, put two +1/+1 counters on it. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, + this.addAbility(new DealtDamageToSourceTriggeredAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)) .setText("put two +1/+1 counter on it"), false, true)); } diff --git a/Mage.Sets/src/mage/cards/s/SilvercladFerocidons.java b/Mage.Sets/src/mage/cards/s/SilvercladFerocidons.java index 3e07c4f3436..8fd9a9b77f1 100644 --- a/Mage.Sets/src/mage/cards/s/SilvercladFerocidons.java +++ b/Mage.Sets/src/mage/cards/s/SilvercladFerocidons.java @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.filter.FilterPermanent; /** @@ -25,7 +24,7 @@ public final class SilvercladFerocidons extends CardImpl { this.toughness = new MageInt(5); // Enrage — Whenever Silverclad Ferocidon is dealt damage, each opponent sacrifices a permanent. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new SacrificeOpponentsEffect(new FilterPermanent()), false, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new SacrificeOpponentsEffect(new FilterPermanent()), false, true)); } public SilvercladFerocidons(final SilvercladFerocidons card) { diff --git a/Mage.Sets/src/mage/cards/s/SnappingSailback.java b/Mage.Sets/src/mage/cards/s/SnappingSailback.java index 9e6878f3472..aa0f60aaa18 100644 --- a/Mage.Sets/src/mage/cards/s/SnappingSailback.java +++ b/Mage.Sets/src/mage/cards/s/SnappingSailback.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.counters.CounterType; /** @@ -30,7 +29,7 @@ public final class SnappingSailback extends CardImpl { this.addAbility(FlashAbility.getInstance()); // Enrage — Whenever Snapping Sailback is dealt damage, put a +1/+1 counter on it. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, + this.addAbility(new DealtDamageToSourceTriggeredAbility( new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)) .setText("put a +1/+1 counter on it"), false, true)); } diff --git a/Mage.Sets/src/mage/cards/s/SpitefulSliver.java b/Mage.Sets/src/mage/cards/s/SpitefulSliver.java index fd9b2cfcd4f..099381472d2 100644 --- a/Mage.Sets/src/mage/cards/s/SpitefulSliver.java +++ b/Mage.Sets/src/mage/cards/s/SpitefulSliver.java @@ -30,7 +30,7 @@ public final class SpitefulSliver extends CardImpl { // Sliver creatures you control have "Whenever this creature is dealt damage, it deals that much damage to target player or planeswalker." Ability ability = new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new SpitefulSliverEffect(), + new SpitefulSliverEffect(), false, false, true ); ability.addTarget(new TargetPlayer()); diff --git a/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java b/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java index dd0ef15217b..3b141cc3d01 100644 --- a/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java +++ b/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java @@ -11,7 +11,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; /** * @@ -31,7 +30,7 @@ public final class SproutingPhytohydra extends CardImpl { // Whenever Sprouting Phytohydra is dealt damage, you may create a token that's a copy of Sprouting Phytohydra. Effect effect = new CreateTokenCopySourceEffect(); effect.setText("you may create a token that's a copy of {this}"); - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, effect, true)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(effect, true)); } public SproutingPhytohydra(final SproutingPhytohydra card) { diff --git a/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java b/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java index 51d44ebfd56..fb907fb72ad 100644 --- a/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java +++ b/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java @@ -10,7 +10,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.constants.Zone; import mage.target.common.TargetOpponentOrPlaneswalker; /** @@ -28,7 +27,7 @@ public final class SunCrownedHunters extends CardImpl { // Enrage — Whenever Sun-Crowned Hunters is dealt damage, it deals 3 damage to target opponent. Ability ability = new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new DamageTargetEffect(3).setText("it deals 3 damage to target opponent"), false, true + new DamageTargetEffect(3).setText("it deals 3 damage to target opponent"), false, true ); ability.addTarget(new TargetOpponentOrPlaneswalker()); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TheFallenApart.java b/Mage.Sets/src/mage/cards/t/TheFallenApart.java index 1159b50b5ab..ebb1977db3b 100644 --- a/Mage.Sets/src/mage/cards/t/TheFallenApart.java +++ b/Mage.Sets/src/mage/cards/t/TheFallenApart.java @@ -34,7 +34,7 @@ public final class TheFallenApart extends CardImpl { this.addAbility(new EntersBattlefieldAbility(new TheFallenApartEntersEffect())); // Whenever damage is dealt to The Fallen Apart, remove an arm or a leg from it. - this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new TheFallenApartToggleEffect(), false)); + this.addAbility(new DealtDamageToSourceTriggeredAbility(new TheFallenApartToggleEffect(), false)); // The Fallen Apart can’t attack if it has no legs and can’t block if it has no arms. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TheFallenApartRestrictionEffect())); diff --git a/Mage.Sets/src/mage/cards/t/ThrashingMudspawn.java b/Mage.Sets/src/mage/cards/t/ThrashingMudspawn.java index 44fd05dd811..f27444fb356 100644 --- a/Mage.Sets/src/mage/cards/t/ThrashingMudspawn.java +++ b/Mage.Sets/src/mage/cards/t/ThrashingMudspawn.java @@ -13,7 +13,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -31,7 +30,7 @@ public final class ThrashingMudspawn extends CardImpl { this.toughness = new MageInt(4); // Whenever Thrashing Mudspawn is dealt damage, you lose that much life. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new ThrashingMudspawnEffect(), false); + Ability ability = new DealtDamageToSourceTriggeredAbility(new ThrashingMudspawnEffect(), false); this.addAbility(ability); // Morph {1}{B}{B} diff --git a/Mage.Sets/src/mage/cards/t/TrapjawTyrant.java b/Mage.Sets/src/mage/cards/t/TrapjawTyrant.java index c1ad6180aad..f79aac5b6d2 100644 --- a/Mage.Sets/src/mage/cards/t/TrapjawTyrant.java +++ b/Mage.Sets/src/mage/cards/t/TrapjawTyrant.java @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.constants.TargetController; -import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; import mage.target.common.TargetCreaturePermanent; @@ -38,7 +37,7 @@ public final class TrapjawTyrant extends CardImpl { this.toughness = new MageInt(5); // Enrage — Whenever Trapjaw Tyrant is dealt damage, exile target creature your opponent controls until Trapjaw Tyrant leaves the battlefield. - Ability ability = new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new ExileUntilSourceLeavesEffect(filter.getMessage()), false, true); + Ability ability = new DealtDamageToSourceTriggeredAbility(new ExileUntilSourceLeavesEffect(filter.getMessage()), false, true); ability.addTarget(new TargetCreaturePermanent(filter)); ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new OnLeaveReturnExiledToBattlefieldAbility())); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/t/TruefireCaptain.java b/Mage.Sets/src/mage/cards/t/TruefireCaptain.java index 657392ec9f3..818d9d5055a 100644 --- a/Mage.Sets/src/mage/cards/t/TruefireCaptain.java +++ b/Mage.Sets/src/mage/cards/t/TruefireCaptain.java @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; -import mage.constants.Zone; import mage.game.Game; import mage.target.TargetPlayer; @@ -35,7 +34,7 @@ public final class TruefireCaptain extends CardImpl { // Whenever Truefire Captain is dealt damage, it deals that much damage to target player. Ability ability = new DealtDamageToSourceTriggeredAbility( - Zone.BATTLEFIELD, new TruefireCaptainEffect(), + new TruefireCaptainEffect(), false, false, true ); ability.addTarget(new TargetPlayer()); diff --git a/Mage.Sets/src/mage/sets/Commander2019Edition.java b/Mage.Sets/src/mage/sets/Commander2019Edition.java index 01e871d3602..a0931bbab43 100644 --- a/Mage.Sets/src/mage/sets/Commander2019Edition.java +++ b/Mage.Sets/src/mage/sets/Commander2019Edition.java @@ -22,6 +22,7 @@ public final class Commander2019Edition extends ExpansionSet { cards.add(new SetCardInfo("Anje Falkenrath", 37, Rarity.MYTHIC, mage.cards.a.AnjeFalkenrath.class)); cards.add(new SetCardInfo("Anje's Ravager", 22, Rarity.RARE, mage.cards.a.AnjesRavager.class)); + cards.add(new SetCardInfo("Apex Altisaur", 31, Rarity.RARE, mage.cards.a.ApexAltisaur.class)); cards.add(new SetCardInfo("Bane of the Living", 104, Rarity.RARE, mage.cards.b.BaneOfTheLiving.class)); cards.add(new SetCardInfo("Chromeshell Crab", 81, Rarity.RARE, mage.cards.c.ChromeshellCrab.class)); cards.add(new SetCardInfo("Deathmist Raptor", 160, Rarity.MYTHIC, mage.cards.d.DeathmistRaptor.class)); diff --git a/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java index cc4f5b49e5d..bbd23b4cbb3 100644 --- a/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DealtDamageToSourceTriggeredAbility.java @@ -1,15 +1,14 @@ package mage.abilities.common; -import mage.constants.Zone; import mage.abilities.TriggeredAbilityImpl; import mage.abilities.effects.Effect; +import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedCreatureEvent; import mage.game.events.GameEvent; /** - * * @author LevelX2 */ public class DealtDamageToSourceTriggeredAbility extends TriggeredAbilityImpl { @@ -18,16 +17,16 @@ public class DealtDamageToSourceTriggeredAbility extends TriggeredAbilityImpl { private final boolean useValue; private boolean usedForCombatDamageStep; - public DealtDamageToSourceTriggeredAbility(Zone zone, Effect effect, boolean optional) { - this(zone, effect, optional, false); + public DealtDamageToSourceTriggeredAbility(Effect effect, boolean optional) { + this(effect, optional, false); } - public DealtDamageToSourceTriggeredAbility(Zone zone, Effect effect, boolean optional, boolean enrage) { - this(zone, effect, optional, enrage, false); + public DealtDamageToSourceTriggeredAbility(Effect effect, boolean optional, boolean enrage) { + this(effect, optional, enrage, false); } - public DealtDamageToSourceTriggeredAbility(Zone zone, Effect effect, boolean optional, boolean enrage, boolean useValue) { - super(zone, effect, optional); + public DealtDamageToSourceTriggeredAbility(Effect effect, boolean optional, boolean enrage, boolean useValue) { + super(Zone.BATTLEFIELD, effect, optional); this.enrage = enrage; this.useValue = useValue; this.usedForCombatDamageStep = false;