diff --git a/src/main/java/emu/lunarcore/data/GameData.java b/src/main/java/emu/lunarcore/data/GameData.java index 183c060..b077669 100644 --- a/src/main/java/emu/lunarcore/data/GameData.java +++ b/src/main/java/emu/lunarcore/data/GameData.java @@ -56,14 +56,14 @@ public class GameData { @Getter private static Int2ObjectMap rogueMapExcelMap = new Int2ObjectOpenHashMap<>(); @Getter private static Int2ObjectMap rogueMonsterExcelMap = new Int2ObjectOpenHashMap<>(); @Getter private static Int2ObjectMap rogueDialogueEventList = new Int2ObjectOpenHashMap<>(); - @Getter private static Int2ObjectMap rogueBuffTagExcelMap = new Int2ObjectOpenHashMap<>(); @Getter private static Int2ObjectMap rogueBuffGroupExcelMap = new Int2ObjectOpenHashMap<>(); + @Getter private static Int2ObjectMap rogueBuffTagExcelMap = new Int2ObjectOpenHashMap<>(); + private static Int2ObjectMap rogueBuffExcelMap = new Int2ObjectOpenHashMap<>(); @Getter private static Int2ObjectMap rogueDLCAreaExcelMap = new Int2ObjectOpenHashMap<>(); @Getter private static Int2ObjectMap rogueNousMainStoryExcelMap = new Int2ObjectOpenHashMap<>(); @Getter private static Int2ObjectMap rogueNousSubStoryExcelMap = new Int2ObjectOpenHashMap<>(); @Getter private static Int2ObjectMap rogueNousDiceBranchExcelMap = new Int2ObjectOpenHashMap<>(); - private static Int2ObjectMap rogueBuffExcelMap = new Int2ObjectOpenHashMap<>(); private static Int2ObjectMap avatarPromotionExcelMap = new Int2ObjectOpenHashMap<>(); private static Int2ObjectMap avatarSkillTreeExcelMap = new Int2ObjectOpenHashMap<>(); diff --git a/src/main/java/emu/lunarcore/data/excel/RogueBuffExcel.java b/src/main/java/emu/lunarcore/data/excel/RogueBuffExcel.java index 3694936..7e91bad 100644 --- a/src/main/java/emu/lunarcore/data/excel/RogueBuffExcel.java +++ b/src/main/java/emu/lunarcore/data/excel/RogueBuffExcel.java @@ -8,6 +8,7 @@ import emu.lunarcore.data.GameResource; import emu.lunarcore.data.ResourceType; import emu.lunarcore.data.ResourceType.LoadPriority; import emu.lunarcore.game.enums.RogueBuffAeonType; +import emu.lunarcore.game.enums.RogueBuffCategory; import lombok.Getter; @Getter @@ -16,9 +17,9 @@ public class RogueBuffExcel extends GameResource { private int MazeBuffID; private int MazeBuffLevel; private int RogueBuffType; - private int RogueBuffRarity; private int RogueBuffTag; private int AeonID; + private RogueBuffCategory RogueBuffCategory = emu.lunarcore.game.enums.RogueBuffCategory.None; private RogueBuffAeonType BattleEventBuffType = RogueBuffAeonType.Normal; @Override @@ -33,7 +34,7 @@ public class RogueBuffExcel extends GameResource { @Override public void onLoad() { // Add to random buff list - if (RogueBuffType >= 120 && RogueBuffType <= 128 && RogueBuffRarity >= 1 && RogueBuffRarity <= 3 && MazeBuffLevel == 1 && AeonID == 0) { + if (RogueBuffType >= 120 && RogueBuffType <= 128 && RogueBuffCategory.getVal() >= 1 && RogueBuffCategory.getVal() <= 3 && MazeBuffLevel == 1 && AeonID == 0) { GameDepot.getRogueRandomBuffList().add(this); } diff --git a/src/main/java/emu/lunarcore/game/enums/RogueBuffCategory.java b/src/main/java/emu/lunarcore/game/enums/RogueBuffCategory.java new file mode 100644 index 0000000..ed98006 --- /dev/null +++ b/src/main/java/emu/lunarcore/game/enums/RogueBuffCategory.java @@ -0,0 +1,17 @@ +package emu.lunarcore.game.enums; + +import lombok.Getter; + +@Getter +public enum RogueBuffCategory { + None (0), + Common (1), + Rare (2), + Legendary (3); + + private final int val; + + private RogueBuffCategory(int value) { + this.val = value; + } +} diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java b/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java index 341a841..cd75b6b 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueBuffSelectMenu.java @@ -5,7 +5,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import emu.lunarcore.data.GameData; import emu.lunarcore.data.GameDepot; import emu.lunarcore.data.excel.RogueBuffExcel; import emu.lunarcore.proto.ItemCostOuterClass.ItemCost; @@ -32,7 +31,7 @@ public class RogueBuffSelectMenu { public RogueBuffSelectMenu() {} public RogueBuffSelectMenu(RogueInstance rogue) { - this(rogue, false, GameData.getRogueBuffGroupExcelMap().get(110002).getRogueBuffList()); + this(rogue, false, new HashSet<>()); } public RogueBuffSelectMenu(RogueInstance rogue, boolean generateAeonBuffs, Set buffs) { @@ -76,7 +75,7 @@ public class RogueBuffSelectMenu { } // Calculate buff weights - double weight = 10.0 / excel.getExcel().getRogueBuffRarity(); + double weight = 10.0 / excel.getExcel().getRogueBuffCategory().getVal(); if (getRogue().getAeonBuffType() == excel.getExcel().getRogueBuffType()) { weight *= 2; diff --git a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java index 9dffefe..49b0202 100644 --- a/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java +++ b/src/main/java/emu/lunarcore/game/rogue/RogueInstance.java @@ -300,7 +300,7 @@ public class RogueInstance { public synchronized RogueBuff enhanceBuff(int buffId) { var buff = this.getBuffs().get(buffId); if (buff == null) return null; - var cost = 100 + (buff.getExcel().getRogueBuffRarity() - 1) * 30; + var cost = 100 + (buff.getExcel().getRogueBuffCategory().getVal() - 1) * 30; if (this.getCoin() < cost) return null; this.removeCoin(cost); this.getBuffs().remove(buffId); diff --git a/src/main/java/emu/lunarcore/server/packet/send/PacketGetRogueBuffEnhanceInfoScRsp.java b/src/main/java/emu/lunarcore/server/packet/send/PacketGetRogueBuffEnhanceInfoScRsp.java index 71704af..a5fd880 100644 --- a/src/main/java/emu/lunarcore/server/packet/send/PacketGetRogueBuffEnhanceInfoScRsp.java +++ b/src/main/java/emu/lunarcore/server/packet/send/PacketGetRogueBuffEnhanceInfoScRsp.java @@ -32,7 +32,7 @@ public class PacketGetRogueBuffEnhanceInfoScRsp extends BasePacket { } public ItemCostList getItemCostList(RogueBuffExcel excel) { - int cost = 100 + (excel.getRogueBuffRarity() - 1) * 30; + int cost = 100 + (excel.getRogueBuffCategory().getVal() - 1) * 30; return ItemCostList.newInstance() .addItemList(ItemCost.newInstance() .setPileItem(PileItem.newInstance()