diff --git a/res/cardsfolder/d/duct_crawler.txt b/res/cardsfolder/d/duct_crawler.txt index eafb15e634b..dfae84eaf1e 100644 --- a/res/cardsfolder/d/duct_crawler.txt +++ b/res/cardsfolder/d/duct_crawler.txt @@ -2,6 +2,11 @@ Name:Duct Crawler ManaCost:R Types:Creature Insect PT:1/1 +A:AB$ Pump | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature that can't block this creature this turn | IsCurse$ True | RememberObjects$ Targeted | SubAbility$ DBPump | StackDescription$ {c:Targeted} can't block CARDNAME this turn. | SpellDescription$ Target creature can't block CARDNAME this turn. +SVar:DBPump:DB$ Pump | KW$ HIDDEN CantBeBlockedBy Creature.IsRemembered | StackDescription$ None +T:Mode$ Phase | Phase$ Cleanup | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemAIDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/duct_crawler.jpg Oracle:{1}{R}: Target creature can't block Duct Crawler this turn. diff --git a/res/cardsfolder/s/screeching_griffin.txt b/res/cardsfolder/s/screeching_griffin.txt index 64fae6fc2ab..9916a1c4843 100644 --- a/res/cardsfolder/s/screeching_griffin.txt +++ b/res/cardsfolder/s/screeching_griffin.txt @@ -3,6 +3,11 @@ ManaCost:3 W Types:Creature Griffin PT:2/2 K:Flying +A:AB$ Pump | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature that can't block this creature this turn | IsCurse$ True | RememberObjects$ Targeted | SubAbility$ DBPump | StackDescription$ {c:Targeted} can't block CARDNAME this turn. | SpellDescription$ Target creature can't block CARDNAME this turn. +SVar:DBPump:DB$ Pump | KW$ HIDDEN CantBeBlockedBy Creature.IsRemembered | StackDescription$ None +T:Mode$ Phase | Phase$ Cleanup | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemAIDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/screeching_griffin.jpg Oracle:Flying\n{R}: Target creature can't block Screeching Griffin this turn. diff --git a/res/cardsfolder/s/shrewd_hatchling.txt b/res/cardsfolder/s/shrewd_hatchling.txt index d687f9fe3f6..2de4d013a60 100644 --- a/res/cardsfolder/s/shrewd_hatchling.txt +++ b/res/cardsfolder/s/shrewd_hatchling.txt @@ -3,6 +3,11 @@ ManaCost:3 UR Types:Creature Elemental PT:6/6 K:etbCounter:M1M1:4 +A:AB$ Pump | Cost$ UR | ValidTgts$ Creature | TgtPrompt$ Select target creature that can't block this creature this turn | IsCurse$ True | RememberObjects$ Targeted | SubAbility$ DBPump | StackDescription$ {c:Targeted} can't block CARDNAME this turn. | SpellDescription$ Target creature can't block CARDNAME this turn. +SVar:DBPump:DB$ Pump | KW$ HIDDEN CantBeBlockedBy Creature.IsRemembered | StackDescription$ None +T:Mode$ Phase | Phase$ Cleanup | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True T:Mode$ SpellCast | ValidCard$ Card.Red | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ Whenever you cast a red spell, remove a -1/-1 counter from CARDNAME. T:Mode$ SpellCast | ValidCard$ Card.Blue | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRemoveCounter | TriggerDescription$ Whenever you cast a blue spell, remove a -1/-1 counter from CARDNAME. SVar:TrigRemoveCounter:AB$ RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ M1M1 | CounterNum$ 1 diff --git a/res/cardsfolder/s/spin_engine.txt b/res/cardsfolder/s/spin_engine.txt index 680775e7c34..2bdbb53bc82 100644 --- a/res/cardsfolder/s/spin_engine.txt +++ b/res/cardsfolder/s/spin_engine.txt @@ -2,6 +2,11 @@ Name:Spin Engine ManaCost:3 Types:Artifact Creature Construct PT:3/1 +A:AB$ Pump | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature that can't block this creature this turn | IsCurse$ True | RememberObjects$ Targeted | SubAbility$ DBPump | StackDescription$ {c:Targeted} can't block CARDNAME this turn. | SpellDescription$ Target creature can't block CARDNAME this turn. +SVar:DBPump:DB$ Pump | KW$ HIDDEN CantBeBlockedBy Creature.IsRemembered | StackDescription$ None +T:Mode$ Phase | Phase$ Cleanup | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:RemAIDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/spin_engine.jpg Oracle:{R}: Target creature can't block Spin Engine this turn. diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index d395dda03d4..5e2ca066ba2 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -608,62 +608,6 @@ public class CardFactoryCreatures { card.addSpellAbility(discard); } - private static void getCard_DuctCrawler(final Card card, final String cardName) { - final String theCost; - if (cardName.equals("Duct Crawler")) { - theCost = "1 R"; - } else if (cardName.equals("Shrewd Hatchling")) { - theCost = "UR"; - } else { // if (cardName.equals("Spin Engine") || - // cardName.equals("Screeching Griffin")) { - theCost = "R"; - } - - class DuctCrawlerAbility extends AbilityActivated { - private static final long serialVersionUID = 7914250202245863157L; - - public DuctCrawlerAbility(final Card ca, final Cost co, Target t) { - super(ca, co, t); - } - - @Override - public AbilityActivated getCopy() { - return new DuctCrawlerAbility(getSourceCard(), - getPayCosts(), new Target(getTarget())); - } - - @Override - public void resolve() { - final StringBuilder keywordBuilder = new StringBuilder("HIDDEN CARDNAME can't block "); - keywordBuilder.append(this.getSourceCard().toString()); - - final StringBuilder abilityBuilder = new StringBuilder("AB$Pump | Cost$ "); - abilityBuilder.append(theCost); - abilityBuilder.append(" | ValidTgts$ Creature | TgtPrompt$ Select target creature | IsCurse$ True | KW$ "); - abilityBuilder.append(keywordBuilder.toString()); - abilityBuilder.append(" | SpellDescription$ Target creature can't block CARDNAME this turn."); - final SpellAbility myAb = AbilityFactory.getAbility(abilityBuilder.toString(), card); - - myAb.getTarget().setTargetChoices(this.getChosenTarget().getTargetChoices()); - myAb.resolve(); - } - - @Override - public String getStackDescription() { - return this.getSourceCard().toString() + " - Target creature can't block " - + this.getSourceCard().getName() + " this turn."; - } - - @Override - public String getDescription() { - return theCost + ": Target creature can't block CARDNAME this turn."; - } - } - final SpellAbility finalAb = new DuctCrawlerAbility(card, new Cost(card, theCost, true), new Target(card, - "Select target creature.", "Creature")); - - card.addSpellAbility(finalAb); - } // // This is a hardcoded card template // @@ -688,9 +632,6 @@ public class CardFactoryCreatures { getCard_PhyrexianDreadnought(card, cardName); } else if (cardName.equals("Nebuchadnezzar")) { getCard_Nebuchadnezzar(card, cardName); - } else if (cardName.equals("Duct Crawler") || cardName.equals("Shrewd Hatchling") - || cardName.equals("Spin Engine") || cardName.equals("Screeching Griffin")) { - getCard_DuctCrawler(card, cardName); } // ***************************************************