1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-07 13:01:06 -09:00

Implemented Apex Altisaur

This commit is contained in:
Evan Kranzler 2019-08-05 17:03:30 -04:00
parent b2bc60efcb
commit 1e8b6ea3b4
41 changed files with 103 additions and 78 deletions

View file

@ -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);
}
}

View file

@ -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);
}

View file

@ -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);

View file

@ -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}")));
}

View file

@ -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);
// <i>Enrage</i> 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);
}

View file

@ -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) {

View file

@ -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));
}

View file

@ -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) {

View file

@ -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);

View file

@ -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 {
// <i>Enrage</i> &mdash; 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);

View file

@ -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.\"")));

View file

@ -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) {

View file

@ -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));
}

View file

@ -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) {

View file

@ -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
));
}

View file

@ -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) {

View file

@ -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);
// <i>Enrage</i> &mdash; 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) {

View file

@ -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));
}

View file

@ -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(

View file

@ -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);
}

View file

@ -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);
// <i>Enrage</i> &mdash; 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);
}

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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) {

View file

@ -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);
}

View file

@ -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);
// <i>Enrage</i> &mdash; 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);
}

View file

@ -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) {

View file

@ -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) {

View file

@ -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);
// <i>Enrage</i> 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));
}

View file

@ -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);
// <i>Enrage</i> &mdash; 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) {

View file

@ -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));
}

View file

@ -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());

View file

@ -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) {

View file

@ -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 {
// <i>Enrage</i> &mdash; 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);

View file

@ -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 cant attack if it has no legs and cant block if it has no arms.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TheFallenApartRestrictionEffect()));

View file

@ -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}

View file

@ -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);

View file

@ -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());

View file

@ -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));

View file

@ -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;