diff --git a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java index 375c976bd6f..f7419bb0799 100644 --- a/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java +++ b/forge-gui-mobile/src/forge/screens/planarconquest/ConquestMapScreen.java @@ -116,7 +116,10 @@ public class ConquestMapScreen extends FScreen { } } + int progress = model.getCurrentPlaneData().getProgress(); int regionCount = model.getCurrentPlane().getRegions().size(); + FCollectionView opponents = region.getOpponents(); + int startIndex = (regionCount - index - 1) * opponents.size(); //draw path with opponents float x0, y0, prevX = x + w / 2, prevY = y + h; @@ -127,7 +130,6 @@ public class ConquestMapScreen extends FScreen { float iconOffsetX = (colWidth - iconSize) / 2; float iconOffsetY = (rowHeight - iconSize) / 2; float lineThickness = iconSize / 4; - FCollectionView opponents = region.getOpponents(); //draw line path for (int i = 0; i < opponents.size(); i++) { @@ -156,10 +158,22 @@ public class ConquestMapScreen extends FScreen { } //draw fog of war overlay if region not yet unlocked - int startIndex = (regionCount - index - 1) * opponents.size(); - if (startIndex > model.getCurrentPlaneData().getProgress()) { + if (startIndex > progress) { g.fillRect(FOG_OF_WAR_COLOR, x, y, w, h); } + else { + //draw planeswalker token above stop + int planeswalkerPosition = progress - startIndex; + if (planeswalkerPosition < opponents.size()) { + GridPosition pos = path[planeswalkerPosition]; + x0 = x + colWidth * pos.col + iconOffsetX; + y0 = y + rowHeight * pos.row + iconOffsetY; + FImage token = (FImage)model.getPlaneswalkerToken(); + float tokenWidth = iconSize * 2f; + float tokenHeight = tokenWidth * token.getHeight() / token.getWidth(); + g.drawImage(token, x0 + (iconSize - tokenWidth) / 2, y0 - tokenHeight, tokenWidth, tokenHeight); + } + } } } diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestData.java b/forge-gui/src/main/java/forge/planarconquest/ConquestData.java index 4d14dd700c3..be6a99d90f5 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestData.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestData.java @@ -17,6 +17,8 @@ */ package forge.planarconquest; +import forge.achievement.PlaneswalkerAchievements; +import forge.assets.ISkinImage; import forge.deck.Deck; import forge.item.InventoryItem; import forge.item.PaperCard; @@ -48,11 +50,11 @@ public final class ConquestData { private int wins, losses; private int winStreakBest = 0; private int winStreakCurrent = 0; - private int day = 1; private int difficulty; private ConquestPlane startingPlane, currentPlane; private int currentRegionIndex; private EnumMap planeDataMap = new EnumMap(ConquestPlane.class); + private ISkinImage planeswalkerToken = PlaneswalkerAchievements.getTrophyImage("Jace, the Mind Sculptor"); private final HashSet collection = new HashSet(); private final HashMap decks = new HashMap(); @@ -99,11 +101,8 @@ public final class ConquestData { return difficulty; } - public int getDay() { - return day; - } - public void incrementDay() { - day++; + public ISkinImage getPlaneswalkerToken() { + return planeswalkerToken; } public ConquestPlane getStartingPlane() {