From b06c506953068848bcdd7be682a31f0c04e39c72 Mon Sep 17 00:00:00 2001 From: moomarc Date: Thu, 13 Sep 2012 10:17:40 +0000 Subject: [PATCH] - Fixed Cellar Door's stack description - Improved Coalition Relic so that you can choose a color for each counter removed --- res/cardsfolder/c/coalition_relic.txt | 12 ++++++++---- .../card/abilityfactory/AbilityFactoryRepeat.java | 5 ++++- .../abilityfactory/AbilityFactoryZoneAffecting.java | 5 +++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/res/cardsfolder/c/coalition_relic.txt b/res/cardsfolder/c/coalition_relic.txt index fe63b4d831e..2dd60e33d5c 100644 --- a/res/cardsfolder/c/coalition_relic.txt +++ b/res/cardsfolder/c/coalition_relic.txt @@ -4,10 +4,14 @@ Types:Artifact Text:no text A:AB$ Mana | Cost$ T | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color to your mana pool. A:AB$ PutCounter | Cost$ T | CounterType$ CHARGE | CounterNum$ 1 | SpellDescription$ Put a charge counter on CARDNAME. -T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigGetMana | TriggerDescription$ At the beginning of your precombat main phase, remove all charge counters from CARDNAME. Add one mana of any color to your mana pool for each charge counter removed this way. -SVar:TrigGetMana:AB$ Mana | Cost$ 0 | Produced$ Any | Amount$ X | References$ X | SubAbility$ TrigRemove | SpellDescription$ Add one mana of any color to your mana pool for each charge counter removed this way. -SVar:TrigRemove:DB$ RemoveCounter | Cost$ 0 | CounterType$ CHARGE | CounterNum$ X | References$ X -SVar:X:Count$CardCounters.CHARGE +T:Mode$ Phase | Phase$ Main1 | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigRepeat | TriggerDescription$ At the beginning of your precombat main phase, remove all charge counters from CARDNAME. Add one mana of any color to your mana pool for each charge counter removed this way. +SVar:TrigRepeat:AB$ Repeat | Cost$ 0 | RepeatSubAbility$ Clear | References$ X,Y | RepeatCheckSVar$ X | RepeatSVarCompare$ GE1 | StackDescription$ None | SubAbility$ DBCleanup | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 +SVar:Clear:DB$ Cleanup | ClearRemembered$ True | SubAbility$ TrigRemove +SVar:TrigRemove:DB$ RemoveCounter | CounterType$ CHARGE | CounterNum$ 1 | RememberRemoved$ True | SubAbility$ TrigGetMana | References$ Y | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1 +SVar:TrigGetMana:DB$ Mana | Produced$ Any | Amount$ 1 | References$ X | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Count$RememberedSize +SVar:Y:Count$CardCounters.CHARGE SVar:RemAIDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/coalition_relic.jpg diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java index b04fe2e7ada..77213610b82 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryRepeat.java @@ -332,7 +332,10 @@ public final class AbilityFactoryRepeat { sb.append(" "); if (params.containsKey("StackDescription")) { - sb.append(params.get("StackDescription")); + final String desc = params.get("StackDescription"); + if (!desc.equals("None")) { + sb.append(params.get("StackDescription")); + } } else { sb.append("Repeat something. Somebody should really write a better StackDescription!"); } diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java index a7ef4aff82a..466cad9a387 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java @@ -832,7 +832,8 @@ public class AbilityFactoryZoneAffecting { if (numCards != 1) { sb.append("s"); } - sb.append(" from the top of his or her library."); + final String millPosition = params.containsKey("FromBottom") ? "bottom" : "top"; + sb.append(" from the " + millPosition + " of his or her library."); } final AbilitySub abSub = sa.getSubAbility(); @@ -1622,7 +1623,7 @@ public class AbilityFactoryZoneAffecting { } // Don't use draw abilities before main 2 if possible - if (Singletons.getModel().getGameState().getPhaseHandler().getPhase().isBefore(PhaseType.MAIN2) + if (Singletons.getModel().getGameState().getPhaseHandler().getPhase().isBefore(PhaseType.MAIN2) && !params.containsKey("ActivationPhases")) { return false; }