From a7fe38ee2bff3c9f5a7d1e4c67df52440b683deb Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 14:00:42 +0000 Subject: [PATCH] add Skizzik (from Invasion) --- .gitattributes | 1 + res/cardsfolder/skizzik.txt | 11 +++++ src/forge/CardFactory_Creatures.java | 60 +++++++++++++++++++++++++++- 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 res/cardsfolder/skizzik.txt diff --git a/.gitattributes b/.gitattributes index e32ef152b9f..539b9207613 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4375,6 +4375,7 @@ res/cardsfolder/skithiryx_the_blight_dragon.txt -text svneol=native#text/plain res/cardsfolder/skitter_of_lizards.txt -text svneol=native#text/plain res/cardsfolder/skittering_invasion.txt -text svneol=native#text/plain res/cardsfolder/skittish_kavu.txt -text svneol=native#text/plain +res/cardsfolder/skizzik.txt -text svneol=native#text/plain res/cardsfolder/skred.txt -text svneol=native#text/plain res/cardsfolder/skulking_fugitive.txt -text svneol=native#text/plain res/cardsfolder/skulking_ghost.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/skizzik.txt b/res/cardsfolder/skizzik.txt new file mode 100644 index 00000000000..cd54ca1ed3c --- /dev/null +++ b/res/cardsfolder/skizzik.txt @@ -0,0 +1,11 @@ +Name:Skizzik +ManaCost:3 R +Types:Creature Elemental +Text:At the beginning of the end step, sacrifice Skizzik unless it was kicked. +PT:5/3 +K:Haste +K:Trample +K:At the beginning of the end step, sacrifice CARDNAME. +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/skizzik.jpg +End \ No newline at end of file diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index f81ac3c4eae..21235075fad 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -13438,7 +13438,8 @@ public class CardFactory_Creatures { card.addSpellAbility(ability); }//*************** END ************ END ************************** - //*************** START *********** START ************************** + + //*************** START *********** START ************************** else if(cardName.equals("Sea Gate Oracle")) { final Ability ability = new Ability(card, "") { @Override @@ -13477,6 +13478,63 @@ public class CardFactory_Creatures { card.addComesIntoPlayCommand(intoPlay); }//*************** END ************ END ************************** + + //*************** START *********** START ************************** + else if(cardName.equals("Skizzik")) { + final SpellAbility kicker = new Spell(card) { + private static final long serialVersionUID = -1598664196463358630L; + + @Override + public void resolve() { + PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, card.getController()); + PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, card.getController()); + + card.setKicked(true); + hand.remove(card); + play.add(card); + } + + @Override + public boolean canPlay() { + return super.canPlay() && AllZone.Phase.getPlayerTurn().equals(card.getController()) + && !AllZone.Phase.getPhase().equals("End of Turn") + && !AllZone.GameAction.isCardInPlay(card); + } + + }; + kicker.setKickerAbility(true); + kicker.setManaCost("3 R R"); + kicker.setAdditionalManaCost("R"); + kicker.setDescription("Kicker R"); + + StringBuilder sb = new StringBuilder(); + sb.append(card.getName()).append(" - Creature 5/3 (Kicked)"); + kicker.setStackDescription(sb.toString()); + + card.addSpellAbility(kicker); + + final Ability ability = new Ability(card, "0") { + @Override + public void resolve() { + card.removeIntrinsicKeyword("At the beginning of the end step, sacrifice CARDNAME."); + card.setKicked(false); + } + }; + + Command commandComes = new Command() { + private static final long serialVersionUID = -5895458115371755529L; + + public void execute() { + if(card.isKicked()) { + ability.setStackDescription(card.getName()+" is not sacrificed at end of turn."); + AllZone.Stack.add(ability); + } + }//execute() + };//CommandComes + + card.addComesIntoPlayCommand(commandComes); + }//*************** END ************ END ************************** + if(hasKeyword(card, "Level up") != -1 && hasKeyword(card, "maxLevel") != -1) {