From 2777d3c65a5701cb173a78fabe3314ae0cb32993 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 3 Sep 2021 10:14:59 +0800 Subject: [PATCH] fix facedown card details for split types --- forge-gui-mobile/src/forge/card/CardImageRenderer.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/forge-gui-mobile/src/forge/card/CardImageRenderer.java b/forge-gui-mobile/src/forge/card/CardImageRenderer.java index cf4e8675061..0c00edf146b 100644 --- a/forge-gui-mobile/src/forge/card/CardImageRenderer.java +++ b/forge-gui-mobile/src/forge/card/CardImageRenderer.java @@ -96,8 +96,12 @@ public class CardImageRenderer { w -= 2 * blackBorderThickness; h -= 2 * blackBorderThickness; - final CardStateView state = altState ? card.getAlternateState() : isChoiceList && card.isSplitCard() ? card.getLeftSplitState() : card.getCurrentState(); + CardStateView state = altState ? card.getAlternateState() : isChoiceList && card.isSplitCard() ? card.getLeftSplitState() : card.getCurrentState(); + final boolean isFaceDown = card.isFaceDown(); final boolean canShow = MatchController.instance.mayView(card); + //override + if (isFaceDown && altState && card.isSplitCard()) + state = card.getLeftSplitState(); boolean isSaga = state.getType().hasSubtype("Saga"); boolean isClass = state.getType().hasSubtype("Class"); boolean isDungeon = state.getType().isDungeon(); @@ -110,7 +114,6 @@ public class CardImageRenderer { //determine colors for borders final List borderColors; - final boolean isFaceDown = card.isFaceDown(); if (isFaceDown) { borderColors = !altState ? ImmutableList.of(DetailColors.FACE_DOWN) : !useCardBGTexture ? ImmutableList.of(DetailColors.FACE_DOWN) : CardDetailUtil.getBorderColors(state, canShow); } else { @@ -234,7 +237,7 @@ public class CardImageRenderer { if (card.isSplitCard() && card.getAlternateState() != null) { //handle rendering both parts of split card mainManaCost = card.getLeftSplitState().getManaCost(); - ManaCost otherManaCost = card.getAlternateState().getManaCost(); + ManaCost otherManaCost = card.getRightSplitState().getManaCost(); manaCostWidth = CardFaceSymbols.getWidth(otherManaCost, MANA_SYMBOL_SIZE) + HEADER_PADDING; CardFaceSymbols.drawManaCost(g, otherManaCost, x + w - manaCostWidth, y + (h - MANA_SYMBOL_SIZE) / 2, MANA_SYMBOL_SIZE); //draw "//" between two parts of mana cost