From 825040cedc42c1d227f46f03fff73d4a137bb994 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 09:06:48 +0000 Subject: [PATCH] add Sharuum the Hegemon (from Shards of Alara) --- .gitattributes | 1 + res/cardsfolder/sharuum_the_hegemon.txt | 9 +++++ src/forge/CardFactory_Creatures.java | 51 +++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 res/cardsfolder/sharuum_the_hegemon.txt diff --git a/.gitattributes b/.gitattributes index 1464a52e457..ffff9247285 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3528,6 +3528,7 @@ res/cardsfolder/shanodin_dryads.txt -text svneol=native#text/plain res/cardsfolder/shaper_guildmage.txt -text svneol=native#text/plain res/cardsfolder/shard_volley.txt -text svneol=native#text/plain res/cardsfolder/shared_triumph.txt -text svneol=native#text/plain +res/cardsfolder/sharuum_the_hegemon.txt -text svneol=native#text/plain res/cardsfolder/shatter.txt -text svneol=native#text/plain res/cardsfolder/shattered_dreams.txt -text svneol=native#text/plain res/cardsfolder/shattering_pulse.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/sharuum_the_hegemon.txt b/res/cardsfolder/sharuum_the_hegemon.txt new file mode 100644 index 00000000000..df11dca4587 --- /dev/null +++ b/res/cardsfolder/sharuum_the_hegemon.txt @@ -0,0 +1,9 @@ +Name:Sharuum the Hegemon +ManaCost:3 W U B +Types:Legendary Artifact Creature Sphinx +Text:When Sharuum the Hegemon enters the battlefield, you may return target artifact card from your graveyard to the battlefield. +PT:5/5 +K:Flying +SVar:Rarity:Mythic +SVar:Picture:http://www.wizards.com/global/images/magic/general/sharuum_the_hegemon.jpg +End diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index 816d0e16716..5ad575f86fa 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -20357,6 +20357,57 @@ public class CardFactory_Creatures { card.addComesIntoPlayCommand(cip); }//*************** END ************ END ************************** + //*************** START *********** START ************************ + if(cardName.equals("Sharuum the Hegemon")) { + final SpellAbility ability = new Ability(card, "0") { + + @Override + public void chooseTargetAI() { + CardList grave = getGraveArts(); + Card target = CardFactoryUtil.AI_getBestArtifact(grave); + setTargetCard(target); + } + + @Override + public void resolve() { + if(card.getController().equals(Constant.Player.Human)) { + Card c = AllZone.Display.getChoice("Select card", getGraveArts().toArray()); + setTargetCard(c); + } + + Card target = getTargetCard(); + + PlayerZone grave = AllZone.getZone(Constant.Zone.Graveyard, card.getController()); + PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController()); + if(AllZone.GameAction.isCardInZone(target, grave) + && CardFactoryUtil.canTarget(card, target)) + AllZone.GameAction.moveTo(play, target); + }//resolve() + + CardList getGraveArts() { + CardList list = AllZoneUtil.getPlayerGraveyard(card.getController()); + return list.filter(AllZoneUtil.artifacts); + } + };//SpellAbility + + final Command cip = new Command() { + private static final long serialVersionUID = 7977273396908140261L; + + CardList getGraveArts() { + CardList list = AllZoneUtil.getPlayerGraveyard(card.getController()); + return list.filter(AllZoneUtil.artifacts); + } + + public void execute() { + if(getGraveArts().size() > 0) + AllZone.Stack.add(ability); + } + }; + + ability.setStackDescription(cardName + " - return target artifact from your graveyard to the battlefield."); + card.addComesIntoPlayCommand(cip); + }//*************** END ************ END ************************** + // Cards with Cycling abilities // -1 means keyword "Cycling" not found