diff --git a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java index 61e71467d97..6974f3bedb9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java @@ -242,8 +242,8 @@ public class PumpEffect extends SpellAbilityEffect { if (sa.hasParam("KW")) { keywords.addAll(Arrays.asList(sa.getParam("KW").split(" & "))); } - final int a = AbilityUtils.calculateAmount(host, sa.getParam("NumAtt"), sa, true); - final int d = AbilityUtils.calculateAmount(host, sa.getParam("NumDef"), sa, true); + final int a = AbilityUtils.calculateAmount(host, sa.getParam("NumAtt"), sa, !sa.hasParam("Double")); + final int d = AbilityUtils.calculateAmount(host, sa.getParam("NumDef"), sa, !sa.hasParam("Double")); if (sa.hasParam("SharedKeywordsZone")) { List zones = ZoneType.listValueOf(sa.getParam("SharedKeywordsZone")); diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index dc8a17e7239..8a250aa9063 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1298,7 +1298,7 @@ public class CardFactoryUtil { sbHaunter.append("Mode$ ChangesZone | Origin$ "); sbHaunter.append(card.isCreature() ? "Battlefield" : "Stack | ResolvedCard$ True"); sbHaunter.append(" | Destination$ Graveyard | ValidCard$ Card.Self"); - sbHaunter.append(" | Secondary$ True | TriggerDescription$ " + inst.getReminderText()); + sbHaunter.append(" | Secondary$ True | TriggerDescription$ Haunt (").append(inst.getReminderText()).append(")"); final Trigger haunterDies = TriggerHandler.parseTrigger(sbHaunter.toString(), card, intrinsic); @@ -2198,7 +2198,6 @@ public class CardFactoryUtil { final String[] s = k[0].split(" "); if (s.length > 1) { valid = s[1].substring(0, 1).toUpperCase() + s[1].substring(1); - final StringBuilder d = new StringBuilder(); } String sacrificeStr = "DB$ Sacrifice | Defined$ You | Amount$ DevourSacX | SacValid$ " + valid + @@ -2385,6 +2384,7 @@ public class CardFactoryUtil { paySA.setAdditionalAbility("Execute", copySA); ReplacementEffect cardre = createETBReplacement(card, ReplacementLayer.Other, repeatSA, false, true, intrinsic, "Card.Self", ""); + inst.addReplacement(cardre); } else if (keyword.startsWith("Riot")) { final String choose = "DB$ GenericChoice | AILogic$ Riot | SpellDescription$ Riot"; @@ -3005,7 +3005,6 @@ public class CardFactoryUtil { final SpellAbility sa = AbilityFactory.getAbility(effect, card); sa.setIntrinsic(intrinsic); inst.addSpellAbility(sa); - } else if (keyword.startsWith("Morph")) { final String[] k = keyword.split(":"); diff --git a/forge-gui/res/cardsfolder/c/choose_your_weapon.txt b/forge-gui/res/cardsfolder/c/choose_your_weapon.txt index e3bc8937408..b094f521baa 100644 --- a/forge-gui/res/cardsfolder/c/choose_your_weapon.txt +++ b/forge-gui/res/cardsfolder/c/choose_your_weapon.txt @@ -2,7 +2,7 @@ Name:Choose Your Weapon ManaCost:2 G Types:Instant A:SP$ Charm | Cost$ 2 G | Choices$ DBPump,DBDamage -SVar:DBPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +Y | SpellDescription$ Two-Weapon Fighting — Double target creature's power and toughness until end of turn. +SVar:DBPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +Y | Double$ True | SpellDescription$ Two-Weapon Fighting — Double target creature's power and toughness until end of turn. SVar:X:Targeted$CardPower SVar:Y:Targeted$CardToughness SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | NumDmg$ 5 | SpellDescription$ Archery — This spell deals 5 damage to target creature with flying. diff --git a/forge-gui/res/cardsfolder/e/exponential_growth.txt b/forge-gui/res/cardsfolder/e/exponential_growth.txt index d9696369e1d..b8afe50967f 100644 --- a/forge-gui/res/cardsfolder/e/exponential_growth.txt +++ b/forge-gui/res/cardsfolder/e/exponential_growth.txt @@ -2,7 +2,7 @@ Name:Exponential Growth ManaCost:X X G G Types:Sorcery A:SP$ Repeat | Cost$ X X G G | ValidTgts$ Creature | TgtPrompt$ Select target creature | RepeatSubAbility$ DBPump | MaxRepeat$ X | StackDescription$ SpellDescription | SpellDescription$ Until end of turn, double target creature's power X times. -SVar:DBPump:DB$ Pump | Defined$ Targeted | NumAtt$ +Y | SpellDescription$ Double the power of target creature X times until end of turn. +SVar:DBPump:DB$ Pump | Defined$ Targeted | NumAtt$ +Y | Double$ True | SpellDescription$ Double the power of target creature X times until end of turn. SVar:X:Count$xPaid SVar:Y:Targeted$CardPower AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt b/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt index 37b917b02bb..611dfb99129 100644 --- a/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt +++ b/forge-gui/res/cardsfolder/g/god_eternal_rhonas.txt @@ -5,7 +5,7 @@ PT:5/5 K:Deathtouch T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDoublePower | TriggerDescription$ When CARDNAME enters the battlefield, double the power of each other creature you control until end of turn. Those creatures gain vigilance until end of turn. SVar:TrigDoublePower:DB$ RepeatEach | RepeatCards$ Creature.YouCtrl+Other | RepeatSubAbility$ DBPump | SubAbility$ DBPumpAll -SVar:DBPump:DB$ Pump | Defined$ Remembered | NumAtt$ X +SVar:DBPump:DB$ Pump | Defined$ Remembered | NumAtt$ X | Double$ True SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl+Other | KW$ Vigilance SVar:X:Remembered$CardPower T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard,Exile | ValidCard$ Card.Self | Execute$ TriReturn | OptionalDecider$ You | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies or is put into exile from the battlefield, you may put it into its owner's library third from the top. diff --git a/forge-gui/res/cardsfolder/g/grunn_the_lonely_king.txt b/forge-gui/res/cardsfolder/g/grunn_the_lonely_king.txt index 6cfa39b12c0..d54f46133bc 100644 --- a/forge-gui/res/cardsfolder/g/grunn_the_lonely_king.txt +++ b/forge-gui/res/cardsfolder/g/grunn_the_lonely_king.txt @@ -6,7 +6,7 @@ K:Kicker:3 K:etbCounter:P1P1:5:CheckSVar$ WasKicked:If CARDNAME was kicked, it enters the battlefield with five +1/+1 counters on it. SVar:WasKicked:Count$Kicked.1.0 T:Mode$ Attacks | ValidCard$ Card.Self | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks alone, double its power and toughness until end of turn. -SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +Y +SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +Y | Double$ True SVar:X:Count$CardPower SVar:Y:Count$CardToughness DeckHas:Ability$Counters diff --git a/forge-gui/res/cardsfolder/n/neyith_of_the_dire_hunt.txt b/forge-gui/res/cardsfolder/n/neyith_of_the_dire_hunt.txt index d7107082d80..ad8a301ff41 100644 --- a/forge-gui/res/cardsfolder/n/neyith_of_the_dire_hunt.txt +++ b/forge-gui/res/cardsfolder/n/neyith_of_the_dire_hunt.txt @@ -6,6 +6,6 @@ T:Mode$ FightOnce | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Ex T:Mode$ AttackerBlockedOnce | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDraw | Secondary$ True | TriggerDescription$ Whenever one or more creatures you control fight or become blocked, draw a card. SVar:TrigDraw:DB$ Draw | NumCards$ 1 T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, you may pay {2}{R/G}. If you do, double target creature's power until end of turn. That creature must be blocked this combat if able. -SVar:TrigPump:AB$ Pump | Cost$ 2 RG | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | KW$ HIDDEN CARDNAME must be blocked if able. +SVar:TrigPump:AB$ Pump | Cost$ 2 RG | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | Double$ True | KW$ HIDDEN CARDNAME must be blocked if able. SVar:X:Targeted$CardPower Oracle:Whenever one or more creatures you control fight or become blocked, draw a card.\nAt the beginning of combat on your turn, you may pay {2}{R/G}. If you do, double target creature's power until end of turn. That creature must be blocked this combat if able. ({R/G} can be paid with either {R} or {G}.) diff --git a/forge-gui/res/cardsfolder/n/nyleas_colossus.txt b/forge-gui/res/cardsfolder/n/nyleas_colossus.txt index 9a831b12528..7bd094a5bcc 100644 --- a/forge-gui/res/cardsfolder/n/nyleas_colossus.txt +++ b/forge-gui/res/cardsfolder/n/nyleas_colossus.txt @@ -3,8 +3,7 @@ ManaCost:6 G Types:Enchantment Creature Giant PT:6/6 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Enchantment.Other+YouCtrl | Execute$ TrigPump | TriggerDescription$ Constellation Whenever CARDNAME or another enchantment enters the battlefield under your control, double target creature's power and toughness until end of turn. -SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +Y | RememberTargets$ True | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:X:Remembered$CardPower -SVar:Y:Remembered$CardToughness +SVar:TrigPump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | NumDef$ +Y | Double$ True +SVar:X:Targeted$CardPower +SVar:Y:Targeted$CardToughness Oracle:Constellation — Whenever Nylea's Colossus or another enchantment enters the battlefield under your control, double target creature's power and toughness until end of turn. diff --git a/forge-gui/res/cardsfolder/o/okaun_eye_of_chaos.txt b/forge-gui/res/cardsfolder/o/okaun_eye_of_chaos.txt index 240d2e2463d..79cd6616f3f 100644 --- a/forge-gui/res/cardsfolder/o/okaun_eye_of_chaos.txt +++ b/forge-gui/res/cardsfolder/o/okaun_eye_of_chaos.txt @@ -6,7 +6,7 @@ K:Partner:Zndrsplt, Eye of Wisdom:Zndrsplt T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigFlip | TriggerDescription$ At the beginning of combat on your turn, flip a coin until you lose a flip. SVar:TrigFlip:DB$ FlipACoin | FlipUntilYouLose$ True T:Mode$ FlippedCoin | ValidResult$ Win | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a player wins a coin flip, double CARDNAME's power and toughness until end of turn. -SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +Y +SVar:TrigPump:DB$ Pump | Defined$ Self | NumAtt$ +X | NumDef$ +Y | Double$ True SVar:X:Count$CardPower SVar:Y:Count$CardToughness SVar:Picture:http://www.wizards.com/global/images/magic/general/okaun_eye_of_chaos.jpg diff --git a/forge-gui/res/cardsfolder/r/reckless_amplimancer.txt b/forge-gui/res/cardsfolder/r/reckless_amplimancer.txt index 36c5d843013..5a9f1b06207 100644 --- a/forge-gui/res/cardsfolder/r/reckless_amplimancer.txt +++ b/forge-gui/res/cardsfolder/r/reckless_amplimancer.txt @@ -2,7 +2,7 @@ Name:Reckless Amplimancer ManaCost:1 G Types:Creature Elf Druid PT:2/2 -A:AB$ Pump | Cost$ 4 G | NumAtt$ +X | NumDef$ +Y | SpellDescription$ Double CARDNAME's power and toughness until end of turn. +A:AB$ Pump | Cost$ 4 G | NumAtt$ +X | NumDef$ +Y | Double$ True | SpellDescription$ Double CARDNAME's power and toughness until end of turn. SVar:X:Count$CardPower SVar:Y:Count$CardToughness Oracle:{4}{G}: Double Reckless Amplimancer's power and toughness until end of turn. diff --git a/forge-gui/res/cardsfolder/t/targ_nar_demon_fang_gnoll.txt b/forge-gui/res/cardsfolder/t/targ_nar_demon_fang_gnoll.txt index a894c0264c1..8b3f2eca626 100644 --- a/forge-gui/res/cardsfolder/t/targ_nar_demon_fang_gnoll.txt +++ b/forge-gui/res/cardsfolder/t/targ_nar_demon_fang_gnoll.txt @@ -3,7 +3,7 @@ ManaCost:R G Types:Legendary Creature Gnoll PT:2/2 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPumpAll | TriggerZones$ Battlefield | CheckSVar$ PackTactics | SVarCompare$ GE6 | NoResolvingCheck$ True | TriggerDescription$ Pack tactics — Whenever CARDNAME attacks, if you attacked with creatures with total power 6 or greater this combat, attacking creatures get +1/+0 until end of turn. -A:AB$ Pump | Cost$ 2 R G | NumAtt$ +X | NumDef$ +Y | SpellDescription$ Double CARDNAME's power and toughness until end of turn. +A:AB$ Pump | Cost$ 2 R G | NumAtt$ +X | NumDef$ +Y | Double$ True | SpellDescription$ Double CARDNAME's power and toughness until end of turn. SVar:TrigPumpAll:DB$ PumpAll | ValidCards$ Creature.attacking | NumAtt$ 1 SVar:X:Count$CardPower SVar:Y:Count$CardToughness diff --git a/forge-gui/res/cardsfolder/u/unleash_fury.txt b/forge-gui/res/cardsfolder/u/unleash_fury.txt index fb7e0155eee..34dd5fcab2f 100644 --- a/forge-gui/res/cardsfolder/u/unleash_fury.txt +++ b/forge-gui/res/cardsfolder/u/unleash_fury.txt @@ -1,6 +1,6 @@ Name:Unleash Fury ManaCost:1 R Types:Instant -A:SP$ Pump | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | SpellDescription$ Double the power of target creature until end of turn. +A:SP$ Pump | Cost$ 1 R | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +X | Double$ True | SpellDescription$ Double the power of target creature until end of turn. SVar:X:Targeted$CardPower Oracle:Double the power of target creature until end of turn. diff --git a/forge-gui/res/cardsfolder/u/unnatural_growth.txt b/forge-gui/res/cardsfolder/u/unnatural_growth.txt index 12af8ba8c15..d6d0f7a0a51 100644 --- a/forge-gui/res/cardsfolder/u/unnatural_growth.txt +++ b/forge-gui/res/cardsfolder/u/unnatural_growth.txt @@ -3,7 +3,7 @@ ManaCost:1 G G G G Types:Enchantment T:Mode$ Phase | Phase$ BeginCombat | TriggerZones$ Battlefield | Execute$ TrigDouble | TriggerDescription$ At the beginning of each combat, double the power and toughness of each creature you control until end of turn. SVar:TrigDouble:DB$ RepeatEach | RepeatCards$ Creature.YouCtrl | RepeatSubAbility$ DBDouble -SVar:DBDouble:DB$ Pump | Defined$ Remembered | NumAtt$ X | NumDef$ Y +SVar:DBDouble:DB$ Pump | Defined$ Remembered | NumAtt$ X | NumDef$ Y | Double$ True SVar:X:Remembered$CardPower SVar:Y:Remembered$CardToughness SVar:PlayMain1:TRUE