Skip to content

Commit

Permalink
Changes tools to use gt5u style damage system (#1)
Browse files Browse the repository at this point in the history
* Fix tools
* implement a better Durability system
  • Loading branch information
htmlcsjs authored and TechLord22 committed Jul 4, 2021
1 parent b66948c commit 5ee5d69
Show file tree
Hide file tree
Showing 12 changed files with 31 additions and 31 deletions.
38 changes: 20 additions & 18 deletions src/main/java/gregtech/api/items/toolitem/ToolMetaItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -340,31 +340,33 @@ public int damageItem(ItemStack stack, int vanillaDamage, boolean allowPartial,
energyAmount = (int) discharged;
vanillaDamage = energyAmount / ConfigHolder.energyUsageMultiplier;
if (energyAmount % ConfigHolder.energyUsageMultiplier != 0)
++vanillaDamage;
}
else {
++vanillaDamage;
} else {
// Can't do the operation
return 0;
}
}
capability.discharge(energyAmount, capability.getTier(), true, false, simulate);
}
T toolMetaItem = getItem(stack);
if (toolMetaItem == null) {
return 0;
}
IToolStats toolStats = toolMetaItem.getToolStats();
if (!toolStats.isUsingDurability(stack)) {
return vanillaDamage;
}
int itemDamage = getItemDamage(stack);
int maxDamage = getMaxItemDamage(stack);
int damageRemaining = maxDamage - itemDamage;
int newDamageValue = itemDamage + calculateToolDamage(stack, itemRand, vanillaDamage);
if (!simulate && !setInternalDamage(stack, newDamageValue)) {
GTUtility.setItem(stack, toolStats.getBrokenStack(stack));
if ( capability == null || (capability.getCharge() <= 0 || GTUtility.getRandomIntXSTR(100) <= 4)) {
T toolMetaItem = getItem(stack);
if (toolMetaItem == null) {
return 0;
}
IToolStats toolStats = toolMetaItem.getToolStats();
if (!toolStats.isUsingDurability(stack)) {
return vanillaDamage;
}
int itemDamage = getItemDamage(stack);
int maxDamage = getMaxItemDamage(stack);
int damageRemaining = maxDamage - itemDamage;
int newDamageValue = itemDamage + calculateToolDamage(stack, itemRand, vanillaDamage);
if (!simulate && !setInternalDamage(stack, newDamageValue)) {
GTUtility.setItem(stack, toolStats.getBrokenStack(stack));
}
return Math.min(vanillaDamage, damageRemaining);
}
return Math.min(vanillaDamage, damageRemaining);
return 1;
}

public int regainItemDurability(ItemStack itemStack, int maxDurabilityRegain) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolBuzzSaw.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public float getBaseDamage(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 10.0f;
return 1.0f;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolChainsawHV.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 40.0F;
return 4.F;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolChainsawLV.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 10.0f;
return 1.0F;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolChainsawMV.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 20.0F;
return 2.0F;
}

@Override
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/gregtech/common/tools/ToolDrillHV.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {
}

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 40.0F;
}
public float getMaxDurabilityMultiplier(ItemStack stack) { return 4.0F; }

@Override
public ItemStack getBrokenStack(ItemStack stack) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolDrillLV.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 10.0f;
return 1.0f;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolDrillMV.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 20.0F;
return 2.0F;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolScrewdriverLV.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public int getToolDamagePerContainerCraft(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 10.0f;
return 2.0f;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolWrenchHV.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 40.0F;
return 4.0F;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolWrenchLV.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 10.0f;
return 1.0f;
}

@Override
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/gregtech/common/tools/ToolWrenchMV.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public float getDigSpeedMultiplier(ItemStack stack) {

@Override
public float getMaxDurabilityMultiplier(ItemStack stack) {
return 20.0F;
return 2.0F;
}

@Override
Expand Down

0 comments on commit 5ee5d69

Please sign in to comment.