From fa91ab05556beb7a787d8688e7f7082449255c0e Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Wed, 15 Apr 2026 02:18:43 -0700 Subject: [PATCH] Update item pool for daily mall gifts --- src/main/java/emu/nebula/GameConstants.java | 16 +++++++---- .../nebula/game/inventory/ItemParamMap.java | 27 +++++++++++++++++++ .../emu/nebula/game/quest/QuestManager.java | 8 +++--- 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/src/main/java/emu/nebula/GameConstants.java b/src/main/java/emu/nebula/GameConstants.java index 873e7e8..1737d53 100644 --- a/src/main/java/emu/nebula/GameConstants.java +++ b/src/main/java/emu/nebula/GameConstants.java @@ -3,6 +3,7 @@ package emu.nebula; import java.time.ZoneId; import emu.nebula.game.inventory.ItemParam; +import emu.nebula.game.inventory.ItemParamMap; import emu.nebula.util.WeightedList; public class GameConstants { @@ -56,13 +57,18 @@ public class GameConstants { // Daily gifts (Custom) - public static final WeightedList DAILY_GIFTS = new WeightedList<>(); + public static final WeightedList DAILY_SHOP_GIFTS = new WeightedList<>(); + public static final WeightedList DAILY_MALL_GIFTS = new WeightedList<>(); static { - DAILY_GIFTS.add(1000, new ItemParam(GOLD_ITEM_ID, 8888)); - DAILY_GIFTS.add(250, new ItemParam(GOLD_ITEM_ID, 18888)); - DAILY_GIFTS.add(250, new ItemParam(33001, 10)); - DAILY_GIFTS.add(10, new ItemParam(GEM_ITEM_ID, 50)); + DAILY_SHOP_GIFTS.add(1000, new ItemParam(GOLD_ITEM_ID, 8888)); + DAILY_SHOP_GIFTS.add(250, new ItemParam(GOLD_ITEM_ID, 18888)); + DAILY_SHOP_GIFTS.add(250, new ItemParam(33001, 10)); + DAILY_SHOP_GIFTS.add(10, new ItemParam(GEM_ITEM_ID, 50)); // Custom + + DAILY_MALL_GIFTS.add(100, ItemParamMap.of(GOLD_ITEM_ID, 25_000, 82001, 5)); + DAILY_MALL_GIFTS.add(100, ItemParamMap.of(GOLD_ITEM_ID, 25_000, 82004, 5)); + DAILY_MALL_GIFTS.add(100, ItemParamMap.of(GOLD_ITEM_ID, 25_000, 82007, 5)); } // Helper functions diff --git a/src/main/java/emu/nebula/game/inventory/ItemParamMap.java b/src/main/java/emu/nebula/game/inventory/ItemParamMap.java index f18a3e5..3cd3adb 100644 --- a/src/main/java/emu/nebula/game/inventory/ItemParamMap.java +++ b/src/main/java/emu/nebula/game/inventory/ItemParamMap.java @@ -144,4 +144,31 @@ public class ItemParamMap extends Int2IntLinkedOpenHashMap implements ObjectBidi return map; } + + // + + public static ItemParamMap of(int... entries) { + // Create + var params = new ItemParamMap(); + + // Add items + for (int i = 0; i < entries.length; i++) { + // Get intial item id + int itemId = entries[i]; + int count = 0; + + // Increment + i++; + + // Get count + if (i < entries.length) { + count = entries[i]; + + // Add to item param map + params.add(itemId, count); + } + } + + return params; + } } diff --git a/src/main/java/emu/nebula/game/quest/QuestManager.java b/src/main/java/emu/nebula/game/quest/QuestManager.java index f2926e8..c5963bb 100644 --- a/src/main/java/emu/nebula/game/quest/QuestManager.java +++ b/src/main/java/emu/nebula/game/quest/QuestManager.java @@ -467,7 +467,7 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject { return change.setSuccess(true); } - // Daily shop reward + // Daily rewards public PlayerChangeInfo claimDailyShopGift() { // Sanity check @@ -476,7 +476,7 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject { } // Daily shop reward - var reward = GameConstants.DAILY_GIFTS.next(); + var reward = GameConstants.DAILY_SHOP_GIFTS.next(); var change = this.getPlayer().getInventory().addItem(reward.getId(), reward.getCount()); // Set and update in database @@ -497,8 +497,8 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject { } // Daily mall reward - var reward = GameConstants.DAILY_GIFTS.next(); - var change = this.getPlayer().getInventory().addItem(reward.getId(), reward.getCount()); + var rewards = GameConstants.DAILY_MALL_GIFTS.next(); + var change = this.getPlayer().getInventory().addItems(rewards); // Set and update in database this.dailyMallReward = true;