diff --git a/Mage.Sets/src/mage/cards/g/GiantCindermaw.java b/Mage.Sets/src/mage/cards/g/GiantCindermaw.java new file mode 100644 index 00000000000..7a6db86aaad --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GiantCindermaw.java @@ -0,0 +1,42 @@ +package mage.cards.g; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.CantGainLifeAllEffect; +import mage.constants.SubType; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author weirddan455 + */ +public final class GiantCindermaw extends CardImpl { + + public GiantCindermaw(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.DINOSAUR); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Players can't gain life. + this.addAbility(new SimpleStaticAbility(new CantGainLifeAllEffect())); + } + + private GiantCindermaw(final GiantCindermaw card) { + super(card); + } + + @Override + public GiantCindermaw copy() { + return new GiantCindermaw(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RampagingFerocidon.java b/Mage.Sets/src/mage/cards/r/RampagingFerocidon.java index aa4d29bc318..d254ab1c611 100644 --- a/Mage.Sets/src/mage/cards/r/RampagingFerocidon.java +++ b/Mage.Sets/src/mage/cards/r/RampagingFerocidon.java @@ -1,29 +1,21 @@ - package mage.cards.r; import java.util.UUID; import mage.MageInt; -import mage.MageObject; -import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.continuous.CantGainLifeAllEffect; import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AnotherPredicate; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.players.Player; /** * @@ -48,7 +40,7 @@ public final class RampagingFerocidon extends CardImpl { this.addAbility(new MenaceAbility(false)); // Players can't gain life. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RampagingFerocidonEffect())); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantGainLifeAllEffect())); // Whenever another creature enters the battlefield, Rampaging Ferocidon deals 1 damage to that creature's controller. this.addAbility(new EntersBattlefieldAllTriggeredAbility( @@ -64,43 +56,3 @@ public final class RampagingFerocidon extends CardImpl { return new RampagingFerocidon(this); } } - -class RampagingFerocidonEffect extends ContinuousRuleModifyingEffectImpl { - - public RampagingFerocidonEffect() { - super(Duration.WhileOnBattlefield, Outcome.Detriment, false, true); - staticText = "Players can't gain life"; - } - - public RampagingFerocidonEffect(final RampagingFerocidonEffect effect) { - super(effect); - } - - @Override - public RampagingFerocidonEffect copy() { - return new RampagingFerocidonEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public String getInfoMessage(Ability source, GameEvent event, Game game) { - MageObject mageObject = game.getObject(source); - Player player = game.getPlayer(event.getPlayerId()); - if (mageObject != null && player != null) { - return player.getLogName() + " can't get " + event.getAmount() + " life (" + mageObject.getIdName() + ")."; - } - return null; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (event.getType() == GameEvent.EventType.GAIN_LIFE) { - return game.getState().getPlayersInRange(source.getControllerId(), game).contains(event.getPlayerId()); - } - return false; - } -} diff --git a/Mage.Sets/src/mage/sets/TheBrothersWar.java b/Mage.Sets/src/mage/sets/TheBrothersWar.java index 7e4b423fd29..8fd84d5a07d 100644 --- a/Mage.Sets/src/mage/sets/TheBrothersWar.java +++ b/Mage.Sets/src/mage/sets/TheBrothersWar.java @@ -111,6 +111,7 @@ public final class TheBrothersWar extends ExpansionSet { cards.add(new SetCardInfo("Gaea's Courser", 181, Rarity.UNCOMMON, mage.cards.g.GaeasCourser.class)); cards.add(new SetCardInfo("Gaea's Gift", 182, Rarity.COMMON, mage.cards.g.GaeasGift.class)); cards.add(new SetCardInfo("Geology Enthusiast", 289, Rarity.RARE, mage.cards.g.GeologyEnthusiast.class)); + cards.add(new SetCardInfo("Giant Cindermaw", 136, Rarity.UNCOMMON, mage.cards.g.GiantCindermaw.class)); cards.add(new SetCardInfo("Giant Growth", 183, Rarity.COMMON, mage.cards.g.GiantGrowth.class)); cards.add(new SetCardInfo("Gix's Caress", 96, Rarity.COMMON, mage.cards.g.GixsCaress.class)); cards.add(new SetCardInfo("Gix's Command", 97, Rarity.RARE, mage.cards.g.GixsCommand.class));