From a49f24564c3f4eac5fefc6d7baf3e3d8e40c4522 Mon Sep 17 00:00:00 2001 From: AFNGP <104720415+AFNGP@users.noreply.github.com> Date: Sat, 2 Dec 2023 15:39:29 +0100 Subject: [PATCH] Fix relics always doing min roll after first roll (#14) * Fix relics always doing min roll after first roll * Adjust implementation to remove stepNum --- .../java/emu/lunarcore/game/inventory/GameItem.java | 3 ++- .../emu/lunarcore/game/inventory/ItemSubAffix.java | 10 ++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/emu/lunarcore/game/inventory/GameItem.java b/src/main/java/emu/lunarcore/game/inventory/GameItem.java index ad7d9c3..efcd305 100644 --- a/src/main/java/emu/lunarcore/game/inventory/GameItem.java +++ b/src/main/java/emu/lunarcore/game/inventory/GameItem.java @@ -212,7 +212,8 @@ public class GameItem { private void upgradeRandomSubAffix() { ItemSubAffix subAffix = Utils.randomElement(this.subAffixes); - subAffix.incrementCount(); + var subAffixExcel = GameData.getRelicSubAffixExcel(this.getExcel().getRelicExcel().getSubAffixGroup(), subAffix.getId()); + subAffix.incrementCount(subAffixExcel.getStepNum()); } /** diff --git a/src/main/java/emu/lunarcore/game/inventory/ItemSubAffix.java b/src/main/java/emu/lunarcore/game/inventory/ItemSubAffix.java index 0d209ab..3257c88 100644 --- a/src/main/java/emu/lunarcore/game/inventory/ItemSubAffix.java +++ b/src/main/java/emu/lunarcore/game/inventory/ItemSubAffix.java @@ -2,6 +2,7 @@ package emu.lunarcore.game.inventory; import dev.morphia.annotations.Entity; import emu.lunarcore.data.excel.RelicSubAffixExcel; +import emu.lunarcore.data.GameData; import emu.lunarcore.proto.RelicAffixOuterClass.RelicAffix; import emu.lunarcore.util.Utils; import lombok.Getter; @@ -12,7 +13,7 @@ public class ItemSubAffix { private int id; // Affix id private int count; private int step; - + @Deprecated public ItemSubAffix() { // Morphia only! @@ -25,11 +26,12 @@ public class ItemSubAffix { public ItemSubAffix(RelicSubAffixExcel subAffix, int count) { this.id = subAffix.getAffixID(); this.count = count; - this.step = Utils.randomRange(0, subAffix.getStepNum()); + this.step = Utils.randomRange(0, 2 * subAffix.getStepNum()); } - public void incrementCount() { + public void incrementCount(int stepNum) { this.count += 1; + this.step += Utils.randomRange(0, stepNum); } public RelicAffix toProto() { @@ -40,4 +42,4 @@ public class ItemSubAffix { return proto; } -} +} \ No newline at end of file