Update item pool for daily mall gifts

This commit is contained in:
Melledy
2026-04-15 02:18:43 -07:00
parent 50f9995785
commit fa91ab0555
3 changed files with 42 additions and 9 deletions
+11 -5
View File
@@ -3,6 +3,7 @@ package emu.nebula;
import java.time.ZoneId; import java.time.ZoneId;
import emu.nebula.game.inventory.ItemParam; import emu.nebula.game.inventory.ItemParam;
import emu.nebula.game.inventory.ItemParamMap;
import emu.nebula.util.WeightedList; import emu.nebula.util.WeightedList;
public class GameConstants { public class GameConstants {
@@ -56,13 +57,18 @@ public class GameConstants {
// Daily gifts (Custom) // Daily gifts (Custom)
public static final WeightedList<ItemParam> DAILY_GIFTS = new WeightedList<>(); public static final WeightedList<ItemParam> DAILY_SHOP_GIFTS = new WeightedList<>();
public static final WeightedList<ItemParamMap> DAILY_MALL_GIFTS = new WeightedList<>();
static { static {
DAILY_GIFTS.add(1000, new ItemParam(GOLD_ITEM_ID, 8888)); DAILY_SHOP_GIFTS.add(1000, new ItemParam(GOLD_ITEM_ID, 8888));
DAILY_GIFTS.add(250, new ItemParam(GOLD_ITEM_ID, 18888)); DAILY_SHOP_GIFTS.add(250, new ItemParam(GOLD_ITEM_ID, 18888));
DAILY_GIFTS.add(250, new ItemParam(33001, 10)); DAILY_SHOP_GIFTS.add(250, new ItemParam(33001, 10));
DAILY_GIFTS.add(10, new ItemParam(GEM_ITEM_ID, 50)); 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 // Helper functions
@@ -144,4 +144,31 @@ public class ItemParamMap extends Int2IntLinkedOpenHashMap implements ObjectBidi
return map; 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;
}
} }
@@ -467,7 +467,7 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject {
return change.setSuccess(true); return change.setSuccess(true);
} }
// Daily shop reward // Daily rewards
public PlayerChangeInfo claimDailyShopGift() { public PlayerChangeInfo claimDailyShopGift() {
// Sanity check // Sanity check
@@ -476,7 +476,7 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject {
} }
// Daily shop reward // 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()); var change = this.getPlayer().getInventory().addItem(reward.getId(), reward.getCount());
// Set and update in database // Set and update in database
@@ -497,8 +497,8 @@ public class QuestManager extends PlayerManager implements GameDatabaseObject {
} }
// Daily mall reward // Daily mall reward
var reward = GameConstants.DAILY_GIFTS.next(); var rewards = GameConstants.DAILY_MALL_GIFTS.next();
var change = this.getPlayer().getInventory().addItem(reward.getId(), reward.getCount()); var change = this.getPlayer().getInventory().addItems(rewards);
// Set and update in database // Set and update in database
this.dailyMallReward = true; this.dailyMallReward = true;