From 6957e58de57c933e93bb79d2f4e990399b1303b8 Mon Sep 17 00:00:00 2001 From: moomarc Date: Thu, 28 Feb 2013 10:38:53 +0000 Subject: [PATCH] - Added Thought Devourer --- .gitattributes | 1 + res/cardsfolder/t/thought_gorger.txt | 17 +++++++++++++ .../card/cardfactory/CardFactoryUtil.java | 24 +++++++++++++++---- 3 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 res/cardsfolder/t/thought_gorger.txt diff --git a/.gitattributes b/.gitattributes index 3227883287d..0a369eb179e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10816,6 +10816,7 @@ res/cardsfolder/t/thornwind_faeries.txt svneol=native#text/plain res/cardsfolder/t/thought_courier.txt svneol=native#text/plain res/cardsfolder/t/thought_devourer.txt svneol=native#text/plain res/cardsfolder/t/thought_eater.txt svneol=native#text/plain +res/cardsfolder/t/thought_gorger.txt -text res/cardsfolder/t/thought_hemorrhage.txt -text svneol=unset#text/plain res/cardsfolder/t/thought_nibbler.txt svneol=native#text/plain res/cardsfolder/t/thought_prison.txt -text svneol=unset#text/plain diff --git a/res/cardsfolder/t/thought_gorger.txt b/res/cardsfolder/t/thought_gorger.txt new file mode 100644 index 00000000000..ba723968ce5 --- /dev/null +++ b/res/cardsfolder/t/thought_gorger.txt @@ -0,0 +1,17 @@ +Name:Thought Gorger +ManaCost:2 B B +Types:Creature Horror +PT:2/2 +K:Trample +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ EatMyThoughts | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME enters the battlefield, put a +1/+1 counter on it for each card in your hand. If you do, discard your hand. +SVar:EatMyThoughts:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterNum$ OldThoughts | CounterType$ P1P1 | References$ OldThoughts | RememberCounters$ True | SubAbility$ GorgeOnThoughts +SVar:GorgeOnThoughts:DB$ Discard | Mode$ Hand | Defined$ You | ConditionDescription$ If you do, | ConditionCheckSVar$ StrengthOfThoughts | ConditionSVarCompare$ GE1 +SVar:OldThoughts:Count$InYourHand +SVar:StrengthOfThoughts:Count$CountersAdded P1P1 Card.Self +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ BringBackThoughts | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, draw a card for each +1/+1 counter on it. +SVar:BringBackThoughts:AB$ Draw | Cost$ 0 | NumCards$ Disgorge | References$ Disgorge | Defined$ TriggeredCardController +SVar:Disgorge:TriggeredCard$CardCounters.P1P1 +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/thought_gorger.jpg +SetInfo:ROE|Rare|http://magiccards.info/scans/en/roe/129.jpg +Oracle:Trample\nWhen Thought Gorger enters the battlefield, put a +1/+1 counter on it for each card in your hand. If you do, discard your hand.\nWhen Thought Gorger leaves the battlefield, draw a card for each +1/+1 counter on it. diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 829ea427b37..2a572f830b5 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -1430,7 +1430,7 @@ public class CardFactoryUtil { } return highest; } - + if (l[0].startsWith("DifferentCardNamesRemembered")) { final List list = new ArrayList(); final List crdname = new ArrayList(); @@ -1448,11 +1448,27 @@ public class CardFactoryUtil { } return crdname.size(); } - + if (l[0].startsWith("RememberedSize")) { return CardFactoryUtil.doXMath(c.getRemembered().size(), m, c); } - + + // Count$CountersAdded + if (l[0].startsWith("CountersAdded")) { + final String[] components = l[0].split(" ", 3); + final CounterType counterType = CounterType.valueOf(components[1]); + String restrictions = components[2]; + final String[] rest = restrictions.split(","); + List candidates = Singletons.getModel().getGame().getCardsInGame(); + candidates = CardLists.getValidCards(candidates, rest, cardController, c); + + int added = 0; + for (final Card counterSource : candidates) { + added += c.getCountersAddedBy(counterSource, counterType); + } + return CardFactoryUtil.doXMath(added, m, c); + } + if (l[0].startsWith("RolledThisTurn")) { return Singletons.getModel().getGame().getPhaseHandler().getPlanarDiceRolledthisTurn(); } @@ -1674,8 +1690,6 @@ public class CardFactoryUtil { CardFactoryUtil.getNumberOfManaSymbolsControlledByColor(sq[1], cardController), m, c); } } - - // Count$Hellbent.. if (sq[0].contains("Hellbent")) {