diff --git a/src/main/java/tconstruct/modifiers/tools/ModRepair.java b/src/main/java/tconstruct/modifiers/tools/ModRepair.java index a3fece18727..96e033d0228 100644 --- a/src/main/java/tconstruct/modifiers/tools/ModRepair.java +++ b/src/main/java/tconstruct/modifiers/tools/ModRepair.java @@ -64,18 +64,18 @@ private boolean calculateIfNecessary (ItemStack tool, ItemStack[] input) if (numInputs == 0) return false; - int totalRepairValue = calculateIncrease(tool, materialValue); + int totalRepairValue = calculateIncrease(tool, materialValue, numInputs); float averageRepairValue = totalRepairValue / numInputs; return numInputs == 1 || (damage - totalRepairValue >= -averageRepairValue); } - private int calculateIncrease (ItemStack tool, int materialValue) + private int calculateIncrease (ItemStack tool, int materialValue, int itemsUsed) { NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); int damage = tags.getInteger("Damage"); int dur = tags.getInteger("BaseDurability"); - int increase = (int) (50 + (dur * 0.4f * materialValue)); + int increase = (int) (50 * itemsUsed + (dur * 0.4f * materialValue)); int modifiers = tags.getInteger("Modifiers"); float mods = 1.0f; @@ -116,7 +116,7 @@ public void modify (ItemStack[] input, ItemStack tool) } } - int increase = calculateIncrease(tool, materialValue); + int increase = calculateIncrease(tool, materialValue, itemsUsed); int repair = tags.getInteger("RepairCount"); repair += itemsUsed; tags.setInteger("RepairCount", repair);