From fd3072da7025f4388da2e1d369a57129a743b207 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 17:01:04 +0000 Subject: [PATCH] add Inkmoth Nexus (from Mirrodin Besieged) --- .gitattributes | 1 + res/cardsfolder/inkmoth_nexus.txt | 8 ++++++ src/forge/CardFactory_Lands.java | 44 +++++++++++++++---------------- 3 files changed, 31 insertions(+), 22 deletions(-) create mode 100644 res/cardsfolder/inkmoth_nexus.txt diff --git a/.gitattributes b/.gitattributes index 1bb812c286c..0d4799d1a05 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2754,6 +2754,7 @@ res/cardsfolder/initiates_of_the_ebon_hand.txt -text svneol=native#text/plain res/cardsfolder/ink_dissolver.txt -text svneol=native#text/plain res/cardsfolder/inkfathom_divers.txt -text svneol=native#text/plain res/cardsfolder/inkfathom_infiltrator.txt -text svneol=native#text/plain +res/cardsfolder/inkmoth_nexus.txt -text svneol=native#text/plain res/cardsfolder/inkwell_leviathan.txt -text svneol=native#text/plain res/cardsfolder/inner_calm_outer_strength.txt -text svneol=native#text/plain res/cardsfolder/inner_chamber_guard.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/inkmoth_nexus.txt b/res/cardsfolder/inkmoth_nexus.txt new file mode 100644 index 00000000000..7b246e083d8 --- /dev/null +++ b/res/cardsfolder/inkmoth_nexus.txt @@ -0,0 +1,8 @@ +Name:Inkmoth Nexus +ManaCost:no cost +Types:Land +Text:no text +A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add 1 to your mana pool. +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/inkmoth_nexus.jpg +End \ No newline at end of file diff --git a/src/forge/CardFactory_Lands.java b/src/forge/CardFactory_Lands.java index 065f6b0a5ce..1fe30d7cc2f 100644 --- a/src/forge/CardFactory_Lands.java +++ b/src/forge/CardFactory_Lands.java @@ -2,6 +2,7 @@ package forge; import java.util.HashMap; +import java.util.ArrayList; import javax.swing.JOptionPane; @@ -447,11 +448,13 @@ class CardFactory_Lands { //*************** START *********** START ************************** - else if(cardName.equals("Blinkmoth Nexus")) { + else if(cardName.equals("Blinkmoth Nexus") || cardName.equals("Inkmoth Nexus")) { final long[] timeStamp = new long[1]; - final SpellAbility a1 = new Ability(card, "1") { - - @Override + Ability_Cost abCost = new Ability_Cost("1", cardName, true); + final SpellAbility a1 = new Ability_Activated(card, abCost, null) { + private static final long serialVersionUID = -8834858776517935070L; + + @Override public boolean canPlayAI() { return false; } @@ -459,18 +462,18 @@ class CardFactory_Lands { @Override public void resolve() { Card c = card; - String[] types = { "Artifact", "Creature", "Blinkmoth" }; - String[] keywords = { "Flying" }; - timeStamp[0] = CardFactoryUtil.activateManland(c, 1, 1, types, keywords, "0"); + final String[] types = { "Artifact", "Creature", "Blinkmoth" }; + final ArrayList keywords = new ArrayList(); + keywords.add("Flying"); + if(cardName.equals("Inkmoth Nexus")) keywords.add("Infect"); + final String[] kwArray = new String[keywords.size()]; + timeStamp[0] = CardFactoryUtil.activateManland(c, 1, 1, types, keywords.toArray(kwArray), "0"); final Command eot1 = new Command() { private static final long serialVersionUID = 3564161001279001235L; long stamp = timeStamp[0]; public void execute() { - Card c = card; - String[] types = { "Artifact", "Creature", "Blinkmoth" }; - String[] keywords = { "Flying" }; - CardFactoryUtil.revertManland(c, types, keywords, "", stamp); + CardFactoryUtil.revertManland(card, types, keywords.toArray(kwArray), "", stamp); } }; @@ -478,19 +481,16 @@ class CardFactory_Lands { } };//SpellAbility card.addSpellAbility(a1); - a1.setDescription("1: Blinkmoth Nexus becomes a 1/1 Blinkmoth artifact creature with flying until end of turn. It's still a land."); + StringBuilder sbDesc = new StringBuilder(); + sbDesc.append(abCost).append(cardName).append(" becomes a 1/1 Blinkmoth artifact creature with flying "); + if(cardName.equals("Inkmoth Nexus")) sbDesc.append("and infect "); + sbDesc.append("until end of turn. It's still a land."); + a1.setDescription(sbDesc.toString()); StringBuilder sb = new StringBuilder(); - sb.append(card).append(" becomes a 1/1 creature with flying until EOT"); + sb.append(card).append(" becomes a 1/1 creature with flying "); + if(cardName.equals("Inkmoth Nexus")) sb.append("and infect "); + sb.append("until EOT"); a1.setStackDescription(sb.toString()); - - Command paid1 = new Command() { - private static final long serialVersionUID = -5122292582368202498L; - - public void execute() { - AllZone.Stack.add(a1); - } - }; - a1.setBeforePayMana(new Input_PayManaCost_Ability(a1.getManaCost(), paid1)); }//*************** END ************ END **************************