Merge pull request #3579 from ingmargoudt/hou

Hou cards
This commit is contained in:
ingmargoudt 2017-07-03 23:18:42 +02:00 committed by GitHub
commit 4cd902796a
6 changed files with 144 additions and 1 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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