From fc1cabecc54f63ca0996921a440e9fd119d93d88 Mon Sep 17 00:00:00 2001 From: Sloth Date: Thu, 9 Feb 2012 12:38:57 +0000 Subject: [PATCH] - Converted Drekavac to script. --- .gitattributes | 1 - res/cardsfolder/d/drekavac.txt | 7 +- res/cardsfolder/g/gerrard__capashen.txt | 14 --- .../cardfactory/CardFactoryCreatures.java | 92 ------------------- 4 files changed, 6 insertions(+), 108 deletions(-) delete mode 100644 res/cardsfolder/g/gerrard__capashen.txt diff --git a/.gitattributes b/.gitattributes index 8120bd928e1..af29bb32837 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3344,7 +3344,6 @@ res/cardsfolder/g/genju_of_the_spires.txt svneol=native#text/plain res/cardsfolder/g/geothermal_crevice.txt svneol=native#text/plain res/cardsfolder/g/geralfs_messenger.txt -text res/cardsfolder/g/geralfs_mindcrusher.txt -text -res/cardsfolder/g/gerrard__capashen.txt -text svneol=unset#text/plain res/cardsfolder/g/gerrard_capashen.txt -text res/cardsfolder/g/gerrards_battle_cry.txt svneol=native#text/plain res/cardsfolder/g/gerrards_command.txt svneol=native#text/plain diff --git a/res/cardsfolder/d/drekavac.txt b/res/cardsfolder/d/drekavac.txt index 8cca37ece1a..9cfa1e066f5 100644 --- a/res/cardsfolder/d/drekavac.txt +++ b/res/cardsfolder/d/drekavac.txt @@ -1,8 +1,13 @@ Name:Drekavac ManaCost:1 B Types:Creature Beast -Text:When CARDNAME enters the battlefield, sacrifice it unless you discard a noncreature card. +Text: PT:3/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, sacrifice it unless you discard a noncreature card. +SVar:TrigDiscard:AB$ Discard | Cost$ 0 | NumCards$ 1 | DiscardValid$ Card.nonCreature | Mode$ TgtChoose | Optional$ True | RememberDiscarded$ True | SubAbility$ DBSacSelf +SVar:DBSacSelf:DB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBCleanup | ConditionCheckSVar$ X | ConditionSVarCompare$ LT1 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Remembered$Amount SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://resources.wizards.com/magic/cards/dis/en-us/card111258.jpg diff --git a/res/cardsfolder/g/gerrard__capashen.txt b/res/cardsfolder/g/gerrard__capashen.txt deleted file mode 100644 index 7ff8c8acc65..00000000000 --- a/res/cardsfolder/g/gerrard__capashen.txt +++ /dev/null @@ -1,14 +0,0 @@ -Name:Gerrard Capashen -ManaCost:3 W W -Types:Legendary Creature Human Soldier -Text:no text -PT:3/4 -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigGainLife | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you gain 1 life for each card in target opponent's hand. -SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | LifeAmount$ X | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | Defined$ You -A:AB$ Tap | Cost$ 3 W | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsPresent$ Card.Self+attacking | SpellDescription$ Tap target creature. Activate this ability only if CARDNAME is attacking. -SVar:X:TargetedPlayer$CardsInHand -SVar:Rarity:Rare -SVar:Picture:http://www.wizards.com/global/images/magic/general/gerrard_capashen.jpg -SetInfo:APC|Rare|http://magiccards.info/scans/en/ap/11.jpg -Oracle:At the beginning of your upkeep, you gain 1 life for each card in target opponent's hand.\n{3}{W}: Tap target creature. Activate this ability only if Gerrard Capashen is attacking. -End \ No newline at end of file diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index 8a0363ec5e0..fd3183bbaa8 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -305,98 +305,6 @@ public class CardFactoryCreatures { card.addComesIntoPlayCommand(intoPlay); } // *************** END ************ END ************************** - // *************** START *********** START ************************** - else if (cardName.equals("Drekavac")) { - final Input discard = new Input() { - private static final long serialVersionUID = -6392468000100283596L; - - @Override - public void showMessage() { - AllZone.getDisplay().showMessage("Select a noncreature card to discard"); - ButtonUtil.enableOnlyCancel(); - } - - @Override - public void selectCard(final Card c, final PlayerZone zone) { - if (zone.is(Constant.Zone.Hand) && !c.isCreature()) { - c.getController().discard(c, null); - this.stop(); - } - } - - @Override - public void selectButtonCancel() { - AllZone.getGameAction().sacrifice(card); - this.stop(); - } - }; // Input - - final SpellAbility ability = new Ability(card, "0") { - @Override - public void resolve() { - if (card.getController().isHuman()) { - if (AllZone.getHumanPlayer().getCardsIn(Zone.Hand).size() == 0) { - AllZone.getGameAction().sacrifice(card); - } else { - AllZone.getInputControl().setInput(discard); - } - } else { - CardList list = AllZone.getComputerPlayer().getCardsIn(Zone.Hand); - list = list.filter(new CardListFilter() { - @Override - public boolean addCard(final Card c) { - return (!c.isCreature()); - } - }); - list.get(0).getController().discard(list.get(0), this); - } // else - } // resolve() - }; // SpellAbility - - final Command intoPlay = new Command() { - private static final long serialVersionUID = 9202753910259054021L; - - @Override - public void execute() { - final StringBuilder sb = new StringBuilder(); - sb.append(card.getController()); - sb.append(" sacrifices Drekavac unless he discards a noncreature card"); - ability.setStackDescription(sb.toString()); - - AllZone.getStack().addSimultaneousStackEntry(ability); - - } - }; - - final SpellAbility spell = new SpellPermanent(card) { - private static final long serialVersionUID = -2940969025405788931L; - - // could never get the AI to work correctly - // it always played the same card 2 or 3 times - @Override - public boolean canPlayAI() { - return false; - } - - @Override - public boolean canPlay() { - CardList list = card.getController().getCardsIn(Zone.Hand); - list.remove(card); - list = list.filter(new CardListFilter() { - @Override - public boolean addCard(final Card c) { - return (!c.isCreature()); - } - }); - return list.size() != 0; - } // canPlay() - }; - card.addComesIntoPlayCommand(intoPlay); - // Do not remove SpellAbilities created by AbilityFactory or - // Keywords. - card.clearFirstSpell(); - card.addSpellAbility(spell); - } // *************** END ************ END ************************** // *************** START *********** START ************************** else if (cardName.equals("Minotaur Explorer") || cardName.equals("Balduvian Horde")