diff --git a/res/cardsfolder/m/molten_hydra.txt b/res/cardsfolder/m/molten_hydra.txt index 13d6faca75c..77482f7e57d 100644 --- a/res/cardsfolder/m/molten_hydra.txt +++ b/res/cardsfolder/m/molten_hydra.txt @@ -4,6 +4,8 @@ Types:Creature Hydra Text:no text PT:1/1 A:AB$ PutCounter | Cost$ 1 R R | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME. +A:AB$ DealDamage | Cost$ T SubCounter | Tgt$ CP | NumDmg$ X | References$ X | SpellDescription$ CARDNAME deals damage to target creature or player equal to the number of +1/+1 counters removed this way. +SVar:X:SVar$CostCountersRemoved SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/molten_hydra.jpg SetInfo:ULG|Rare|http://magiccards.info/scans/en/ul/85.jpg diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index a7f1d619d14..1be320ca22b 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -622,89 +622,6 @@ public class CardFactoryCreatures { card.addSpellAbility(spell); } - private static void getCard_MoltenHydra(final Card card, final String cardName) { - final Target target = new Target(card, "TgtCP"); - final Cost abCost = new Cost(card, "T", true); - class MoltenHydraAbility extends AbilityActivated { - public MoltenHydraAbility(final Card ca, final Cost co, final Target t) { - super(ca, co, t); - } - - @Override - public AbilityActivated getCopy() { - return new MoltenHydraAbility(getSourceCard(), - getPayCosts(), new Target(getTarget())); - } - - private static final long serialVersionUID = 2626619319289064289L; - - @Override - public boolean canPlay() { - return (card.getCounters(Counters.P1P1) > 0) && super.canPlay(); - } - - @Override - public boolean canPlayAI() { - return this.getCreature().size() != 0; - } - - @Override - public void chooseTargetAI() { - if (AllZone.getHumanPlayer().getLife() < card.getCounters(Counters.P1P1)) { - this.setTargetPlayer(AllZone.getHumanPlayer()); - } else { - final List list = this.getCreature(); - CardListUtil.shuffle(list); - this.setTargetCard(list.get(0)); - } - } // chooseTargetAI() - - List getCreature() { - List list = CardFactoryUtil.getHumanCreatureAI(this, true); - list = CardListUtil.filter(list, new Predicate() { - @Override - public boolean apply(final Card c) { - final int total = card.getCounters(Counters.P1P1); - return (total >= c.getKillDamage()); - } - }); - return list; - } // getCreature() - - @Override - public void resolve() { - final int total = card.getCounters(Counters.P1P1); - if (this.getTargetCard() != null) { - if (AllZoneUtil.isCardInPlay(this.getTargetCard()) - && this.getTargetCard().canBeTargetedBy(this)) { - this.getTargetCard().addDamage(total, card); - } - } else { - this.getTargetPlayer().addDamage(total, card); - } - card.subtractCounter(Counters.P1P1, total); - } // resolve() - - @Override - public String getDescription() { - final StringBuilder sbDesc = new StringBuilder(); - sbDesc.append(abCost).append("Remove all +1/+1 counters from "); - sbDesc.append(cardName).append(": ").append(cardName); - sbDesc.append(" deals damage to target creature or player equal to the "); - sbDesc.append("number of +1/+1 counters removed this way."); - return sbDesc.toString(); - } - } - final AbilityActivated ability2 = new MoltenHydraAbility(card, abCost, target); - - card.addSpellAbility(ability2); - - final StringBuilder sbStack = new StringBuilder(); - sbStack.append("Molten Hydra deals damage to number of +1/+1 "); - sbStack.append("counters on it to target creature or player."); - ability2.setStackDescription(sbStack.toString()); - } - private static void getCard_KinsbaileBorderguard(final Card card, final String cardName) { final SpellAbility ability = new Ability(card, "0") { @Override @@ -1405,8 +1322,6 @@ public class CardFactoryCreatures { getCard_MasterOfTheWildHunt(card, cardName); } else if (cardName.equals("Apocalypse Hydra")) { getCard_ApocalypseHydra(card, cardName); - } else if (cardName.equals("Molten Hydra")) { - getCard_MoltenHydra(card, cardName); } else if (cardName.equals("Kinsbaile Borderguard")) { getCard_KinsbaileBorderguard(card, cardName); } else if (cardName.equals("Gnarlid Pack") || cardName.equals("Apex Hawks") || cardName.equals("Enclave Elite")