diff --git a/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java b/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java index ede0fa74539..acc6e20e867 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java @@ -424,7 +424,7 @@ public class RewardScene extends UIScene { if (lastRowCount != 0) lastRowXAdjust = ((numberOfColumns * cardWidth) - (lastRowCount * cardWidth)) / 2; } - RewardActor actor = new RewardActor(reward, type == Type.Loot); + RewardActor actor = new RewardActor(reward, type == Type.Loot, type); actor.setBounds(lastRowXAdjust + xOff + cardWidth * (i % numberOfColumns) + spacing, yOff + cardHeight * currentRow + spacing, cardWidth - spacing * 2, cardHeight - spacing * 2); if (type == Type.Shop) { diff --git a/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java b/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java index f57f2277f77..ce77d46064b 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/SpellSmithScene.java @@ -387,7 +387,7 @@ public class SpellSmithScene extends UIScene { if (Current.player().getGold() < currentPrice) pullUsingGold.setDisabled(true); if (Current.player().getShards() < currentShardPrice) pullUsingShards.setDisabled(true); if (rewardActor != null) rewardActor.remove(); - rewardActor = new RewardActor(R, true); + rewardActor = new RewardActor(R, true, null); rewardActor.flip(); //Make it flip so it draws visual attention, why not. rewardActor.setBounds(rewardDummy.getX(), rewardDummy.getY(), rewardDummy.getWidth(), rewardDummy.getHeight()); stage.addActor(rewardActor); diff --git a/forge-gui-mobile/src/forge/adventure/util/RewardActor.java b/forge-gui-mobile/src/forge/adventure/util/RewardActor.java index 3e620668bcd..f93f3ac049c 100644 --- a/forge-gui-mobile/src/forge/adventure/util/RewardActor.java +++ b/forge-gui-mobile/src/forge/adventure/util/RewardActor.java @@ -165,7 +165,7 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb Gdx.graphics.requestRendering(); } - public RewardActor(Reward reward, boolean flippable) { + public RewardActor(Reward reward, boolean flippable, RewardScene.Type type) { this.flipOnClick = flippable; this.reward = reward; if (backTexture == null) { @@ -284,7 +284,8 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb } Sprite item = reward.getItem().sprite(); setItemTooltips(item, backSprite); - processSprite(backSprite, item, null, 0, 0); + boolean isQuestItemLoot = RewardScene.Type.Loot.equals(type) && reward.getItem().questItem; + processSprite(backSprite, item, isQuestItemLoot ? Controls.newTextraLabel("[%]" + reward.getItem().name) : null, 0, -10); needsToBeDisposed = true; break; } @@ -295,8 +296,9 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb Sprite backSprite = atlas.createSprite("CardBack"); Sprite item = atlas.createSprite(reward.type.toString()); setItemTooltips(item, backSprite); - processSprite(backSprite, item, - Controls.newTextraLabel("[%200]" + reward.getCount()), 0, -10); + boolean isShop = RewardScene.Type.Shop.equals(type); + processSprite(backSprite, item, isShop ? null : + Controls.newTextraLabel("[%]" + reward.getCount() + " " + reward.type), 0, isShop ? 0 : -10); needsToBeDisposed = true; break; } @@ -551,8 +553,10 @@ public class RewardActor extends Actor implements Disposable, ImageFetcher.Callb description = item.getDescription(); layout.reset(); } else { - description = "Adds " + String.valueOf(getReward().getCount()) + " " + getReward().type; + description = "Adds " + getReward().getCount() + " " + getReward().type; } + if (description.isEmpty() && item.questItem) + description = "Quest Item"; getGraphics().end(); getGraphics().endClip(); Pixmap pixmap = Pixmap.createFromFrameBuffer(0, 0, preview_w, preview_h); diff --git a/forge-gui-mobile/src/forge/adventure/world/World.java b/forge-gui-mobile/src/forge/adventure/world/World.java index fe1e048d30e..82a1f1249c3 100644 --- a/forge-gui-mobile/src/forge/adventure/world/World.java +++ b/forge-gui-mobile/src/forge/adventure/world/World.java @@ -444,6 +444,7 @@ public class World implements Disposable, SaveFileContent { clearTerrain((int) (data.width * data.playerStartPosX), (int) (data.height * data.playerStartPosY), 10); //otherPoints.add(new Rectangle(((float) data.width * data.playerStartPosX * (float) data.tileSize) - data.tileSize * 3, ((float) data.height * data.playerStartPosY * data.tileSize) - data.tileSize * 3, data.tileSize * 6, data.tileSize * 6)); boolean running = true; + here: while (running) { mapPoiIds = new PointOfInterestMap(getChunkSize(), data.tileSize, data.width / getChunkSize(), data.height / getChunkSize()); int biomeIndex2 = -1; @@ -505,6 +506,11 @@ public class World implements Disposable, SaveFileContent { if (counter == 499) { System.err.print("Can not place POI " + poi.name + "...Rerunning..\n"); running = true; + towns.clear(); + notTowns.clear(); + otherPoints.clear(); + clearTerrain((int) (data.width * data.playerStartPosX), (int) (data.height * data.playerStartPosY), 10); + continue here; } continue; }