diff --git a/Mage/src/main/java/mage/abilities/SpellAbility.java b/Mage/src/main/java/mage/abilities/SpellAbility.java
index 2c5c03ef220..4ece553bc79 100644
--- a/Mage/src/main/java/mage/abilities/SpellAbility.java
+++ b/Mage/src/main/java/mage/abilities/SpellAbility.java
@@ -238,9 +238,12 @@ public class SpellAbility extends ActivatedAbilityImpl {
@Override
public String getRule(boolean all) {
if (all) {
- return new StringBuilder(super.getRule(all)).append(name).toString();
+ // show full rules, e.g. for hand
+ return super.getRule(true) + this.name;
+ } else {
+ // hide spell ability, e.g. for permanent
+ return super.getRule(false);
}
- return super.getRule(false);
}
public String getName() {
diff --git a/Mage/src/main/java/mage/cards/AdventureSpellCard.java b/Mage/src/main/java/mage/cards/AdventureSpellCard.java
index ed6efa5f1f1..c2c2a45efcb 100644
--- a/Mage/src/main/java/mage/cards/AdventureSpellCard.java
+++ b/Mage/src/main/java/mage/cards/AdventureSpellCard.java
@@ -1,7 +1,6 @@
package mage.cards;
import mage.abilities.Ability;
-import mage.abilities.Modes;
import mage.abilities.SpellAbility;
import mage.abilities.effects.common.ExileAdventureSpellEffect;
import mage.constants.CardType;
@@ -162,24 +161,13 @@ class AdventureCardSpellAbility extends SpellAbility {
@Override
public String getRule(boolean all) {
- return this.getRule();
- }
-
- @Override
- public String getRule() {
- StringBuilder sbRule = new StringBuilder();
- sbRule.append(this.nameFull);
- sbRule.append(" ");
- sbRule.append(getManaCosts().getText());
- sbRule.append(" — ");
- Modes modes = this.getModes();
- if (modes.size() <= 1) {
- sbRule.append(modes.getMode().getEffects().getTextStartingUpperCase(modes.getMode()));
- } else {
- sbRule.append(getModes().getText());
- }
- sbRule.append(" (Then exile this card. You may cast the creature later from exile.)");
- return sbRule.toString();
+ // TODO: must hide rules in permanent like SpellAbility, but can't due effects text
+ return this.nameFull
+ + " "
+ + getManaCosts().getText()
+ + " — "
+ + super.getRule(false) // without cost
+ + " (Then exile this card. You may cast the creature later from exile.)";
}
@Override
diff --git a/Mage/src/main/java/mage/cards/OmenSpellCard.java b/Mage/src/main/java/mage/cards/OmenSpellCard.java
index 040bba51217..04fcdd5d725 100644
--- a/Mage/src/main/java/mage/cards/OmenSpellCard.java
+++ b/Mage/src/main/java/mage/cards/OmenSpellCard.java
@@ -1,7 +1,6 @@
package mage.cards;
import mage.abilities.Ability;
-import mage.abilities.Modes;
import mage.abilities.SpellAbility;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.ShuffleIntoLibrarySourceEffect;
@@ -134,8 +133,8 @@ class OmenCardSpellAbility extends SpellAbility {
this.nameFull = ability.nameFull;
if (!ability.finalized) {
throw new IllegalStateException("Wrong code usage. "
- + "Omen (" + cardName + ") "
- + "need to call finalizeOmen() at the very end of the card's constructor.");
+ + "Omen (" + cardName + ") "
+ + "need to call finalizeOmen() at the very end of the card's constructor.");
}
this.finalized = true;
}
@@ -147,24 +146,13 @@ class OmenCardSpellAbility extends SpellAbility {
@Override
public String getRule(boolean all) {
- return this.getRule();
- }
-
- @Override
- public String getRule() {
- StringBuilder sbRule = new StringBuilder();
- sbRule.append(this.nameFull);
- sbRule.append(" ");
- sbRule.append(getManaCosts().getText());
- sbRule.append(" — ");
- Modes modes = this.getModes();
- if (modes.size() <= 1) {
- sbRule.append(modes.getMode().getEffects().getTextStartingUpperCase(modes.getMode()));
- } else {
- sbRule.append(getModes().getText());
- }
- sbRule.append(" (Then shuffle this card into its owner's library.)");
- return sbRule.toString();
+ // TODO: must hide rules in permanent like SpellAbility, but can't due effects text
+ return this.nameFull
+ + " "
+ + getManaCosts().getText()
+ + " — "
+ + super.getRule(false) // without cost
+ + " (Then shuffle this card into its owner's library.)";
}
@Override