From 33e7569f8706ca7feb88a41caf49b413189c82bd Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Sat, 7 May 2011 23:08:34 -0400 Subject: [PATCH] fixed issue 45 - show cast when cycle is available --- Mage.Common/src/mage/view/AbilityPickerView.java | 2 +- Mage/src/mage/abilities/Ability.java | 1 + Mage/src/mage/abilities/AbilityImpl.java | 7 ++++++- Mage/src/mage/abilities/SpellAbility.java | 8 ++++++++ Mage/src/mage/game/stack/StackAbility.java | 5 +++++ 5 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Mage.Common/src/mage/view/AbilityPickerView.java b/Mage.Common/src/mage/view/AbilityPickerView.java index f5cbdfdaf1..7426fbf8b5 100644 --- a/Mage.Common/src/mage/view/AbilityPickerView.java +++ b/Mage.Common/src/mage/view/AbilityPickerView.java @@ -46,7 +46,7 @@ public class AbilityPickerView implements Serializable { public AbilityPickerView(Collection abilities) { for (Ability ability: abilities) { - choices.put(ability.getId(), ability.getRule()); + choices.put(ability.getId(), ability.getRule(true)); } } diff --git a/Mage/src/mage/abilities/Ability.java b/Mage/src/mage/abilities/Ability.java index 19e217b06b..e026715f64 100644 --- a/Mage/src/mage/abilities/Ability.java +++ b/Mage/src/mage/abilities/Ability.java @@ -74,6 +74,7 @@ public interface Ability extends Serializable { public Zone getZone(); public boolean isUsesStack(); public String getRule(); + public String getRule(boolean all); public String getRule(String source); public boolean activate(Game game, boolean noMana); public boolean resolve(Game game); diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index f64901177a..f2f094d123 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -283,9 +283,14 @@ public abstract class AbilityImpl> implements Ability { @Override public String getRule() { + return getRule(false); + } + + @Override + public String getRule(boolean all) { StringBuilder sbRule = new StringBuilder(); - if (!(this.abilityType == AbilityType.SPELL)) { + if (all || this.abilityType != AbilityType.SPELL) { if (manaCosts.size() > 0) { sbRule.append(manaCosts.getText()); } diff --git a/Mage/src/mage/abilities/SpellAbility.java b/Mage/src/mage/abilities/SpellAbility.java index 7df3489821..7832a3d54f 100644 --- a/Mage/src/mage/abilities/SpellAbility.java +++ b/Mage/src/mage/abilities/SpellAbility.java @@ -73,6 +73,14 @@ public class SpellAbility extends ActivatedAbilityImpl { return " casts " + getMessageText(game); } + @Override + public String getRule(boolean all) { + if (all) { + return super.getRule(all) + name; + } + return ""; + } + public void clear() { this.choices.clearChosen(); this.targets.clearChosen(); diff --git a/Mage/src/mage/game/stack/StackAbility.java b/Mage/src/mage/game/stack/StackAbility.java index bb662c668f..c90e763b64 100644 --- a/Mage/src/mage/game/stack/StackAbility.java +++ b/Mage/src/mage/game/stack/StackAbility.java @@ -192,6 +192,11 @@ public class StackAbility implements StackObject, Ability { return ability.getRule(); } + @Override + public String getRule(boolean all) { + return ability.getRule(all); + } + @Override public String getRule(String source) { return ability.getRule(source);