From e553b49e8976888fddbfbfa6d819f330a9295758 Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 05:07:53 +0000 Subject: [PATCH] Fixed Incendiary Command from crashing when the controller chooses the two choices with targets --- src/forge/Card.java | 14 ++++++++++++++ src/forge/CardFactory.java | 38 ++++++++++++++++++++++++++++++++------ 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/src/forge/Card.java b/src/forge/Card.java index 9726372f1f0..5c22f4a74be 100644 --- a/src/forge/Card.java +++ b/src/forge/Card.java @@ -32,6 +32,7 @@ public class Card extends MyObservable { private ArrayList type = new ArrayList(); private ArrayList prevType = new ArrayList(); private ArrayList ChoicesMade = new ArrayList(); + private ArrayList Targets_for_Choices = new ArrayList(); private ArrayList spellAbility = new ArrayList(); private ArrayList manaAbility = new ArrayList(); @@ -731,6 +732,19 @@ public class Card extends MyObservable { public String getChoice(int i) { return ChoicesMade.get(i); } + + public void setSpellChoiceTarget(String string) + { + Targets_for_Choices.add(string); + } + + public ArrayList getChoiceTargets() { + return Targets_for_Choices; + } + public String getChoiceTarget(int i) { + return Targets_for_Choices.get(i); + } + public void setSpellWithChoices(boolean b) { SpellwithChoices = b; diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 51f5492f5e4..f623918fece 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -183,6 +183,9 @@ public class CardFactory implements NewConstants { for(int i = 0; i < in.getChoices().size(); i++) { c.addSpellChoice(in.getChoice(i)); } + for(int i = 0; i < in.getChoiceTargets().size(); i++) { + c.setSpellChoiceTarget(in.getChoiceTarget(i)); + } } } for(int i = 0; i < sa.length; i++) { @@ -10466,9 +10469,13 @@ public class CardFactory implements NewConstants { // System.out.println(m_land[0]); // System.out.println(m_player[0]); //"Incendiary Command deals 4 damage to target player", - if(userChoice.contains(cardChoice[0]) || card.getChoices().contains(cardChoice[0])) - AllZone.GameAction.getPlayerLife(getTargetPlayer()).subtractLife(4); - + for(int i = 0; i display = new ArrayList();