From ec2ef270ce57cbe6b9a2d4b37c7d94d72636d4e4 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 13:28:56 +0000 Subject: [PATCH] - Added the keywords "Whenever CARDNAME deals combat damage to a creature, destroy that creature." and "Whenever CARDNAME deals combat damage to a creature, destroy that creature. It can't be regenerated.". - Added Dripping Dead and Stinkweed Imp. --- .gitattributes | 2 ++ res/cardsfolder/dripping_dead.txt | 10 ++++++++++ res/cardsfolder/furnace_brood.txt | 1 + res/cardsfolder/gravebind.txt | 1 + res/cardsfolder/orcish_healer.txt | 1 + res/cardsfolder/stinkweed_imp.txt | 11 +++++++++++ src/forge/GameActionUtil.java | 21 +++++++++++++++++++-- 7 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 res/cardsfolder/dripping_dead.txt create mode 100644 res/cardsfolder/stinkweed_imp.txt diff --git a/.gitattributes b/.gitattributes index 7ede99dc7a7..06656516926 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1321,6 +1321,7 @@ res/cardsfolder/drifter_il_dal.txt -text svneol=native#text/plain res/cardsfolder/drifting_djinn.txt -text svneol=native#text/plain res/cardsfolder/drifting_meadow.txt -text svneol=native#text/plain res/cardsfolder/drill_skimmer.txt -text svneol=native#text/plain +res/cardsfolder/dripping_dead.txt -text svneol=native#text/plain res/cardsfolder/dripping_tongue_zubera.txt -text svneol=native#text/plain res/cardsfolder/dromad_purebred.txt -text svneol=native#text/plain res/cardsfolder/dromars_attendant.txt -text svneol=native#text/plain @@ -4586,6 +4587,7 @@ res/cardsfolder/stifle.txt -text svneol=native#text/plain res/cardsfolder/stillmoon_cavalier.txt -text svneol=native#text/plain res/cardsfolder/stinging_barrier.txt -text svneol=native#text/plain res/cardsfolder/stinkdrinker_daredevil.txt -text svneol=native#text/plain +res/cardsfolder/stinkweed_imp.txt -text svneol=native#text/plain res/cardsfolder/stirring_wildwood.txt -text svneol=native#text/plain res/cardsfolder/stitch_together.txt -text svneol=native#text/plain res/cardsfolder/stoic_angel.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/dripping_dead.txt b/res/cardsfolder/dripping_dead.txt new file mode 100644 index 00000000000..d7ee5a74d80 --- /dev/null +++ b/res/cardsfolder/dripping_dead.txt @@ -0,0 +1,10 @@ +Name:Dripping Dead +ManaCost:4 B B +Types:Creature Zombie +Text:no text +PT:4/1 +K:CARDNAME can't block. +K:Whenever CARDNAME deals combat damage to a creature destroy that creature. It can't be regenerated. +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/dripping_dead.jpg +End \ No newline at end of file diff --git a/res/cardsfolder/furnace_brood.txt b/res/cardsfolder/furnace_brood.txt index d3c901c38f5..2bdc00c0dc0 100644 --- a/res/cardsfolder/furnace_brood.txt +++ b/res/cardsfolder/furnace_brood.txt @@ -4,6 +4,7 @@ Types:Creature Elemental Text:no text PT:3/3 A:AB$Pump | Cost$ R | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME can't be regenerated. | IsCurse$ True | SpellDescription$ Target creature can't be regenerated this turn. +SVar:RemAIDeck:True SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/furnace_brood.jpg End \ No newline at end of file diff --git a/res/cardsfolder/gravebind.txt b/res/cardsfolder/gravebind.txt index 5a9587ee2f1..ed8f3e1c115 100644 --- a/res/cardsfolder/gravebind.txt +++ b/res/cardsfolder/gravebind.txt @@ -4,6 +4,7 @@ Types:Instant Text:no text A:AB$Pump | Cost$ B | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME can't be regenerated. | IsCurse$ True | SpellDescription$ Target creature can't be regenerated this turn. K:Draw a card at the beginning of the next turn's upkeep. +SVar:RemAIDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/gravebind.jpg End \ No newline at end of file diff --git a/res/cardsfolder/orcish_healer.txt b/res/cardsfolder/orcish_healer.txt index cf72ef472e8..db52f22b012 100644 --- a/res/cardsfolder/orcish_healer.txt +++ b/res/cardsfolder/orcish_healer.txt @@ -6,6 +6,7 @@ PT:1/1 A:AB$Pump | Cost$ R R T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN CARDNAME can't be regenerated. | IsCurse$ True | SpellDescription$ Target creature can't be regenerated this turn. A:AB$Regenerate | Cost$ B B R T | ValidTgts$ Creature.Black,Creature.Green | TgtPrompt$ Select target black or green creature | SpellDescription$ Regenerate target black or green creature. A:AB$Regenerate | Cost$ R G G T | ValidTgts$ Creature.Black,Creature.Green | TgtPrompt$ Select target black or green creature | SpellDescription$ Regenerate target black or green creature. +SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/orcish_healer.jpg End \ No newline at end of file diff --git a/res/cardsfolder/stinkweed_imp.txt b/res/cardsfolder/stinkweed_imp.txt new file mode 100644 index 00000000000..a6893684727 --- /dev/null +++ b/res/cardsfolder/stinkweed_imp.txt @@ -0,0 +1,11 @@ +Name:Stinkweed Imp +ManaCost:2 B +Types:Creature Imp +Text:no text +PT:1/2 +K:Flying +K:Whenever CARDNAME deals combat damage to a creature, destroy that creature. +K:Dredge 5 +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/stinkweed_imp.jpg +End \ No newline at end of file diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index a10eeae5459..88b1083fcf9 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -5472,8 +5472,8 @@ public class GameActionUtil { AllZone.Stack.add(ability2); } - - if( source.hasKeyword("Whenever CARDNAME deals combat damage to a creature, destroy that creature at end of combat.")) { + + if( source.hasStartOfKeyword("Whenever CARDNAME deals combat damage to a creature, destroy that creature")) { final Card damagedCard = affected; final Ability ability = new Ability(source, "0") { @Override @@ -5483,6 +5483,23 @@ public class GameActionUtil { StringBuilder sb = new StringBuilder(); sb.append(source).append(" - destroy damaged creature."); ability.setStackDescription(sb.toString()); + + final Ability abilityWithoutRegen = new Ability(source, "0") { + @Override + public void resolve() { AllZone.GameAction.destroyNoRegeneration(damagedCard); } + }; + + sb = new StringBuilder(); + sb.append(source).append(" - destroy damaged creature. It can't be regenerated"); + abilityWithoutRegen.setStackDescription(sb.toString()); + + int amountWithoutRegeneration = source.getAmountOfKeyword("Whenever CARDNAME deals combat damage to a creature, destroy that creature. It can't be regenerated."); + int amountWithRegeneration = source.getAmountOfKeyword("Whenever CARDNAME deals combat damage to a creature, destroy that creature.") - amountWithoutRegeneration; + + for(int i=0 ; i < amountWithRegeneration ; i++) + AllZone.Stack.add(ability); + for(int i=0 ; i < amountWithoutRegeneration ; i++) + AllZone.Stack.add(abilityWithoutRegen); final Command atEOC = new Command() { private static final long serialVersionUID = 3789617910009764326L;