From c3d90f185a65622240b836ebb85878956ad0b549 Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 24 May 2013 21:19:55 +0000 Subject: [PATCH] - Added Caged Sun. --- .gitattributes | 1 + res/cardsfolder/c/caged_sun.txt | 11 +++++++++++ .../forge/card/trigger/TriggerTapsForMana.java | 18 ++++++++++++++---- 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 res/cardsfolder/c/caged_sun.txt diff --git a/.gitattributes b/.gitattributes index 97d6fe8bb30..2a39fcf7da1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1452,6 +1452,7 @@ res/cardsfolder/c/cadaver_imp.txt svneol=native#text/plain res/cardsfolder/c/cadaverous_bloom.txt svneol=native#text/plain res/cardsfolder/c/cadaverous_knight.txt svneol=native#text/plain res/cardsfolder/c/cage_of_hands.txt svneol=native#text/plain +res/cardsfolder/c/caged_sun.txt -text res/cardsfolder/c/cagemail.txt svneol=native#text/plain res/cardsfolder/c/cairn_wanderer.txt -text res/cardsfolder/c/calciderm.txt svneol=native#text/plain diff --git a/res/cardsfolder/c/caged_sun.txt b/res/cardsfolder/c/caged_sun.txt new file mode 100644 index 00000000000..f821986d927 --- /dev/null +++ b/res/cardsfolder/c/caged_sun.txt @@ -0,0 +1,11 @@ +Name:Caged Sun +ManaCost:6 +Types:Artifact +K:ETBReplacement:Other:ChooseColor +SVar:ChooseColor:DB$ ChooseColor | Defined$ You | AILogic$ MostProminentInComputerDeck | SpellDescription$ As CARDNAME enters the battlefield, choose a color. +S:Mode$ Continuous | Affected$ Creature.ChosenColor+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Creatures you control of the chosen color get +1/+1. +T:Mode$ TapsForMana | ValidCard$ Land | Produced$ ChosenColor | NoTapCheck$ True | Player$ You | Execute$ TrigMana | TriggerZones$ Battlefield | Static$ True | TriggerDescription$ Whenever a land's ability adds one or more mana of the chosen color to your mana pool, add one additional mana of that color to your mana pool. +SVar:TrigMana:AB$ Mana | Cost$ 0 | Produced$ Chosen | Amount$ 1 | Defined$ TriggeredPlayer +SVar:Picture:http://www.wizards.com/global/images/magic/general/gauntlet_of_power.jpg +Oracle:As Gauntlet of Power enters the battlefield, choose a color.\nCreatures of the chosen color get +1/+1.\nWhenever a basic land is tapped for mana of the chosen color, its controller adds one mana of that color to his or her mana pool . (in addition to the mana the land produces) +SetInfo:NPH Rare \ No newline at end of file diff --git a/src/main/java/forge/card/trigger/TriggerTapsForMana.java b/src/main/java/forge/card/trigger/TriggerTapsForMana.java index bd59455395f..6b134682ae4 100644 --- a/src/main/java/forge/card/trigger/TriggerTapsForMana.java +++ b/src/main/java/forge/card/trigger/TriggerTapsForMana.java @@ -22,6 +22,7 @@ import java.util.List; import forge.Card; import forge.card.MagicColor; import forge.card.spellability.SpellAbility; +import forge.game.player.Player; /** *

@@ -52,21 +53,30 @@ public class TriggerTapsForMana extends Trigger { /** {@inheritDoc} */ @Override public final boolean performTest(final java.util.Map runParams2) { - final Card tapper = (Card) runParams2.get("Card"); - final SpellAbility manaAbility = (SpellAbility) runParams2.get("AbilityMana"); //Check for tapping - if (manaAbility == null || manaAbility.getPayCosts() == null || !manaAbility.getPayCosts().hasTapCost()) { - return false; + if (!mapParams.containsKey("NoTapCheck")) { + final SpellAbility manaAbility = (SpellAbility) runParams2.get("AbilityMana"); + if (manaAbility == null || manaAbility.getPayCosts() == null || !manaAbility.getPayCosts().hasTapCost()) { + return false; + } } if (this.mapParams.containsKey("ValidCard")) { + final Card tapper = (Card) runParams2.get("Card"); if (!tapper.isValid(this.mapParams.get("ValidCard").split(","), this.getHostCard().getController(), this.getHostCard())) { return false; } } + if (this.mapParams.containsKey("Player")) { + final Player player = (Player) runParams2.get("Player"); + if (!player.isValid(this.mapParams.get("Player").split(","), this.getHostCard().getController(), this.getHostCard())) { + return false; + } + } + if (this.mapParams.containsKey("Produced")) { Object prod = runParams2.get("Produced"); if (prod == null || !(prod instanceof String)) {