diff --git a/Mage.Sets/src/mage/cards/f/FeralProwler.java b/Mage.Sets/src/mage/cards/f/FeralProwler.java new file mode 100644 index 0000000000..f6cb945c50 --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FeralProwler.java @@ -0,0 +1,31 @@ +package mage.cards.f; + +import mage.MageInt; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +public class FeralProwler extends CardImpl { + + public FeralProwler(UUID ownerId, CardSetInfo cardSetInfo) { + super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + subtype.add("Cat"); + + power = new MageInt(1); + toughness = new MageInt(3); + + addAbility(new DiesTriggeredAbility(new DrawCardSourceControllerEffect(1), false)); + } + + public FeralProwler(final FeralProwler feralProwler) { + super(feralProwler); + } + + public FeralProwler copy() { + return new FeralProwler(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MoaningWall.java b/Mage.Sets/src/mage/cards/m/MoaningWall.java new file mode 100644 index 0000000000..de8487ebc2 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MoaningWall.java @@ -0,0 +1,37 @@ +package mage.cards.m; + +import mage.MageInt; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.keyword.CyclingAbility; +import mage.abilities.keyword.DefenderAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +public class MoaningWall extends CardImpl { + + public MoaningWall(UUID ownerId, CardSetInfo cardSetInfo){ + super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + subtype.add("Zombie"); + subtype.add("Wall"); + power = new MageInt(0); + toughness = new MageInt(5); + + // Defender + addAbility(DefenderAbility.getInstance()); + + // Cycling {2} + addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}"))); + } + + public MoaningWall(final MoaningWall moaningWall){ + super(moaningWall); + } + + public MoaningWall copy(){ + return new MoaningWall(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/Overcome.java b/Mage.Sets/src/mage/cards/o/Overcome.java new file mode 100644 index 0000000000..8077f29122 --- /dev/null +++ b/Mage.Sets/src/mage/cards/o/Overcome.java @@ -0,0 +1,36 @@ +package mage.cards.o; + +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; + +import java.util.UUID; + +public class Overcome extends CardImpl { + + public Overcome(UUID ownerId, CardSetInfo cardSetInfo){ + super(ownerId, cardSetInfo, new CardType[]{CardType.SORCERY}, "{3}{G}{G}"); + + // Creatures you control get +2/+2 and gain trample until end of turn. + Effect effect = new BoostControlledEffect(2, 2, Duration.EndOfTurn); + effect.setText("Creatures you control get +2/+2"); + this.getSpellAbility().addEffect(effect); + effect = new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent()); + effect.setText("and gain trample until end of turn"); + this.getSpellAbility().addEffect(effect); + } + + public Overcome(final Overcome overcome){ + super(overcome); + } + + public Overcome copy(){ + return new Overcome(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RampagingHippo.java b/Mage.Sets/src/mage/cards/r/RampagingHippo.java index ff5286a99d..35c3abe1c3 100644 --- a/Mage.Sets/src/mage/cards/r/RampagingHippo.java +++ b/Mage.Sets/src/mage/cards/r/RampagingHippo.java @@ -22,7 +22,7 @@ public class RampagingHippo extends CardImpl { addAbility(TrampleAbility.getInstance()); // Cycling {2} - addAbility(new CyclingAbility(new ManaCostsImpl("2"))); + addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); } public RampagingHippo(final RampagingHippo rampagingHippo){ diff --git a/Mage.Sets/src/mage/cards/r/RazakethsRite.java b/Mage.Sets/src/mage/cards/r/RazakethsRite.java new file mode 100644 index 0000000000..cdfee961f5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RazakethsRite.java @@ -0,0 +1,35 @@ +package mage.cards.r; + +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.common.TargetCardInLibrary; + +import java.util.UUID; + +public class RazakethsRite extends CardImpl { + + public RazakethsRite(UUID ownerId, CardSetInfo cardSetInfo){ + super(ownerId, cardSetInfo, new CardType[]{CardType.SORCERY}, "{3}{B}{B}"); + + // Search your library for a card and put that card into your hand + // Then shuffle your library + TargetCardInLibrary target = new TargetCardInLibrary(); + this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(target)); + + // Cycling {B} + + addAbility(new CyclingAbility(new ManaCostsImpl("{B}"))); + } + + public RazakethsRite(final RazakethsRite razakethsRite){ + super(razakethsRite); + } + + public RazakethsRite copy(){ + return new RazakethsRite(this); + } +} diff --git a/Mage.Sets/src/mage/sets/HourOfDevastation.java b/Mage.Sets/src/mage/sets/HourOfDevastation.java index adcdaca00b..6f74a64215 100644 --- a/Mage.Sets/src/mage/sets/HourOfDevastation.java +++ b/Mage.Sets/src/mage/sets/HourOfDevastation.java @@ -100,6 +100,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Dreamstealer", 63, Rarity.RARE, mage.cards.d.Dreamstealer.class)); cards.add(new SetCardInfo("Dutiful Servants", 12, Rarity.COMMON, mage.cards.d.DutifulServants.class)); cards.add(new SetCardInfo("Earthshaker Khenra", 90, Rarity.RARE, mage.cards.e.EarthshakerKhenra.class)); + cards.add(new SetCardInfo("Feral Prowler", 115, Rarity.COMMON, mage.cards.f.FeralProwler.class)); cards.add(new SetCardInfo("Fervent Paincaster", 91, Rarity.UNCOMMON, mage.cards.f.FerventPaincaster.class)); cards.add(new SetCardInfo("Forest", 189, Rarity.LAND, mage.cards.basiclands.Forest.class, new CardGraphicInfo(FrameStyle.BFZ_FULL_ART_BASIC, true))); cards.add(new SetCardInfo("Fraying Sanity", 35, Rarity.UNCOMMON, mage.cards.f.FrayingSanity.class)); @@ -117,6 +118,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Lurching Rotbeast", 69, Rarity.COMMON, mage.cards.l.LurchingRotbeast.class)); cards.add(new SetCardInfo("Manalith", 164, Rarity.COMMON, mage.cards.m.Manalith.class)); cards.add(new SetCardInfo("Marauding Boneslasher", 70, Rarity.COMMON, mage.cards.m.MaraudingBoneslasher.class)); + cards.add(new SetCardInfo("Moaning Wall", 72, Rarity.COMMON, mage.cards.m.MoaningWall.class)); cards.add(new SetCardInfo("Mountain", 188, Rarity.LAND, mage.cards.basiclands.Mountain.class, new CardGraphicInfo(FrameStyle.BFZ_FULL_ART_BASIC, true))); cards.add(new SetCardInfo("Nicol Bolas, God-Pharaoh", 140, Rarity.MYTHIC, mage.cards.n.NicolBolasGodPharaoh.class)); cards.add(new SetCardInfo("Nicol Bolas, the Deceiver", 205, Rarity.MYTHIC, mage.cards.n.NicolBolasTheDeceiver.class)); @@ -126,6 +128,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Oketra's Last Mercy", 18, Rarity.RARE, mage.cards.o.OketrasLastMercy.class)); cards.add(new SetCardInfo("Open Fire", 105, Rarity.COMMON, mage.cards.o.OpenFire.class)); cards.add(new SetCardInfo("Overwhelming Splendor", 19, Rarity.MYTHIC, mage.cards.o.OverwhelmingSplendor.class)); + cards.add(new SetCardInfo("Overcome", 125, Rarity.UNCOMMON, mage.cards.o.Overcome.class)); cards.add(new SetCardInfo("Plains", 185, Rarity.LAND, mage.cards.basiclands.Plains.class, new CardGraphicInfo(FrameStyle.BFZ_FULL_ART_BASIC, true))); cards.add(new SetCardInfo("Pride Sovereign", 126, Rarity.RARE, mage.cards.p.PrideSovereign.class)); cards.add(new SetCardInfo("Proven Combatant", 42, Rarity.COMMON, mage.cards.p.ProvenCombatant.class)); @@ -133,6 +136,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Ramunap Excavator", 129, Rarity.RARE, mage.cards.r.RamunapExcavator.class)); cards.add(new SetCardInfo("Ramunap Hydra", 130, Rarity.RARE, mage.cards.r.RamunapHydra.class)); cards.add(new SetCardInfo("Razaketh, the Foulblooded", 73, Rarity.MYTHIC, mage.cards.r.RazakethTheFoulblooded.class)); + cards.add(new SetCardInfo("Razaketh's Rite", 74, Rarity.UNCOMMON, mage.cards.r.RazakethsRite.class)); cards.add(new SetCardInfo("Reason // Believe", 154, Rarity.RARE, mage.cards.r.ReasonBelieve.class)); cards.add(new SetCardInfo("Refuse // Cooperate", 156, Rarity.RARE, mage.cards.r.RefuseCooperate.class)); cards.add(new SetCardInfo("Ruin Rat", 75, Rarity.COMMON, mage.cards.r.RuinRat.class));