From 64e822626e26175f359721799b4335307c5aee17 Mon Sep 17 00:00:00 2001 From: garyantonyo Date: Thu, 22 Jul 2021 11:12:21 -0400 Subject: [PATCH 1/3] update PotatoCannonItem damage description to reflect changes to PotatoProjectileEntity --- .../content/curiosities/weapons/PotatoCannonItem.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java index 6e2b6c9e8..7c7db65a1 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java @@ -161,7 +161,7 @@ public class PotatoCannonItem extends ShootableItem { Vector3d sprayOffset = VecHelper.rotate(sprayBase, i * sprayChange + imperfection, Axis.Z); splitMotion = splitMotion.add(VecHelper.lookAt(sprayOffset, motion)); } - + if (i != 0) projectile.recoveryChance = 0; @@ -226,9 +226,9 @@ public class PotatoCannonItem extends ShootableItem { public void appendHoverText(ItemStack stack, World world, List tooltip, ITooltipFlag flag) { int power = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.POWER_ARROWS, stack); int punch = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.PUNCH_ARROWS, stack); - final float additionalDamage = power * 2; + final float additionalDamageMult = 1 + power * .2f; final float additionalKnockback = punch * .5f; - + getAmmoforPreview(stack).ifPresent(ammo -> { String _attack = "potato_cannon.ammo.attack_damage"; String _reload = "potato_cannon.ammo.reload_ticks"; @@ -243,14 +243,14 @@ public class PotatoCannonItem extends ShootableItem { TextFormatting green = TextFormatting.GREEN; TextFormatting darkGreen = TextFormatting.DARK_GREEN; - float damageF = type.getDamage() + additionalDamage; + float damageF = type.getDamage() * additionalDamageMult; IFormattableTextComponent damage = new StringTextComponent( damageF == MathHelper.floor(damageF) ? "" + MathHelper.floor(damageF) : "" + damageF); IFormattableTextComponent reloadTicks = new StringTextComponent("" + type.getReloadTicks()); IFormattableTextComponent knockback = new StringTextComponent("" + (type.getKnockback() + additionalKnockback)); - damage = damage.withStyle(additionalDamage > 0 ? green : darkGreen); + damage = damage.withStyle(additionalDamageMult > 1 ? green : darkGreen); knockback = knockback.withStyle(additionalKnockback > 0 ? green : darkGreen); reloadTicks = reloadTicks.withStyle(darkGreen); From 35778640ba2c99808db3dcdcd201f6edf5f305cb Mon Sep 17 00:00:00 2001 From: garyantonyo Date: Thu, 22 Jul 2021 11:16:44 -0400 Subject: [PATCH 2/3] Flooring is always done on damage calculation, so add it to the description tooltip too? --- .../create/content/curiosities/weapons/PotatoCannonItem.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java index 7c7db65a1..85e2fd6a6 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java @@ -244,8 +244,7 @@ public class PotatoCannonItem extends ShootableItem { TextFormatting darkGreen = TextFormatting.DARK_GREEN; float damageF = type.getDamage() * additionalDamageMult; - IFormattableTextComponent damage = new StringTextComponent( - damageF == MathHelper.floor(damageF) ? "" + MathHelper.floor(damageF) : "" + damageF); + IFormattableTextComponent damage = new StringTextComponent("" + MathHelper.floor(damageF)); IFormattableTextComponent reloadTicks = new StringTextComponent("" + type.getReloadTicks()); IFormattableTextComponent knockback = new StringTextComponent("" + (type.getKnockback() + additionalKnockback)); From 2ded6bd2fac14909a1f914a584581b7f660606bf Mon Sep 17 00:00:00 2001 From: garyantonyo Date: Thu, 22 Jul 2021 11:20:49 -0400 Subject: [PATCH 3/3] Remove flooring of damage as it no longer is useful with the new damage calculation --- .../create/content/curiosities/weapons/PotatoCannonItem.java | 3 ++- .../content/curiosities/weapons/PotatoProjectileEntity.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java index 85e2fd6a6..7c7db65a1 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItem.java @@ -244,7 +244,8 @@ public class PotatoCannonItem extends ShootableItem { TextFormatting darkGreen = TextFormatting.DARK_GREEN; float damageF = type.getDamage() * additionalDamageMult; - IFormattableTextComponent damage = new StringTextComponent("" + MathHelper.floor(damageF)); + IFormattableTextComponent damage = new StringTextComponent( + damageF == MathHelper.floor(damageF) ? "" + MathHelper.floor(damageF) : "" + damageF); IFormattableTextComponent reloadTicks = new StringTextComponent("" + type.getReloadTicks()); IFormattableTextComponent knockback = new StringTextComponent("" + (type.getKnockback() + additionalKnockback)); diff --git a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoProjectileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoProjectileEntity.java index 7de9a3a00..982773df5 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoProjectileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoProjectileEntity.java @@ -176,7 +176,7 @@ public class PotatoProjectileEntity extends DamagingProjectileEntity implements Vector3d hit = ray.getLocation(); Entity target = ray.getEntity(); PotatoCannonProjectileTypes projectileType = getProjectileType(); - float damage = MathHelper.floor(projectileType.getDamage() * additionalDamageMult); + float damage = projectileType.getDamage() * additionalDamageMult; float knockback = projectileType.getKnockback() + additionalKnockback; Entity owner = this.getOwner();