From ee2b904cca1e1a270b6e5bcad8c035626364206d Mon Sep 17 00:00:00 2001 From: dragonfyre23 <9019960+dragonfyre23@users.noreply.github.com> Date: Sun, 26 Jan 2020 23:34:44 -0500 Subject: [PATCH] In Progress Not Functional Exiled Doomsayer (SCG) --- .../src/mage/cards/e/ExiledDoomsayer.java | 83 +++++++++++++++++++ Mage.Sets/src/mage/sets/Scourge.java | 1 + 2 files changed, 84 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/ExiledDoomsayer.java diff --git a/Mage.Sets/src/mage/cards/e/ExiledDoomsayer.java b/Mage.Sets/src/mage/cards/e/ExiledDoomsayer.java new file mode 100644 index 0000000000..be97b55b47 --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/ExiledDoomsayer.java @@ -0,0 +1,83 @@ +package mage.cards.e; + +import mage.MageInt; +import mage.abilities.Ability;; +import mage.abilities.keyword.MorphAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.cost.CostModificationEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.util.CardUtil; + +import java.util.UUID; + +/** + * + * @author dragonfyre23 + * + * cost increase effect based on EidolonOfObstruction + */ +public final class ExiledDoomsayer extends CardImpl { + + public ExiledDoomsayer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // All morph costs cost {2} more. + this.addAbility(new SimpleStaticAbility(new ExiledDoomsayerEffect())); + + } + + public ExiledDoomsayer(final mage.cards.e.ExiledDoomsayer card) { + super(card); + } + + @Override + public mage.cards.e.ExiledDoomsayer copy() { + return new mage.cards.e.ExiledDoomsayer(this); + } +} + +class ExiledDoomsayerEffect extends CostModificationEffectImpl { + + ExiledDoomsayerEffect() { + super(Duration.WhileOnBattlefield, Outcome.Neutral, CostModificationType.INCREASE_COST); + staticText = "All morph costs cost {2} more."; + } + + private ExiledDoomsayerEffect(ExiledDoomsayerEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source, Ability abilityToModify) { + CardUtil.increaseCost(abilityToModify, 2); + return true; + } + + @Override + public boolean applies(Ability abilityToModify, Ability source, Game game) { + Permanent permanent = game.getPermanent(abilityToModify.getSourceId()); + if (permanent == null) {//verify permanent exists + return false; + } + + if ((abilityToModify instanceof MorphAbility)) {//if ability is Morph + return true;//increase cost + } + else { + return false;//don't increase cost + } + } + + @Override + public ExiledDoomsayerEffect copy() { + return new ExiledDoomsayerEffect(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Scourge.java b/Mage.Sets/src/mage/sets/Scourge.java index 2ac19bcedc..a64c732a2e 100644 --- a/Mage.Sets/src/mage/sets/Scourge.java +++ b/Mage.Sets/src/mage/sets/Scourge.java @@ -81,6 +81,7 @@ public final class Scourge extends ExpansionSet { cards.add(new SetCardInfo("Elvish Aberration", 118, Rarity.UNCOMMON, mage.cards.e.ElvishAberration.class)); cards.add(new SetCardInfo("Enrage", 91, Rarity.UNCOMMON, mage.cards.e.Enrage.class)); cards.add(new SetCardInfo("Eternal Dragon", 12, Rarity.RARE, mage.cards.e.EternalDragon.class)); + cards.add(new SetCardInfo("Exiled Doomsayer", 13, Rarity.RARE, mage.cards.e.ExiledDoomsayer.class)); cards.add(new SetCardInfo("Extra Arms", 92, Rarity.UNCOMMON, mage.cards.e.ExtraArms.class)); cards.add(new SetCardInfo("Faces of the Past", 35, Rarity.RARE, mage.cards.f.FacesOfThePast.class)); cards.add(new SetCardInfo("Fatal Mutation", 66, Rarity.UNCOMMON, mage.cards.f.FatalMutation.class));