diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index 38c58ca4be5..7c84ff824e4 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -520,6 +520,11 @@ public class CardView extends GameEntityView { } sb.append(state.getAbilityText()); + if (state.getState() == CardStateName.LeftSplit && getZone() != ZoneType.Stack) { + //ensure ability text for right half of split card is included unless spell is on stack + sb.append("\r\n\r\n").append(getAlternateState().getAbilityText()); + } + String nonAbilityText = get(TrackableProperty.NonAbilityText); int blockAdditional = state.getBlockAdditional(); if (blockAdditional > 1) { diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java b/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java index 85e0cb9a3f9..2670932411c 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardDetailPanel.java @@ -37,6 +37,7 @@ import forge.card.CardEdition; import forge.game.card.Card; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; +import forge.game.zone.ZoneType; import forge.item.IPaperCard; import forge.item.InventoryItemFromSet; import forge.match.MatchUtil; @@ -190,9 +191,10 @@ public class CardDetailPanel extends SkinnedPanel { } else { final String manaCost; - if (card.isSplitCard() && card.getAlternateState() != null) { + if (card.isSplitCard() && card.hasAlternateState() && card.getZone() != ZoneType.Stack) { //only display current state's mana cost when on stack manaCost = card.getCurrentState().getManaCost() + " // " + card.getAlternateState().getManaCost(); - } else { + } + else { manaCost = state.getManaCost().toString(); } nameCostLabel.setText(FSkin.encodeSymbols(CardDetailUtil.formatCardName(card, canShow, isInAltState) + " - " + manaCost, true)); diff --git a/forge-gui-mobile/src/forge/card/CardRenderer.java b/forge-gui-mobile/src/forge/card/CardRenderer.java index 2c7700a9097..624b0bba28b 100644 --- a/forge-gui-mobile/src/forge/card/CardRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardRenderer.java @@ -25,6 +25,7 @@ import forge.card.CardDetailUtil.DetailColors; import forge.card.mana.ManaCost; import forge.game.card.CardView; import forge.game.card.CardView.CardStateView; +import forge.game.zone.ZoneType; import forge.item.IPaperCard; import forge.match.MatchUtil; import forge.model.FModel; @@ -398,7 +399,7 @@ public class CardRenderer { float manaCostWidth = 0; if (canShow) { ManaCost mainManaCost = state.getManaCost(); - if (card.isSplitCard() && card.hasAlternateState()) { + if (card.isSplitCard() && card.hasAlternateState() && card.getZone() != ZoneType.Stack) { //only display current state's mana cost when on stack //handle rendering both parts of split card mainManaCost = state.getManaCost(); ManaCost otherManaCost = card.getAlternateState().getManaCost();