From 3a0b17751b9328396296b8ebe05afa910af06b15 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sun, 12 Jan 2025 00:16:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=A2=E5=8C=85=E5=BC=B9?= =?UTF-8?q?=E7=9A=84=E6=95=88=E6=9E=9C=E7=AD=89=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/event/GunEventHandler.java | 2 ++ .../network/message/FireMessage.java | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java index 8e9a416de..0c6a340f0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/GunEventHandler.java @@ -215,6 +215,8 @@ public class GunEventHandler { int amplifier; if (perk.descriptionId.equals("blade_bullet")) { amplifier = level / 3; + } else if (perk.descriptionId.equals("bread_bullet")) { + amplifier = 1; } else { amplifier = level - 1; } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java index 42eb1d861..f070c4906 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/FireMessage.java @@ -265,12 +265,26 @@ public class FireMessage { projectile.setRGB(ammoPerk.rgb); if (!ammoPerk.mobEffects.get().isEmpty()) { + int amplifier; + if (perk.descriptionId.equals("blade_bullet")) { + amplifier = level / 3; + } else if (perk.descriptionId.equals("bread_bullet")) { + amplifier = 1; + } else { + amplifier = level - 1; + } + ArrayList mobEffectInstances = new ArrayList<>(); for (MobEffect effect : ammoPerk.mobEffects.get()) { - mobEffectInstances.add(new MobEffectInstance(effect, 70 + 30 * level, level - 1)); + mobEffectInstances.add(new MobEffectInstance(effect, 70 + 30 * level, amplifier)); } projectile.effect(mobEffectInstances); } + + if (perk.descriptionId.equals("bread_bullet")) { + projectile.knockback(level * 0.3f); + projectile.forceKnockback(); + } } bypassArmorRate = Math.max(bypassArmorRate, 0);