Merge branch 'master' into 'master'

Add foretell token image as facedown cardback

See merge request core-developers/forge!4070
This commit is contained in:
Anthony Calosa
2021-03-02 13:25:40 +00:00
7 changed files with 17 additions and 2 deletions

View File

@@ -25,6 +25,7 @@ public final class ImageKeys {
public static final String HIDDEN_CARD = "hidden"; public static final String HIDDEN_CARD = "hidden";
public static final String MORPH_IMAGE = "morph"; public static final String MORPH_IMAGE = "morph";
public static final String MANIFEST_IMAGE = "manifest"; public static final String MANIFEST_IMAGE = "manifest";
public static final String FORETELL_IMAGE = "foretell";
public static final String BACKFACE_POSTFIX = "$alt"; public static final String BACKFACE_POSTFIX = "$alt";

View File

@@ -5531,6 +5531,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
public final void setForetold(final boolean foretold) { public final void setForetold(final boolean foretold) {
this.foretold = foretold; this.foretold = foretold;
getState(CardStateName.FaceDown).setImageKey(ImageKeys.getTokenKey(ImageKeys.FORETELL_IMAGE));
} }
public boolean isForetoldByEffect() { public boolean isForetoldByEffect() {

View File

@@ -364,7 +364,10 @@ public final class CardUtil {
ret.setType(type); ret.setType(type);
//show hidden if exiled facedown //show hidden if exiled facedown
ret.setImageKey(ImageKeys.getTokenKey(c.isInZone(ZoneType.Exile) ? ImageKeys.HIDDEN_CARD : ImageKeys.MORPH_IMAGE)); if (c.isInZone(ZoneType.Exile))
ret.setImageKey(ImageKeys.getTokenKey(c.isForetold() ? ImageKeys.FORETELL_IMAGE : ImageKeys.HIDDEN_CARD));
else
ret.setImageKey(ImageKeys.getTokenKey(c.isManifested() ? ImageKeys.MANIFEST_IMAGE : ImageKeys.MORPH_IMAGE));
return ret; return ret;
} }

View File

@@ -125,6 +125,10 @@ public class CardView extends GameEntityView {
return get(TrackableProperty.Facedown);// getCurrentState().getState() == CardStateName.FaceDown; return get(TrackableProperty.Facedown);// getCurrentState().getState() == CardStateName.FaceDown;
} }
public boolean isForeTold() {
return get(TrackableProperty.Foretold);
}
public boolean isFlipCard() { public boolean isFlipCard() {
return get(TrackableProperty.FlipCard); return get(TrackableProperty.FlipCard);
} }
@@ -766,6 +770,7 @@ public class CardView extends GameEntityView {
set(TrackableProperty.SplitCard, isSplitCard); set(TrackableProperty.SplitCard, isSplitCard);
set(TrackableProperty.FlipCard, c.isFlipCard()); set(TrackableProperty.FlipCard, c.isFlipCard());
set(TrackableProperty.Facedown, c.isFaceDown()); set(TrackableProperty.Facedown, c.isFaceDown());
set(TrackableProperty.Foretold, c.isForetold());
set(TrackableProperty.Adventure, c.isAdventureCard()); set(TrackableProperty.Adventure, c.isAdventureCard());
set(TrackableProperty.DoubleFaced, c.isDoubleFaced()); set(TrackableProperty.DoubleFaced, c.isDoubleFaced());
set(TrackableProperty.Modal, c.isModal()); set(TrackableProperty.Modal, c.isModal());

View File

@@ -25,6 +25,7 @@ public enum TrackableProperty {
Flipped(TrackableTypes.BooleanType), Flipped(TrackableTypes.BooleanType),
Facedown(TrackableTypes.BooleanType), Facedown(TrackableTypes.BooleanType),
Foretold(TrackableTypes.BooleanType),
Modal(TrackableTypes.BooleanType), Modal(TrackableTypes.BooleanType),
Adventure(TrackableTypes.BooleanType), Adventure(TrackableTypes.BooleanType),
DoubleFaced(TrackableTypes.BooleanType), DoubleFaced(TrackableTypes.BooleanType),

View File

@@ -503,7 +503,10 @@ public class CardRenderer {
if (image == ImageCache.defaultImage) { if (image == ImageCache.defaultImage) {
CardImageRenderer.drawCardImage(g, card, false, x, y, w, h, pos); CardImageRenderer.drawCardImage(g, card, false, x, y, w, h, pos);
} else if (showsleeves) { } else if (showsleeves) {
g.drawImage(sleeves, x, y, w, h); if (!card.isForeTold())
g.drawImage(sleeves, x, y, w, h);
else
g.drawImage(image, x, y, w, h);
} else { } else {
if(FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_ROTATE_PLANE_OR_PHENOMENON) if(FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_ROTATE_PLANE_OR_PHENOMENON)
&& (card.getCurrentState().isPhenomenon() || card.getCurrentState().isPlane()) && rotate){ && (card.getCurrentState().isPhenomenon() || card.getCurrentState().isPlane()) && rotate){

View File

@@ -1342,3 +1342,4 @@ copy.jpg https://downloads.cardforge.org/images/tokens/copy.jpg
hidden.jpg https://downloads.cardforge.org/images/tokens/morph.jpg hidden.jpg https://downloads.cardforge.org/images/tokens/morph.jpg
morph.jpg https://downloads.cardforge.org/images/tokens/morph.jpg morph.jpg https://downloads.cardforge.org/images/tokens/morph.jpg
manifest.jpg https://downloads.cardforge.org/images/tokens/manifest.jpg manifest.jpg https://downloads.cardforge.org/images/tokens/manifest.jpg
foretell.jpg https://downloads.cardforge.org/images/tokens/foretell.jpg