From dd3310c4fa5ac07ee3b158b8bc0d34c4c0ecdac3 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 16:57:10 +0000 Subject: [PATCH] *Added Living Weapon keyword. *Added Flayer Husk Skinwing Strandwalker --- .gitattributes | 3 +++ res/cardsfolder/flayer_husk.txt | 9 ++++++++ res/cardsfolder/skinwing.txt | 9 ++++++++ res/cardsfolder/strandwalker.txt | 9 ++++++++ src/forge/CardFactory_Equipment.java | 33 ++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+) create mode 100644 res/cardsfolder/flayer_husk.txt create mode 100644 res/cardsfolder/skinwing.txt create mode 100644 res/cardsfolder/strandwalker.txt diff --git a/.gitattributes b/.gitattributes index 64701f794e3..35733e80e2a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1975,6 +1975,7 @@ res/cardsfolder/flash_flood.txt -text svneol=native#text/plain res/cardsfolder/flash_of_defiance.txt -text svneol=native#text/plain res/cardsfolder/flashfires.txt -text svneol=native#text/plain res/cardsfolder/flashfreeze.txt -text svneol=native#text/plain +res/cardsfolder/flayer_husk.txt -text svneol=native#text/plain res/cardsfolder/fledgling_djinn.txt -text svneol=native#text/plain res/cardsfolder/fledgling_griffin.txt -text svneol=native#text/plain res/cardsfolder/fledgling_imp.txt -text svneol=native#text/plain @@ -4952,6 +4953,7 @@ res/cardsfolder/skeletal_wurm.txt -text svneol=native#text/plain res/cardsfolder/skeleton_ship.txt -text svneol=native#text/plain res/cardsfolder/skinrender.txt -text svneol=native#text/plain res/cardsfolder/skinthinner.txt svneol=native#text/plain +res/cardsfolder/skinwing.txt -text svneol=native#text/plain res/cardsfolder/skirk_fire_marshal.txt -text svneol=native#text/plain res/cardsfolder/skirk_outrider.txt -text svneol=native#text/plain res/cardsfolder/skirk_prospector.txt -text svneol=native#text/plain @@ -5348,6 +5350,7 @@ res/cardsfolder/stormwatch_eagle.txt svneol=native#text/plain res/cardsfolder/strafe.txt -text svneol=native#text/plain res/cardsfolder/strands_of_night.txt -text svneol=native#text/plain res/cardsfolder/strands_of_undeath.txt svneol=native#text/plain +res/cardsfolder/strandwalker.txt -text svneol=native#text/plain res/cardsfolder/strangling_soot.txt -text svneol=native#text/plain res/cardsfolder/stratadon.txt -text svneol=native#text/plain res/cardsfolder/stratozeppelid.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/flayer_husk.txt b/res/cardsfolder/flayer_husk.txt new file mode 100644 index 00000000000..836df2cec11 --- /dev/null +++ b/res/cardsfolder/flayer_husk.txt @@ -0,0 +1,9 @@ +Name:Flayer Husk +ManaCost:1 +Types:Artifact Equipment +Text:no text +K:eqPump 2:+1/+1 +K:Living Weapon +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/flayer_husk.jpg +End \ No newline at end of file diff --git a/res/cardsfolder/skinwing.txt b/res/cardsfolder/skinwing.txt new file mode 100644 index 00000000000..a87867578e3 --- /dev/null +++ b/res/cardsfolder/skinwing.txt @@ -0,0 +1,9 @@ +Name:Skinwing +ManaCost:4 +Types:Artifact Equipment +Text:no text +K:eqPump 6:+2/+2/Flying +K:Living Weapon +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/skinwing.jpg +End \ No newline at end of file diff --git a/res/cardsfolder/strandwalker.txt b/res/cardsfolder/strandwalker.txt new file mode 100644 index 00000000000..538c33e836c --- /dev/null +++ b/res/cardsfolder/strandwalker.txt @@ -0,0 +1,9 @@ +Name:Strandwalker +ManaCost:5 +Types:Artifact Equipment +Text:no text +K:eqPump 4:+2/+4/Reach +K:Living Weapon +SVar:Rarity:Uncommon +SVar:Picture:http://www.wizards.com/global/images/magic/general/strandwalker.jpg +End \ No newline at end of file diff --git a/src/forge/CardFactory_Equipment.java b/src/forge/CardFactory_Equipment.java index 8081bb710b5..eb9eed7ed7f 100644 --- a/src/forge/CardFactory_Equipment.java +++ b/src/forge/CardFactory_Equipment.java @@ -829,8 +829,10 @@ class CardFactory_Equipment { { if (ptk[i].matches("[\\+\\-][0-9]")) ptk[i] =ptk[i].replace("+", ""); } + Power = Integer.parseInt(ptk[0].trim()); Tough = Integer.parseInt(ptk[1].trim()); + if (ptk.length > 2) // keywords in third cell keywordsUnsplit = ptk[2]; @@ -854,6 +856,37 @@ class CardFactory_Equipment { } }// eqPump (was VanillaEquipment) + if(card.hasKeyword("Living Weapon")) + { + card.removeIntrinsicKeyword("Living Weapon"); + final Ability etbAbility = new Ability(card,"0") + { + + @Override + public void resolve() { + String[] types = new String[] { "Creature" , "Germ" }; + String[] keywords = new String[0]; + CardList germs = CardFactoryUtil.makeToken("Germ", "B 0 0 Germ", card.getController(), "B", types, 1, 1, keywords); + + SpellAbility[] equipSA = card.getSpellAbility(); + SpellAbility specSA = equipSA[equipSA.length-1]; + specSA.setTargetCard(germs.get(0)); + specSA.resolve(); + for(Card c : germs) + { + c.setBaseAttack(0); + c.setBaseDefense(0); + } + } + + }; + + final Trigger etbTrigger = TriggerHandler.parseTrigger("Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigOverriding | TriggerDescription$ Living Weapon (When this Equipment enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)", card); + etbTrigger.setOverridingAbility(etbAbility); + + card.addTrigger(etbTrigger); + } + return card; } }