diff --git a/Mage.Sets/src/mage/sets/avacynrestored/CavernOfSouls.java b/Mage.Sets/src/mage/sets/avacynrestored/CavernOfSouls.java index 32c8bd0f139..392c4ee7dc5 100644 --- a/Mage.Sets/src/mage/sets/avacynrestored/CavernOfSouls.java +++ b/Mage.Sets/src/mage/sets/avacynrestored/CavernOfSouls.java @@ -57,6 +57,7 @@ import mage.game.events.GameEvent; import mage.game.permanent.Permanent; import mage.game.stack.Spell; import mage.players.Player; +import mage.util.CardUtil; import mage.watchers.Watcher; /** @@ -119,7 +120,7 @@ class CavernOfSoulsEffect extends OneShotEffect { } game.informPlayers(permanent.getName() + ": " + player.getName() + " has chosen " + typeChoice.getChoice()); game.getState().setValue(permanent.getId() + "_type", typeChoice.getChoice().toString()); - permanent.addInfo("chosen type", "Chosen type: " + typeChoice.getChoice().toString() + ""); + permanent.addInfo("chosen type", CardUtil.addToolTipMarkTags("Chosen type: " + typeChoice.getChoice().toString())); } return false; } diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index f32feae3180..267180f509d 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -795,7 +795,9 @@ public abstract class AbilityImpl implements Ability { @Override public void setRuleVisible(boolean ruleVisible) { - this.ruleVisible = ruleVisible; + if (!(this instanceof MageSingleton)) { // prevent to change singletons + this.ruleVisible = ruleVisible; + } } @Override diff --git a/Mage/src/mage/abilities/common/EntersBattlefieldTriggeredAbility.java b/Mage/src/mage/abilities/common/EntersBattlefieldTriggeredAbility.java index 841e5972e9d..53d6566679c 100644 --- a/Mage/src/mage/abilities/common/EntersBattlefieldTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/EntersBattlefieldTriggeredAbility.java @@ -60,7 +60,7 @@ public class EntersBattlefieldTriggeredAbility extends TriggeredAbilityImpl { this.rulePrefix = rulePrefix; } - public EntersBattlefieldTriggeredAbility(EntersBattlefieldTriggeredAbility ability) { + public EntersBattlefieldTriggeredAbility(final EntersBattlefieldTriggeredAbility ability) { super(ability); this.rulePrefix = ability.rulePrefix; this.noRule = ability.noRule; diff --git a/Mage/src/mage/game/command/Commander.java b/Mage/src/mage/game/command/Commander.java index c8ff078e5cc..e21842f67ce 100644 --- a/Mage/src/mage/game/command/Commander.java +++ b/Mage/src/mage/game/command/Commander.java @@ -40,6 +40,7 @@ import mage.abilities.costs.mana.ManaCost; import mage.abilities.costs.mana.ManaCosts; import mage.cards.Card; import mage.constants.CardType; +import mage.constants.Zone; import mage.game.Game; /** @@ -59,9 +60,12 @@ public class Commander implements CommandObject{ abilites.add(new CastCommanderAbility(card)); for (Ability ability : card.getAbilities()) { if (!(ability instanceof SpellAbility)) { - Ability newAbility = ability.copy(); - newAbility.setRuleVisible(false); - abilites.add(newAbility); + if (ability.getZone().match(Zone.COMMAND)){ + Ability newAbility = ability.copy(); + // Why are the abilities in command zone printed twice to the toolTipText + newAbility.setRuleVisible(false); + abilites.add(newAbility); + } } } }