From 6bf8aedce76b81f98404f369aa197ad87def1201 Mon Sep 17 00:00:00 2001 From: jmlundeen Date: Mon, 14 Apr 2025 17:02:48 -0500 Subject: [PATCH] Fix Adventure/Omen Permanent View * Adventure/Omen Permanents no longer show rule text from the spell ability * Updated CardView variable for SpellOptionCard --- Mage.Common/src/main/java/mage/view/CardView.java | 14 +++++++------- .../src/main/java/mage/view/PermanentView.java | 7 +++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Mage.Common/src/main/java/mage/view/CardView.java b/Mage.Common/src/main/java/mage/view/CardView.java index 84d55c232fb..a516227d2e7 100644 --- a/Mage.Common/src/main/java/mage/view/CardView.java +++ b/Mage.Common/src/main/java/mage/view/CardView.java @@ -439,14 +439,14 @@ public class CardView extends SimpleCardView { leftSplitCostsStr = String.join("", mainCard.getManaCostSymbols()); leftSplitRules = mainCard.getSharedRules(game); leftSplitTypeLine = getCardTypeLine(game, mainCard); - SpellOptionCard splitCardSpell = mainCard.getSpellCard(); - rightSplitName = splitCardSpell.getName(); - rightSplitCostsStr = String.join("", splitCardSpell.getManaCostSymbols()); - rightSplitRules = splitCardSpell.getRules(game); - rightSplitTypeLine = getCardTypeLine(game, splitCardSpell); - fullCardName = mainCard.getName() + MockCard.CARD_WITH_SPELL_OPTION_NAME_SEPARATOR + splitCardSpell.getName(); + SpellOptionCard spellOptionCard = mainCard.getSpellCard(); + rightSplitName = spellOptionCard.getName(); + rightSplitCostsStr = String.join("", spellOptionCard.getManaCostSymbols()); + rightSplitRules = spellOptionCard.getRules(game); + rightSplitTypeLine = getCardTypeLine(game, spellOptionCard); + fullCardName = mainCard.getName() + MockCard.CARD_WITH_SPELL_OPTION_NAME_SEPARATOR + spellOptionCard.getName(); this.manaCostLeftStr = mainCard.getManaCostSymbols(); - this.manaCostRightStr = splitCardSpell.getManaCostSymbols(); + this.manaCostRightStr = spellOptionCard.getManaCostSymbols(); } else if (card instanceof MockCard) { // deck editor cards fullCardName = ((MockCard) card).getFullName(true); diff --git a/Mage.Common/src/main/java/mage/view/PermanentView.java b/Mage.Common/src/main/java/mage/view/PermanentView.java index 6d3ef741d93..09fc5fc37b0 100644 --- a/Mage.Common/src/main/java/mage/view/PermanentView.java +++ b/Mage.Common/src/main/java/mage/view/PermanentView.java @@ -1,6 +1,7 @@ package mage.view; import mage.cards.Card; +import mage.cards.CardWithSpellOption; import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.PermanentToken; @@ -79,6 +80,12 @@ public class PermanentView extends CardView { this.alternateName = original.getName(); } } + + // for adventure/omen cards, remove spell card rules + if (card instanceof CardWithSpellOption) { + this.rules.removeIf(rule -> rule.startsWith("Adventure") || rule.startsWith("Omen")); + } + if (permanent.getOwnerId() != null && !permanent.getOwnerId().equals(permanent.getControllerId())) { Player owner = game.getPlayer(permanent.getOwnerId()); if (owner != null) {