From 96e62f4f7be62321ae612a5640abbab09f77949c Mon Sep 17 00:00:00 2001 From: Zereff06 Date: Tue, 17 Jan 2023 09:11:54 +0200 Subject: two fix -> Isamill (#489) * fix -> isaMill damage when not work * fix-> armor reduction 20 armor points add 80% damage reduction, more points add more damage reduction * spotless Apply --- .../multi/processing/GregtechMetaTileEntity_IsaMill.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/main') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java index 931621cdde..9c10ad0357 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java @@ -213,7 +213,7 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase< this.mMillingBallBuses.clear(); } } - if (aTick % 20 == 0) { + if (aTick % 20 == 0 && isMachineRunning()) { checkForEntities(aBaseMetaTileEntity, aTick); } super.onPostTick(aBaseMetaTileEntity, aTick); @@ -255,15 +255,13 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase< continue; } else { if (aFoundEntity.getHealth() > 0) { - EntityUtils.doDamage( - aFoundEntity, mIsaMillDamageSource, (int) (aFoundEntity.getMaxHealth() / 5)); + EntityUtils.doDamage(aFoundEntity, mIsaMillDamageSource, getPlayerDamageValue(aPlayer, 10)); if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive())) { generateParticles(aFoundEntity); } } } - } - if (aFoundEntity.getHealth() > 0) { + } else if (aFoundEntity.getHealth() > 0) { EntityUtils.doDamage( aFoundEntity, mIsaMillDamageSource, Math.max(1, (int) (aFoundEntity.getMaxHealth() / 3))); if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive())) { @@ -273,6 +271,12 @@ public class GregtechMetaTileEntity_IsaMill extends GregtechMeta_MultiBlockBase< } } } + // 20 armor points add 80% damage reduction, more points add more damage reduction + private int getPlayerDamageValue(EntityPlayer player, int damage) { + int armorValue = player.getTotalArmorValue(); + int reducedDamage = (int) (damage - damage * (armorValue * 0.04)); + return Math.max(reducedDamage, 0); + } private static final AutoMap getEntities(AutoMap aPositionsToCheck, World aWorld) { AutoMap aEntities = new AutoMap(); -- cgit