diff --git a/src/engine/gameManager/ForgeManager.java b/src/engine/gameManager/ForgeManager.java index 64f3873a..75d96b86 100644 --- a/src/engine/gameManager/ForgeManager.java +++ b/src/engine/gameManager/ForgeManager.java @@ -381,6 +381,7 @@ public enum ForgeManager implements Runnable { int modifier = 0; ModTypeTableEntry modTypeTableEntry = null; + ModTableEntry modRollEntry = null; int modifierRoll; switch (itemModType) { @@ -400,13 +401,14 @@ public enum ForgeManager implements Runnable { modifierRoll = ThreadLocalRandom.current().nextInt(1, 100 + 1); if (modifierRoll < 80) { - modifier = LootManager.TableRoll(vendor.getLevel(), false); - ModTableEntry modTableEntry = ModTableEntry.rollTable(modTable, modifier); - AbstractPowerAction abstractPowerAction = PowersManager.getPowerActionByIDString(modTableEntry.action); + modifierRoll = LootManager.TableRoll(vendor.getLevel(), false); + modRollEntry = ModTableEntry.rollTable(modTypeTableEntry.modTableID, modifierRoll); + } + + if (modRollEntry != null) { + AbstractPowerAction abstractPowerAction = PowersManager.getPowerActionByIDString(modRollEntry.action); modifier = abstractPowerAction.getEffectsBase().getToken(); } - else - modifier = 0; return modifier; }