From 1d36706205a5fc604528f72c071fbceb8acfef6d Mon Sep 17 00:00:00 2001 From: jendave Date: Sun, 7 Aug 2011 01:29:00 +0000 Subject: [PATCH] - Added targeting and Defined parameters to AF Mana. - Added Vernal Bloom. --- .gitattributes | 1 + res/cardsfolder/vernal_bloom.txt | 10 ++++++++++ res/cardsfolder/winters_night.txt | 3 ++- .../card/abilityFactory/AbilityFactory_Mana.java | 13 +++++++++++-- src/forge/card/mana/ManaPool.java | 7 ++++++- 5 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 res/cardsfolder/vernal_bloom.txt diff --git a/.gitattributes b/.gitattributes index 3f257cfad22..7c4a2a961ed 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7767,6 +7767,7 @@ res/cardsfolder/verdigris.txt -text svneol=native#text/plain res/cardsfolder/verduran_emissary.txt -text svneol=native#text/plain res/cardsfolder/verduran_enchantress.txt -text svneol=native#text/plain res/cardsfolder/vermiculos.txt -text svneol=native#text/plain +res/cardsfolder/vernal_bloom.txt -text svneol=native#text/plain res/cardsfolder/vernal_equinox.txt svneol=native#text/plain res/cardsfolder/vertigo_spawn.txt svneol=native#text/plain res/cardsfolder/vesper_ghoul.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/vernal_bloom.txt b/res/cardsfolder/vernal_bloom.txt new file mode 100644 index 00000000000..f9c12182daf --- /dev/null +++ b/res/cardsfolder/vernal_bloom.txt @@ -0,0 +1,10 @@ +Name:Vernal Bloom +ManaCost:3 G +Types:World Enchantment +Text:no text +T:Mode$ TapsForMana | ValidCard$ Forest | Execute$ TrigMana | TriggerDescription$ Whenever a Forest is tapped for mana, its controller adds G to his or her mana pool (in addition to the mana the land produces). +SVar:TrigMana:AB$Mana | Cost$ 0 | Produced$ G | Amount$ 1 | Defined$ TriggeredPlayer +SVar:RemAIDeck:True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/vernal_bloom.jpg +End \ No newline at end of file diff --git a/res/cardsfolder/winters_night.txt b/res/cardsfolder/winters_night.txt index 09f1374fcac..ce43c80e4cb 100644 --- a/res/cardsfolder/winters_night.txt +++ b/res/cardsfolder/winters_night.txt @@ -2,10 +2,11 @@ Name:Winter's Night ManaCost:R G W Types:World Enchantment Text:no text -T:Mode$ Taps | ValidCard$ Land.Snow | Execute$ TrigMana | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player taps a snow land for mana, that player adds one mana to his or her mana pool of any type that land produced. That land doesn't untap during its controller's next untap step. +T:Mode$ TapsForMana | ValidCard$ Land.Snow | Execute$ TrigMana | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player taps a snow land for mana, that player adds one mana to his or her mana pool of any type that land produced. That land doesn't untap during its controller's next untap step. SVar:TrigMana:AB$ManaReflected | Cost$ 0 | ColorOrType$ Type | Valid$ Card.IsTriggeredCard | ReflectProperty$ Produce | SubAbility$ SVar=DBPump SVar:DBPump:DB$Pump | Defined$ TriggeredCard | Permanent$ True | KW$ HIDDEN This card doesn't untap during your next untap step. SVar:RemAIDeck:True +SVar:RemRandomDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/winters_night.jpg SetInfo:ALL|Rare|http://magiccards.info/scans/en/ai/199.jpg diff --git a/src/forge/card/abilityFactory/AbilityFactory_Mana.java b/src/forge/card/abilityFactory/AbilityFactory_Mana.java index e9906ee1f23..635b118a359 100644 --- a/src/forge/card/abilityFactory/AbilityFactory_Mana.java +++ b/src/forge/card/abilityFactory/AbilityFactory_Mana.java @@ -15,6 +15,7 @@ import forge.card.spellability.Ability_Sub; import forge.card.spellability.Cost; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; +import forge.card.spellability.Target; import forge.gui.GuiUtils; import forge.gui.input.Input_PayManaCostUtil; @@ -116,7 +117,6 @@ public class AbilityFactory_Mana { @Override public boolean chkAI_Drawback() { - // TODO: AI shouldn't use this until he has a mana pool return true; } @@ -158,7 +158,16 @@ public class AbilityFactory_Mana { HashMap params = af.getMapParams(); Card card = af.getHostCard(); - abMana.produceMana(generatedMana(abMana, af, sa), sa.getActivatingPlayer()); + ArrayList tgtPlayers; + + Target tgt = af.getAbTgt(); + if (tgt != null) + tgtPlayers = tgt.getTargetPlayers(); + else + tgtPlayers = AbilityFactory.getDefinedPlayers(sa.getSourceCard(), params.get("Defined"), sa); + + for(Player player : tgtPlayers) + abMana.produceMana(generatedMana(abMana, af, sa), player); // convert these to SubAbilities when appropriate if (params.containsKey("Stuck")){ diff --git a/src/forge/card/mana/ManaPool.java b/src/forge/card/mana/ManaPool.java index 3146b8614f7..6bdc43584f6 100644 --- a/src/forge/card/mana/ManaPool.java +++ b/src/forge/card/mana/ManaPool.java @@ -321,7 +321,12 @@ public class ManaPool extends Card { return choice; } - Object o = GuiUtils.getChoiceOptional("Pay Mana from Mana Pool", alChoice.toArray()); + Object o; + + if (owner.isHuman()) + o = GuiUtils.getChoiceOptional("Pay Mana from Mana Pool", alChoice.toArray()); + else o = alChoice.get(0); //owner is computer + if (o != null){ String ch = o.toString(); boolean grabSnow = ch.startsWith("{S}");