From 43cc616896608039d5c8581a86b99665cad27c18 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Thu, 5 Oct 2023 04:31:00 -0700 Subject: [PATCH] Fix relics generating with a sub affix that was the same type as the main affix --- src/main/java/emu/lunarcore/data/GameData.java | 7 +++++-- src/main/java/emu/lunarcore/game/inventory/GameItem.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/emu/lunarcore/data/GameData.java b/src/main/java/emu/lunarcore/data/GameData.java index c1fb37a..cbae59d 100644 --- a/src/main/java/emu/lunarcore/data/GameData.java +++ b/src/main/java/emu/lunarcore/data/GameData.java @@ -43,7 +43,6 @@ public class GameData { private static Int2ObjectMap equipmentExpTypeExcelMap = new Int2ObjectOpenHashMap<>(); private static Int2ObjectMap relicExpTypeExcelMap = new Int2ObjectOpenHashMap<>(); - @Getter private static Int2ObjectMap relicMainAffixExcelMap = new Int2ObjectOpenHashMap<>(); private static Int2ObjectMap relicSubAffixExcelMap = new Int2ObjectOpenHashMap<>(); @@ -102,9 +101,13 @@ public class GameData { var excel = relicExpTypeExcelMap.get((expGroup << 16) + level); return excel != null ? excel.getExp() : 0; } + + public static RelicMainAffixExcel getRelicMainAffixExcel(int groupId, int affixId) { + return relicMainAffixExcelMap.get((groupId << 16) + affixId); + } public static RelicSubAffixExcel getRelicSubAffixExcel(int groupId, int affixId) { - return relicSubAffixExcelMap.get((groupId << 8) + affixId); + return relicSubAffixExcelMap.get((groupId << 16) + affixId); } public static FloorInfo getFloorInfo(int planeId, int floorId) { diff --git a/src/main/java/emu/lunarcore/game/inventory/GameItem.java b/src/main/java/emu/lunarcore/game/inventory/GameItem.java index 432955f..a4ee15b 100644 --- a/src/main/java/emu/lunarcore/game/inventory/GameItem.java +++ b/src/main/java/emu/lunarcore/game/inventory/GameItem.java @@ -165,7 +165,7 @@ public class GameItem { // Blacklist main affix and any sub affixes AvatarPropertyType mainAffixProperty = AvatarPropertyType.Unknown; - RelicMainAffixExcel mainAffix = GameData.getRelicMainAffixExcelMap().get(this.mainAffix); + RelicMainAffixExcel mainAffix = GameData.getRelicMainAffixExcel(getExcel().getRelicExcel().getMainAffixGroup(), this.mainAffix); if (mainAffix != null) { mainAffixProperty = mainAffix.getProperty(); }