From 5b62a1ffb54a4cf20f18b18ccef08530e6f98fb4 Mon Sep 17 00:00:00 2001 From: Meta Date: Mon, 14 Oct 2024 21:56:30 -0400 Subject: [PATCH 1/2] Fixed non-cards for rarity sorting import --- .../src/forge/adventure/scene/RewardScene.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java b/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java index 80098a750fe..278e59faeba 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/RewardScene.java @@ -26,6 +26,7 @@ import forge.item.PaperCard; import forge.sound.SoundEffectType; import forge.sound.SoundSystem; import forge.util.ItemPool; +import java.util.Comparator; /** * Displays the rewards of a fight or a treasure @@ -318,6 +319,14 @@ public class RewardScene extends UIScene { } public void loadRewards(Array newRewards, Type type, ShopActor shopActor) { + // Sort the rewards based on the rarity of the card inside the reward/ lets give items rarity + newRewards.sort(Comparator.comparing(reward -> { + if (reward.getCard() != null && reward.getCard().getRarity() != null) { + return reward.getCard().getRarity().ordinal(); + } + // Return a default value or handle the case where rarity is not present + return Integer.MAX_VALUE; // Assuming higher values mean less priority in sorting + })); clearSelectable(); this.type = type; doneClicked = false; From 0a08650393d83941d1e419377d3ce2001773fd1c Mon Sep 17 00:00:00 2001 From: Meta Date: Tue, 15 Oct 2024 11:26:00 -0400 Subject: [PATCH 2/2] Booster QoL Remove open confirmation and disable leaving inventory scene when opening boosters. Change Booster Pack Inventory Name Old: Booster Pack: WAR New: War of the Sparks Booster Final Tweak --- .../src/forge/adventure/scene/InventoryScene.java | 14 +++----------- .../adventure/util/AdventureEventController.java | 4 +++- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java b/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java index b7651596470..7a1f51ab037 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java @@ -180,7 +180,7 @@ public class InventoryScene extends UIScene { Deck data = (deckLocation.get(selected)); if (data == null) return; - done(); + //done(); setSelected(null); RewardScene.instance().loadRewards(data, RewardScene.Type.Loot, null, data.getTags().contains("noSell")); Forge.switchScene(RewardScene.instance()); @@ -206,15 +206,7 @@ public class InventoryScene extends UIScene { Deck data = deckLocation.get(selected); if (data == null) return; - if (openDialog == null) { - openDialog = createGenericDialog("", null, Forge.getLocalizer().getMessage("lblYes"), - Forge.getLocalizer().getMessage("lblNo"), () -> { - this.openBooster(); - removeDialog(); - }, this::removeDialog); - openDialog.getContentTable().add(Controls.newTextraLabel("Open Booster Pack?")); - } - showDialog(openDialog); + this.openBooster(); } } @@ -277,7 +269,7 @@ public class InventoryScene extends UIScene { useButton.layout(); equipButton.setDisabled(true); - itemDescription.setText("Card Pack - " + data.getName() + "\n[%98]" + (data.getComment() == null?"":data.getComment()+" - ") + data.getAllCardsInASinglePool().countAll() + " cards"); + itemDescription.setText(data.getName() + "\n[%98]" + (data.getComment() == null?"":data.getComment()+" - ") + data.getAllCardsInASinglePool().countAll() + " cards"); } diff --git a/forge-gui-mobile/src/forge/adventure/util/AdventureEventController.java b/forge-gui-mobile/src/forge/adventure/util/AdventureEventController.java index 7e04f0b298c..df9ba97a9f5 100644 --- a/forge-gui-mobile/src/forge/adventure/util/AdventureEventController.java +++ b/forge-gui-mobile/src/forge/adventure/util/AdventureEventController.java @@ -11,6 +11,7 @@ import forge.item.SealedTemplate; import forge.item.generation.BoosterGenerator; import forge.item.generation.UnOpenedProduct; import forge.model.CardBlock; +import forge.model.FModel; import forge.util.Aggregates; import java.io.Serializable; @@ -136,7 +137,8 @@ public class AdventureEventController implements Serializable { List cards = BoosterGenerator.getBoosterPack(StaticData.instance().getBoosters().get(setCode)); Deck output = new Deck(); output.getMain().add(cards); - output.setName("Booster Pack: " + setCode); + String editionName = FModel.getMagicDb().getEditions().get(setCode).getName(); + output.setName(editionName + " Booster"); output.setComment(setCode); return output; }