From dcfa567bb8cad49f043d1fb796a1b185e6b48f6e Mon Sep 17 00:00:00 2001 From: ArsenalNut Date: Sun, 23 Dec 2012 03:56:44 +0000 Subject: [PATCH] Read card text more carefully. Reverted changes to FlipCoinEffect.java and flipACoin method. Adjusted Fiery Gambit script. --- res/cardsfolder/f/fiery_gambit.txt | 22 +++++++++--------- src/main/java/forge/GameActionUtil.java | 23 ++++--------------- .../effects/FlipCoinEffect.java | 8 +------ 3 files changed, 16 insertions(+), 37 deletions(-) diff --git a/res/cardsfolder/f/fiery_gambit.txt b/res/cardsfolder/f/fiery_gambit.txt index 6543f10f3dd..2c379447ddb 100644 --- a/res/cardsfolder/f/fiery_gambit.txt +++ b/res/cardsfolder/f/fiery_gambit.txt @@ -5,21 +5,21 @@ Text:no text # Target a creature for three damage A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature | TgtPrompt$ Choose target creature for 3 damage | SubAbility$ RepeatFlip | StackDescription$ None | SpellDescription$ Flip a coin until you lose a flip or choose to stop flipping. If you lose a flip, CARDNAME has no effect. If you win one or more flips, CARDNAME deals 3 damage to target creature. If you win two or more flips, CARDNAME deals 6 damage to each opponent. If you win three or more flips, draw nine cards and untap all lands you control. # Repeat Flip -SVar:RepeatFlip:DB$ Repeat | RepeatSubAbility$ FlipAgain | RepeatCheckSVar$ Tails | RepeatSVarCompare$ EQ0 | RepeatOptional$ True | SubAbility$ DamageCreature -SVar:FlipAgain:DB$ FlipACoin | FlipOnly$ True | WinSubAbility$ IncrementHeads | LoseSubAbility$ IncrementTails -SVar:IncrementHeads:DB$ StoreSVar | SVar$ Heads | Type$ CountSVar | Expression$ Heads/Plus.1 -SVar:IncrementTails:DB$ StoreSVar | SVar$ Tails | Type$ CountSVar | Expression$ Tails/Plus.1 | SubAbility$ ResetHeads -SVar:ResetHeads:DB$ StoreSVar | SVar$ Heads | Type$ Number | Expression$ 0 +SVar:RepeatFlip:DB$ Repeat | RepeatSubAbility$ FlipAgain | RepeatCheckSVar$ Loss | RepeatSVarCompare$ EQ0 | RepeatOptional$ True | SubAbility$ DamageCreature +SVar:FlipAgain:DB$ FlipACoin | FlipOnly$ True | WinSubAbility$ IncrementWins | LoseSubAbility$ IncrementLoss +SVar:IncrementWins:DB$ StoreSVar | SVar$ Wins | Type$ CountSVar | Expression$ Wins/Plus.1 +SVar:IncrementLoss:DB$ StoreSVar | SVar$ Loss | Type$ CountSVar | Expression$ Loss/Plus.1 | SubAbility$ ResetWins +SVar:ResetWins:DB$ StoreSVar | SVar$ Wins | Type$ Number | Expression$ 0 # Damage target creature -SVar:DamageCreature:DB$ DealDamage | Defined$ Targeted | NumDmg$ 3 | ConditionCheckSVar$ Heads | ConditionSVarCompare$ GE1 | SubAbility$ DamageOpponents +SVar:DamageCreature:DB$ DealDamage | Defined$ Targeted | NumDmg$ 3 | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE1 | SubAbility$ DamageOpponents # Damage each opponent -SVar:DamageOpponents:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 6 | ConditionCheckSVar$ Heads | ConditionSVarCompare$ GE2 | SubAbility$ DrawNine +SVar:DamageOpponents:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 6 | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE2 | SubAbility$ DrawNine # Draw Nine Cards -SVar:DrawNine:DB$ Draw | Defined$ You | NumCards$ 9 | ConditionCheckSVar$ Heads | ConditionSVarCompare$ GE3 | SubAbility$ UntapLands +SVar:DrawNine:DB$ Draw | Defined$ You | NumCards$ 9 | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE3 | SubAbility$ UntapLands # Untap Lands -SVar:UntapLands:DB$ UntapAll | ValidCards$ Land.YouCtrl | ConditionCheckSVar$ Heads | ConditionSVarCompare$ GE3 -SVar:Heads:Number$0 -SVar:Tails:Number$0 +SVar:UntapLands:DB$ UntapAll | ValidCards$ Land.YouCtrl | ConditionCheckSVar$ Wins | ConditionSVarCompare$ GE3 +SVar:Wins:Number$0 +SVar:Loss:Number$0 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/fiery_gambit.jpg SetInfo:MRD|Rare|http://magiccards.info/scans/en/mi/90.jpg diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java index 0a30eca2c31..b2e2a248132 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/GameActionUtil.java @@ -664,35 +664,20 @@ public final class GameActionUtil { final String[] choices = { "heads", "tails" }; final boolean flip = MyRandom.getRandom().nextBoolean(); - if (null == caller) { - choice = "heads"; - } - else if (caller.isHuman()) { + if (caller.isHuman()) { choice = GuiChoose.one(source.getName() + " - Call coin flip", choices); } else { choice = choices[MyRandom.getRandom().nextInt(2)]; } final boolean winFlip = flip == choice.equals("heads"); - String winMsg = ""; - if (null == caller) { - winMsg = flip ? "heads." : "tails."; - } - else { - winMsg = winFlip ? " wins flip." : " loses flip."; - } + final String winMsg = winFlip ? " wins flip." : " loses flip."; // Play the Flip A Coin sound Singletons.getModel().getGame().getEvents().post(new FlipCoinEvent()); - if (null == caller) { - JOptionPane.showMessageDialog(null, source.getName() + " - Coin flip was " + winMsg, source.getName(), - JOptionPane.PLAIN_MESSAGE); - } - else { - JOptionPane.showMessageDialog(null, source.getName() + " - " + caller + winMsg, source.getName(), - JOptionPane.PLAIN_MESSAGE); - } + JOptionPane.showMessageDialog(null, source.getName() + " - " + caller + winMsg, source.getName(), + JOptionPane.PLAIN_MESSAGE); return winFlip; } diff --git a/src/main/java/forge/card/abilityfactory/effects/FlipCoinEffect.java b/src/main/java/forge/card/abilityfactory/effects/FlipCoinEffect.java index 9b1ea0049fd..8d757b0427b 100644 --- a/src/main/java/forge/card/abilityfactory/effects/FlipCoinEffect.java +++ b/src/main/java/forge/card/abilityfactory/effects/FlipCoinEffect.java @@ -38,13 +38,7 @@ public class FlipCoinEffect extends SpellEffect { } final AbilityFactory afOutcomes = new AbilityFactory(); - boolean victory; - if (sa.hasParam("FlipOnly")) { - victory = GameActionUtil.flipACoin(null, sa.getSourceCard()); - } - else { - victory = GameActionUtil.flipACoin(caller.get(0), sa.getSourceCard()); - } + final boolean victory = GameActionUtil.flipACoin(caller.get(0), sa.getSourceCard()); // Run triggers // HashMap runParams = new HashMap();