From dbd06d7e7878e6bcc0a89b2ee18893abb24e076a Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 20:47:21 +0200 Subject: [PATCH 1/8] gift of strength (HOU) --- .../src/mage/cards/g/GiftOfStrength.java | 37 +++++++++++++++++++ .../src/mage/sets/HourOfDevastation.java | 6 ++- 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/g/GiftOfStrength.java diff --git a/Mage.Sets/src/mage/cards/g/GiftOfStrength.java b/Mage.Sets/src/mage/cards/g/GiftOfStrength.java new file mode 100644 index 00000000000..a218d3ac6e0 --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GiftOfStrength.java @@ -0,0 +1,37 @@ +package mage.cards.g; + +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.ReachAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +public class GiftOfStrength extends CardImpl { + + public GiftOfStrength(UUID cardId, CardSetInfo cardSetInfo){ + super(cardId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); + + // Target creature gets +3/+3 and gains reach until end of turn. + Effect effect = new BoostTargetEffect(3, 3, Duration.EndOfTurn); + effect.setText("Target creature gets +3/+3"); + this.getSpellAbility().addEffect(effect); + effect = new GainAbilityTargetEffect(ReachAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gains flying until end of turn"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public GiftOfStrength(final GiftOfStrength giftOfStrength){ + super(giftOfStrength); + } + + public GiftOfStrength copy(){ + return new GiftOfStrength(this); + } +} diff --git a/Mage.Sets/src/mage/sets/HourOfDevastation.java b/Mage.Sets/src/mage/sets/HourOfDevastation.java index 75f819b72f3..d431f58c322 100644 --- a/Mage.Sets/src/mage/sets/HourOfDevastation.java +++ b/Mage.Sets/src/mage/sets/HourOfDevastation.java @@ -27,8 +27,6 @@ */ package mage.sets; -import java.util.ArrayList; -import java.util.List; import mage.cards.CardGraphicInfo; import mage.cards.ExpansionSet; import mage.cards.FrameStyle; @@ -38,6 +36,9 @@ import mage.cards.repository.CardRepository; import mage.constants.Rarity; import mage.constants.SetType; +import java.util.ArrayList; +import java.util.List; + /** * @author fireshoes */ @@ -120,6 +121,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Forest", 199, Rarity.LAND, mage.cards.basiclands.Forest.class)); cards.add(new SetCardInfo("Fraying Sanity", 35, Rarity.UNCOMMON, mage.cards.f.FrayingSanity.class)); cards.add(new SetCardInfo("Gideon's Defeat", 13, Rarity.UNCOMMON, mage.cards.g.GideonsDefeat.class)); + cards.add(new SetCardInfo("Gift of Strength", 117, Rarity.COMMON, mage.cards.g.GiftOfStrength.class)); cards.add(new SetCardInfo("Gilded Cerodon", 94, Rarity.COMMON, mage.cards.g.GildedCerodon.class)); cards.add(new SetCardInfo("God-Pharaoh's Faithful", 14, Rarity.COMMON, mage.cards.g.GodPharaohsFaithful.class)); cards.add(new SetCardInfo("Grind // Dust", 155, Rarity.RARE, mage.cards.g.GrindDust.class)); From f79b53495010a0d4ce504653998274f3e1eff52a Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 20:52:20 +0200 Subject: [PATCH 2/8] granitic titan (HOU) --- Mage.Sets/src/mage/cards/g/GraniticTitan.java | 36 +++++++++++++++++++ .../src/mage/sets/HourOfDevastation.java | 1 + 2 files changed, 37 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/GraniticTitan.java diff --git a/Mage.Sets/src/mage/cards/g/GraniticTitan.java b/Mage.Sets/src/mage/cards/g/GraniticTitan.java new file mode 100644 index 00000000000..56472d98efb --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GraniticTitan.java @@ -0,0 +1,36 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.keyword.CyclingAbility; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +public class GraniticTitan extends CardImpl { + + public GraniticTitan(UUID ownerId, CardSetInfo cardSetInfo){ + super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE},"{4}{R}{R}"); + subtype.add("Elemental"); + power = new MageInt(5); + toughness = new MageInt(4); + + // Menace + addAbility(new MenaceAbility()); + + // Cycling {2} + addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}"))); + + } + + public GraniticTitan(final GraniticTitan graniticTitan){ + super(graniticTitan); + } + + public GraniticTitan copy(){ + return new GraniticTitan(this); + } +} diff --git a/Mage.Sets/src/mage/sets/HourOfDevastation.java b/Mage.Sets/src/mage/sets/HourOfDevastation.java index d431f58c322..6fca4aea6ec 100644 --- a/Mage.Sets/src/mage/sets/HourOfDevastation.java +++ b/Mage.Sets/src/mage/sets/HourOfDevastation.java @@ -124,6 +124,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Gift of Strength", 117, Rarity.COMMON, mage.cards.g.GiftOfStrength.class)); cards.add(new SetCardInfo("Gilded Cerodon", 94, Rarity.COMMON, mage.cards.g.GildedCerodon.class)); cards.add(new SetCardInfo("God-Pharaoh's Faithful", 14, Rarity.COMMON, mage.cards.g.GodPharaohsFaithful.class)); + cards.add(new SetCardInfo("Granitic Titan", 95, Rarity.COMMON, mage.cards.g.GraniticTitan.class)); cards.add(new SetCardInfo("Grind // Dust", 155, Rarity.RARE, mage.cards.g.GrindDust.class)); cards.add(new SetCardInfo("Harrier Naga", 118, Rarity.COMMON, mage.cards.h.HarrierNaga.class)); cards.add(new SetCardInfo("Hour of Eternity", 36, Rarity.RARE, mage.cards.h.HourOfEternity.class)); From a6081e1481a2b2c684c628fce313891bbbec8ad0 Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 21:41:44 +0200 Subject: [PATCH 3/8] added Manticore Elemental (HOU) --- Mage.Sets/src/mage/cards/m/ManticoreElemental.java | 4 ++++ Mage.Sets/src/mage/sets/HourOfDevastation.java | 1 + 2 files changed, 5 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/ManticoreElemental.java diff --git a/Mage.Sets/src/mage/cards/m/ManticoreElemental.java b/Mage.Sets/src/mage/cards/m/ManticoreElemental.java new file mode 100644 index 00000000000..9d74ef52082 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/ManticoreElemental.java @@ -0,0 +1,4 @@ +package mage.cards.m; + +public class ManticoreElemental { +} diff --git a/Mage.Sets/src/mage/sets/HourOfDevastation.java b/Mage.Sets/src/mage/sets/HourOfDevastation.java index 6fca4aea6ec..ac688e0c908 100644 --- a/Mage.Sets/src/mage/sets/HourOfDevastation.java +++ b/Mage.Sets/src/mage/sets/HourOfDevastation.java @@ -142,6 +142,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Liliana's Defeat", 68, Rarity.UNCOMMON, mage.cards.l.LilianasDefeat.class)); 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("Manticore Elemental", 103, Rarity.UNCOMMON, mage.cards.m.ManticoreElemental.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))); From 1792d98b1a98d1917c4f419432936fa863cc3cee Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 21:42:05 +0200 Subject: [PATCH 4/8] fix ability text --- Mage.Sets/src/mage/cards/g/GiftOfStrength.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Mage.Sets/src/mage/cards/g/GiftOfStrength.java b/Mage.Sets/src/mage/cards/g/GiftOfStrength.java index a218d3ac6e0..b7f13b9a282 100644 --- a/Mage.Sets/src/mage/cards/g/GiftOfStrength.java +++ b/Mage.Sets/src/mage/cards/g/GiftOfStrength.java @@ -14,24 +14,24 @@ import java.util.UUID; public class GiftOfStrength extends CardImpl { - public GiftOfStrength(UUID cardId, CardSetInfo cardSetInfo){ - super(cardId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); + public GiftOfStrength(UUID ownerId, CardSetInfo cardSetInfo) { + super(ownerId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); // Target creature gets +3/+3 and gains reach until end of turn. Effect effect = new BoostTargetEffect(3, 3, Duration.EndOfTurn); effect.setText("Target creature gets +3/+3"); this.getSpellAbility().addEffect(effect); effect = new GainAbilityTargetEffect(ReachAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gains flying until end of turn"); + effect.setText("and gains reach until end of turn"); this.getSpellAbility().addEffect(effect); this.getSpellAbility().addTarget(new TargetCreaturePermanent()); } - public GiftOfStrength(final GiftOfStrength giftOfStrength){ + public GiftOfStrength(final GiftOfStrength giftOfStrength) { super(giftOfStrength); } - public GiftOfStrength copy(){ + public GiftOfStrength copy() { return new GiftOfStrength(this); } } From 5bb1311a6ec0fe029a24cc4cd46e4d6574343db8 Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 21:53:43 +0200 Subject: [PATCH 5/8] added Magmaroth (HOU) --- Mage.Sets/src/mage/cards/m/Magmaroth.java | 4 ++++ Mage.Sets/src/mage/sets/HourOfDevastation.java | 1 + 2 files changed, 5 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/Magmaroth.java diff --git a/Mage.Sets/src/mage/cards/m/Magmaroth.java b/Mage.Sets/src/mage/cards/m/Magmaroth.java new file mode 100644 index 00000000000..b70d8ff6251 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/Magmaroth.java @@ -0,0 +1,4 @@ +package mage.cards.m; + +public class Magmaroth { +} diff --git a/Mage.Sets/src/mage/sets/HourOfDevastation.java b/Mage.Sets/src/mage/sets/HourOfDevastation.java index ac688e0c908..a250703a023 100644 --- a/Mage.Sets/src/mage/sets/HourOfDevastation.java +++ b/Mage.Sets/src/mage/sets/HourOfDevastation.java @@ -141,6 +141,7 @@ public class HourOfDevastation extends ExpansionSet { cards.add(new SetCardInfo("Leave // Chance", 153, Rarity.RARE, mage.cards.l.LeaveChance.class)); cards.add(new SetCardInfo("Liliana's Defeat", 68, Rarity.UNCOMMON, mage.cards.l.LilianasDefeat.class)); cards.add(new SetCardInfo("Lurching Rotbeast", 69, Rarity.COMMON, mage.cards.l.LurchingRotbeast.class)); + cards.add(new SetCardInfo("Magmaroth", 102, Rarity.UNCOMMON, mage.cards.m.Magmaroth.class)); cards.add(new SetCardInfo("Manalith", 164, Rarity.COMMON, mage.cards.m.Manalith.class)); cards.add(new SetCardInfo("Manticore Elemental", 103, Rarity.UNCOMMON, mage.cards.m.ManticoreElemental.class)); cards.add(new SetCardInfo("Marauding Boneslasher", 70, Rarity.COMMON, mage.cards.m.MaraudingBoneslasher.class)); From 9fb04dc33cae5d3fee8e17d023b4782ab2370cfe Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 21:54:24 +0200 Subject: [PATCH 6/8] manticore elemental --- .../src/mage/cards/m/ManticoreElemental.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/m/ManticoreElemental.java b/Mage.Sets/src/mage/cards/m/ManticoreElemental.java index 9d74ef52082..905f2d0f5f5 100644 --- a/Mage.Sets/src/mage/cards/m/ManticoreElemental.java +++ b/Mage.Sets/src/mage/cards/m/ManticoreElemental.java @@ -1,4 +1,35 @@ package mage.cards.m; -public class ManticoreElemental { +import mage.MageInt; +import mage.abilities.common.AttacksEachCombatStaticAbility; +import mage.abilities.keyword.AfflictAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +public class ManticoreElemental extends CardImpl { + + public ManticoreElemental(UUID ownerId, CardSetInfo cardSetInfo) { + super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + subtype.add("Zombie"); + subtype.add("Manticore"); + power = new MageInt(5); + toughness = new MageInt(4); + + // Afflict 3 + addAbility(new AfflictAbility(3)); + + // Manticore Elemental attacks each combat if able + addAbility(new AttacksEachCombatStaticAbility()); + } + + public ManticoreElemental(final ManticoreElemental manticoreElemental) { + super(manticoreElemental); + } + + public ManticoreElemental copy() { + return new ManticoreElemental(this); + } } From 1afcebc51a18a7fc526a88bc5189302d336368b0 Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 21:54:43 +0200 Subject: [PATCH 7/8] change subtype viashivan dragon --- Mage.Sets/src/mage/cards/v/ViashivanDragon.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/v/ViashivanDragon.java b/Mage.Sets/src/mage/cards/v/ViashivanDragon.java index 9a94b31aa6c..5052b426f87 100644 --- a/Mage.Sets/src/mage/cards/v/ViashivanDragon.java +++ b/Mage.Sets/src/mage/cards/v/ViashivanDragon.java @@ -18,7 +18,7 @@ public class ViashivanDragon extends CardImpl { public ViashivanDragon(UUID cardId, CardSetInfo cardSetInfo) { super(cardId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}{G}{G}"); - subtype.add("DRAGON"); + subtype.add("Dragon"); color.setGreen(true); color.setRed(true); power = new MageInt(4); From 8f0e043361403dffef35df44c1d8e2f2dda063f4 Mon Sep 17 00:00:00 2001 From: igoudt Date: Tue, 4 Jul 2017 21:55:24 +0200 Subject: [PATCH 8/8] added Magmaroth (HOU) --- Mage.Sets/src/mage/cards/m/Magmaroth.java | 46 ++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/m/Magmaroth.java b/Mage.Sets/src/mage/cards/m/Magmaroth.java index b70d8ff6251..cdabe61fbde 100644 --- a/Mage.Sets/src/mage/cards/m/Magmaroth.java +++ b/Mage.Sets/src/mage/cards/m/Magmaroth.java @@ -1,4 +1,48 @@ package mage.cards.m; -public class Magmaroth { +import mage.MageInt; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; +import mage.counters.CounterType; +import mage.filter.FilterSpell; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; + +import java.util.UUID; + +public class Magmaroth extends CardImpl{ + + private static final FilterSpell filterNonCreature = new FilterSpell("a noncreature spell"); + + static { + filterNonCreature.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); + } + + public Magmaroth(UUID ownerId, CardSetInfo cardSetInfo){ + super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + subtype.add("Elemental"); + power = new MageInt(5); + toughness = new MageInt(5); + + // At the beginning of your upkeep, put a -1/-1 counter on Magmaroth + addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance()), TargetController.YOU, false)); + + // Whenever you cast a noncreature spell, remove a -1/-1 counter from Magmaroth + addAbility(new SpellCastControllerTriggeredAbility(new RemoveCounterSourceEffect(CounterType.M1M1.createInstance()), filterNonCreature, false)); + + } + + public Magmaroth(final Magmaroth magmaroth){ + super(magmaroth); + } + + public Magmaroth copy(){ + return new Magmaroth(this); + } }