From 6704be5f9841c90dfafc52367963d0e24c4b7d29 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Tue, 18 Nov 2025 06:24:59 -0800 Subject: [PATCH] Randomize daily shop gift --- src/main/java/emu/nebula/GameConstants.java | 13 +++++++++++++ .../java/emu/nebula/game/quest/QuestManager.java | 6 +++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/emu/nebula/GameConstants.java b/src/main/java/emu/nebula/GameConstants.java index 2953767..8b38f01 100644 --- a/src/main/java/emu/nebula/GameConstants.java +++ b/src/main/java/emu/nebula/GameConstants.java @@ -2,6 +2,9 @@ package emu.nebula; import java.time.ZoneId; +import emu.nebula.game.inventory.ItemParam; +import emu.nebula.util.WeightedList; + public class GameConstants { private static final int DATA_VERSION = 48; private static final String VERSION = "1.2.0"; @@ -34,6 +37,16 @@ public class GameConstants { public static final int MAX_FRIENDSHIPS = 50; public static final int MAX_PENDING_FRIENDSHIPS = 30; + // Daily gifts (Custom) + + public static final WeightedList DAILY_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(10, new ItemParam(GEM_ITEM_ID, 50)); + } + // Helper functions public static String getGameVersion() { diff --git a/src/main/java/emu/nebula/game/quest/QuestManager.java b/src/main/java/emu/nebula/game/quest/QuestManager.java index b91fae7..34eff22 100644 --- a/src/main/java/emu/nebula/game/quest/QuestManager.java +++ b/src/main/java/emu/nebula/game/quest/QuestManager.java @@ -6,7 +6,7 @@ import java.util.Map; import dev.morphia.annotations.Entity; import dev.morphia.annotations.Id; - +import emu.nebula.GameConstants; import emu.nebula.Nebula; import emu.nebula.data.GameData; import emu.nebula.data.resources.WorldClassDef; @@ -297,8 +297,8 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject { } // Daily shop reward - // TODO randomize - var change = this.getPlayer().getInventory().addItem(1, 8888); + var reward = GameConstants.DAILY_GIFTS.next(); + var change = this.getPlayer().getInventory().addItem(reward.getId(), reward.getCount()); // Set and update in database this.hasDailyReward = false;