diff --git a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java index ccaaf1f9a..870545467 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/ClientEventHandler.java @@ -155,7 +155,8 @@ public class ClientEventHandler { } // 开火部分 - if (GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_LEFT) == GLFW.GLFW_PRESS && player.getMainHandItem().is(ModTags.Items.NORMAL_GUN)) { + if (GLFW.glfwGetMouseButton(Minecraft.getInstance().getWindow().getWindow(), GLFW.GLFW_MOUSE_BUTTON_LEFT) == GLFW.GLFW_PRESS + && (player.getMainHandItem().is(ModTags.Items.NORMAL_GUN) || stack.is(ModItems.MINIGUN.get()))) { double customRpm = 0; @@ -172,6 +173,12 @@ public class ClientEventHandler { // cooldown in ms double cooldown = 1000 / rps; + if (stack.getItem() == ModItems.MINIGUN.get()) { + if (stack.getOrCreateTag().getDouble("overheat") != 0 || player.getCooldowns().isOnCooldown(stack.getItem()) || stack.getOrCreateTag().getDouble("minigun_rotation") < 10) { + return; + } + } + if (!clientTimer.started()) { clientTimer.start(); // 首发瞬间发射 diff --git a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java index c58dd1b31..e889f6d80 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/GunEventHandler.java @@ -93,47 +93,6 @@ public class GunEventHandler { } else if (tag.getDouble("minigun_rotation") > 0) { tag.putDouble("minigun_rotation", (tag.getDouble("minigun_rotation") - 0.5)); } - - if (tag.getDouble("overheat") == 0 - && (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).rifleAmmo > 0 - && !(player.getCooldowns().isOnCooldown(stack.getItem())) && tag.getDouble("minigun_rotation") >= 10 && player.getPersistentData().getBoolean("holdFire")) { - tag.putDouble("heat", (tag.getDouble("heat") + 0.5)); - if (tag.getDouble("heat") >= 50.5) { - tag.putDouble("overheat", 40); - player.getCooldowns().addCooldown(stack.getItem(), 40); - if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) { - SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_OVERHEAT.get(), 2f, 1f); - } - } - var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO); - float pitch = tag.getDouble("heat") <= 40 ? 1 : (float) (1 - 0.025 * Math.abs(40 - tag.getDouble("heat"))); - - if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) { - SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_FIRE_1P.get(), 2f, pitch); - player.playSound(ModSounds.MINIGUN_FIRE_3P.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.2f, pitch); - player.playSound(ModSounds.MINIGUN_FAR.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.5f, pitch); - player.playSound(ModSounds.MINIGUN_VERYFAR.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius"), pitch); - - if (perk == ModPerks.BEAST_BULLET.get()) { - player.playSound(ModSounds.HENG.get(), 4f, pitch); - SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 4f, pitch); - } - } - - - stack.getOrCreateTag().putBoolean("shoot", true); - - for (int index0 = 0; index0 < (int) stack.getOrCreateTag().getDouble("projectile_amount"); index0++) { - gunShoot(player, 2 * stack.getOrCreateTag().getDouble("spread")); - } - - player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.rifleAmmo = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).rifleAmmo - 1; - capability.syncPlayerVariables(player); - }); - - tag.putInt("fire_animation", 2); - } } /** diff --git a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java index e176102a0..d26379211 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java @@ -113,6 +113,7 @@ public class PlayerEventHandler { && stack.is(ModTags.Items.GUN) && !stack.getOrCreateTag().getBoolean("sentinel_is_charging") && !(player.getCooldowns().isOnCooldown(stack.getItem())) + && stack.getOrCreateTag().getInt("draw_time") > 35 && stack.getOrCreateTag().getInt("gun_reloading_time") == 0 && stack.getOrCreateTag().getInt("ammo") == 0 ) { diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java index fddc2f2f7..02dabf298 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/ShootMessage.java @@ -1,9 +1,14 @@ package net.mcreator.superbwarfare.network.message; import net.mcreator.superbwarfare.init.ModItems; +import net.mcreator.superbwarfare.init.ModPerks; +import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.network.ModVariables; +import net.mcreator.superbwarfare.perk.Perk; +import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.ParticleTool; +import net.mcreator.superbwarfare.tools.SoundTool; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerLevel; @@ -55,8 +60,11 @@ public class ShootMessage { ItemStack stack = player.getMainHandItem(); if (stack.is(ModTags.Items.NORMAL_GUN)) { + + double rpm = stack.getOrCreateTag().getDouble("rpm") + stack.getOrCreateTag().getInt("customRpm");; + + int coolDownownTick = (int) Math.ceil(20 / (rpm / 60)); double mode = stack.getOrCreateTag().getInt("fire_mode"); - int interval = stack.getOrCreateTag().getInt("fire_interval"); if ((player.getPersistentData().getBoolean("holdFire") || stack.getOrCreateTag().getInt("burst_fire") > 0) && !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading")) @@ -66,15 +74,17 @@ public class ShootMessage { && !player.getCooldowns().isOnCooldown(stack.getItem()) && !stack.getOrCreateTag().getBoolean("need_bolt_action")) { + int singleInterval = 0; if (mode == 0) { player.getPersistentData().putBoolean("holdFire", false); + singleInterval = coolDownownTick; } int burstCooldown = 0; if (mode == 1) { player.getPersistentData().putBoolean("holdFire", false); stack.getOrCreateTag().putInt("burst_fire", (stack.getOrCreateTag().getInt("burst_fire") - 1)); - burstCooldown = stack.getOrCreateTag().getInt("burst_fire") == 0 ? interval + 4 : 0; + burstCooldown = stack.getOrCreateTag().getInt("burst_fire") == 0 ? coolDownownTick + 4 : 0; } if (stack.getOrCreateTag().getDouble("animindex") == 1) { @@ -97,8 +107,8 @@ public class ShootMessage { } stack.getOrCreateTag().putInt("ammo", (stack.getOrCreateTag().getInt("ammo") - 1)); - stack.getOrCreateTag().putInt("fire_animation", interval); - player.getPersistentData().putInt("noRun_time", interval + 2); + stack.getOrCreateTag().putInt("fire_animation", coolDownownTick); + player.getPersistentData().putInt("noRun_time", coolDownownTick + 2); stack.getOrCreateTag().putDouble("flash_time", 2); stack.getOrCreateTag().putDouble("empty", 1); @@ -126,12 +136,6 @@ public class ShootMessage { stack.getOrCreateTag().putDouble("chamber_rot", 20); } - int actionInterval = 0; - - if (stack.getItem() == ModItems.MARLIN.get() || stack.getItem() == ModItems.M_870.get()) { - actionInterval = stack.getOrCreateTag().getInt("fire_interval"); - } - int customCoolDown = 0; if (stack.getItem() == ModItems.MARLIN.get()) { @@ -145,7 +149,7 @@ public class ShootMessage { } } - int cooldown = burstCooldown + actionInterval + customCoolDown; + int cooldown = burstCooldown + singleInterval + customCoolDown; player.getCooldowns().addCooldown(stack.getItem(), cooldown); for (int index0 = 0; index0 < (int) stack.getOrCreateTag().getDouble("projectile_amount"); index0++) { @@ -155,6 +159,46 @@ public class ShootMessage { stack.getOrCreateTag().putBoolean("shoot", true); } + } else if (stack.is(ModItems.MINIGUN.get())) { + var tag = stack.getOrCreateTag(); + if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).rifleAmmo > 0) { + tag.putDouble("heat", (tag.getDouble("heat") + 0.5)); + if (tag.getDouble("heat") >= 50.5) { + tag.putDouble("overheat", 40); + player.getCooldowns().addCooldown(stack.getItem(), 40); + if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) { + SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_OVERHEAT.get(), 2f, 1f); + } + } + var perk = PerkHelper.getPerkByType(stack, Perk.Type.AMMO); + float pitch = tag.getDouble("heat") <= 40 ? 1 : (float) (1 - 0.025 * Math.abs(40 - tag.getDouble("heat"))); + + if (!player.level().isClientSide() && player instanceof ServerPlayer serverPlayer) { + SoundTool.playLocalSound(serverPlayer, ModSounds.MINIGUN_FIRE_1P.get(), 2f, pitch); + player.playSound(ModSounds.MINIGUN_FIRE_3P.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.2f, pitch); + player.playSound(ModSounds.MINIGUN_FAR.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius") * 0.5f, pitch); + player.playSound(ModSounds.MINIGUN_VERYFAR.get(), (float) stack.getOrCreateTag().getDouble("SoundRadius"), pitch); + + if (perk == ModPerks.BEAST_BULLET.get()) { + player.playSound(ModSounds.HENG.get(), 4f, pitch); + SoundTool.playLocalSound(serverPlayer, ModSounds.HENG.get(), 4f, pitch); + } + } + + stack.getOrCreateTag().putBoolean("shoot", true); + + for (int index0 = 0; index0 < (int) stack.getOrCreateTag().getDouble("projectile_amount"); index0++) { + gunShoot(player, 2 * stack.getOrCreateTag().getDouble("spread")); + } + + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.rifleAmmo = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).rifleAmmo - 1; + capability.syncPlayerVariables(player); + }); + + tag.putInt("fire_animation", 2); + } + } } } diff --git a/src/main/resources/data/superbwarfare/guns/aa_12.json b/src/main/resources/data/superbwarfare/guns/aa_12.json index 0ecc03961..90ffdf270 100644 --- a/src/main/resources/data/superbwarfare/guns/aa_12.json +++ b/src/main/resources/data/superbwarfare/guns/aa_12.json @@ -9,7 +9,6 @@ "velocity": 13, "mag": 25, "projectile_amount": 12, - "fire_interval": 4, "weight": 1, "fire_mode": 2, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/abekiri.json b/src/main/resources/data/superbwarfare/guns/abekiri.json index 9e055a5a2..89db09012 100644 --- a/src/main/resources/data/superbwarfare/guns/abekiri.json +++ b/src/main/resources/data/superbwarfare/guns/abekiri.json @@ -9,7 +9,6 @@ "velocity": 12, "mag": 2, "projectile_amount": 12, - "fire_interval": 2, "weight": 0, "fire_mode": 0, "semi": 1, @@ -19,5 +18,6 @@ "normal_reload_time": 66, "empty_reload_time": 83, "BypassesArmor": 0.01, - "SoundRadius": 16 + "SoundRadius": 16, + "rpm": 600 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/ak_47.json b/src/main/resources/data/superbwarfare/guns/ak_47.json index b3ce6bc03..8b8047fd8 100644 --- a/src/main/resources/data/superbwarfare/guns/ak_47.json +++ b/src/main/resources/data/superbwarfare/guns/ak_47.json @@ -9,7 +9,6 @@ "velocity": 22, "mag": 30, "projectile_amount": 1, - "fire_interval": 2, "weight": 1, "fire_mode": 2, "semi": 1, @@ -19,5 +18,6 @@ "normal_reload_time": 54, "empty_reload_time": 69, "BypassesArmor": 0.2, - "SoundRadius": 14 + "SoundRadius": 14, + "rpm": 600 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/devotion.json b/src/main/resources/data/superbwarfare/guns/devotion.json index c01177d2b..b9a9c5a6b 100644 --- a/src/main/resources/data/superbwarfare/guns/devotion.json +++ b/src/main/resources/data/superbwarfare/guns/devotion.json @@ -10,7 +10,6 @@ "velocity": 25, "mag": 55, "projectile_amount": 1, - "fire_interval": 5, "weight": 1, "fire_mode": 2, "semi": 0, diff --git a/src/main/resources/data/superbwarfare/guns/glock_17.json b/src/main/resources/data/superbwarfare/guns/glock_17.json index 41f2d725a..573c9e9fd 100644 --- a/src/main/resources/data/superbwarfare/guns/glock_17.json +++ b/src/main/resources/data/superbwarfare/guns/glock_17.json @@ -9,7 +9,6 @@ "velocity": 16, "mag": 17, "projectile_amount": 1, - "fire_interval": 3, "weight": 0, "fire_mode": 0, "semi": 1, @@ -19,5 +18,6 @@ "normal_reload_time": 30, "empty_reload_time": 35, "BypassesArmor": 0.15, - "SoundRadius": 10 + "SoundRadius": 10, + "rpm": 600 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/glock_18.json b/src/main/resources/data/superbwarfare/guns/glock_18.json index bf08315a9..a0bcfd071 100644 --- a/src/main/resources/data/superbwarfare/guns/glock_18.json +++ b/src/main/resources/data/superbwarfare/guns/glock_18.json @@ -9,7 +9,6 @@ "velocity": 16, "mag": 17, "projectile_amount": 1, - "fire_interval": 1, "weight": 0, "fire_mode": 2, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/hk_416.json b/src/main/resources/data/superbwarfare/guns/hk_416.json index 0a598b912..ffb14fd31 100644 --- a/src/main/resources/data/superbwarfare/guns/hk_416.json +++ b/src/main/resources/data/superbwarfare/guns/hk_416.json @@ -9,7 +9,6 @@ "velocity": 24, "mag": 30, "projectile_amount": 1, - "fire_interval": 1, "weight": 1, "fire_mode": 2, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/k_98.json b/src/main/resources/data/superbwarfare/guns/k_98.json index 32c5b088b..a0ead803a 100644 --- a/src/main/resources/data/superbwarfare/guns/k_98.json +++ b/src/main/resources/data/superbwarfare/guns/k_98.json @@ -9,7 +9,6 @@ "velocity": 37.75, "projectile_amount": 1, "mag": 5, - "fire_interval": 2, "bolt_action_time": 22, "weight": 1, "fire_mode": 0, @@ -23,5 +22,6 @@ "iterative_time": 11, "finish_time": 18, "BypassesArmor": 0.5, - "SoundRadius": 18 + "SoundRadius": 18, + "rpm": 100 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_1911.json b/src/main/resources/data/superbwarfare/guns/m_1911.json index 1ef67e624..db0843b15 100644 --- a/src/main/resources/data/superbwarfare/guns/m_1911.json +++ b/src/main/resources/data/superbwarfare/guns/m_1911.json @@ -9,7 +9,6 @@ "velocity": 14, "mag": 7, "projectile_amount": 1, - "fire_interval": 3, "weight": 0, "fire_mode": 0, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/m_4.json b/src/main/resources/data/superbwarfare/guns/m_4.json index 034f15e9f..ca8d47d70 100644 --- a/src/main/resources/data/superbwarfare/guns/m_4.json +++ b/src/main/resources/data/superbwarfare/guns/m_4.json @@ -9,7 +9,6 @@ "velocity": 24, "mag": 30, "projectile_amount": 1, - "fire_interval": 1, "weight": 1, "fire_mode": 2, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/m_60.json b/src/main/resources/data/superbwarfare/guns/m_60.json index de2ad11b5..4dcd49a92 100644 --- a/src/main/resources/data/superbwarfare/guns/m_60.json +++ b/src/main/resources/data/superbwarfare/guns/m_60.json @@ -10,7 +10,6 @@ "velocity": 22, "mag": 100, "projectile_amount": 1, - "fire_interval": 2, "weight": 2, "fire_mode": 2, "semi": 0, @@ -20,5 +19,6 @@ "normal_reload_time": 114, "empty_reload_time": 133, "BypassesArmor": 0.25, - "SoundRadius": 15 + "SoundRadius": 15, + "rpm": 600 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_870.json b/src/main/resources/data/superbwarfare/guns/m_870.json index 59395d964..71643e061 100644 --- a/src/main/resources/data/superbwarfare/guns/m_870.json +++ b/src/main/resources/data/superbwarfare/guns/m_870.json @@ -10,7 +10,6 @@ "mag": 8, "force_stop_reloading": 1, "projectile_amount": 12, - "fire_interval": 13, "weight": 1, "fire_mode": 0, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/m_98b.json b/src/main/resources/data/superbwarfare/guns/m_98b.json index bf8b07d52..3f14b301c 100644 --- a/src/main/resources/data/superbwarfare/guns/m_98b.json +++ b/src/main/resources/data/superbwarfare/guns/m_98b.json @@ -11,7 +11,6 @@ "velocity": 47.2, "projectile_amount": 1, "mag": 5, - "fire_interval": 6, "bolt_action_time": 18, "weight": 1, "fire_mode": 0, @@ -22,5 +21,6 @@ "normal_reload_time": 64, "empty_reload_time": 86, "BypassesArmor": 0.6, - "SoundRadius": 18 + "SoundRadius": 18, + "rpm": 90 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/marlin.json b/src/main/resources/data/superbwarfare/guns/marlin.json index 9ebc2a7ec..391307b3d 100644 --- a/src/main/resources/data/superbwarfare/guns/marlin.json +++ b/src/main/resources/data/superbwarfare/guns/marlin.json @@ -10,7 +10,6 @@ "mag": 8, "force_stop_reloading": 1, "projectile_amount": 1, - "fire_interval": 10, "weight": 1, "fire_mode": 0, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/minigun.json b/src/main/resources/data/superbwarfare/guns/minigun.json index aa66e8465..9e853c258 100644 --- a/src/main/resources/data/superbwarfare/guns/minigun.json +++ b/src/main/resources/data/superbwarfare/guns/minigun.json @@ -6,10 +6,10 @@ "damage": 8, "headshot": 2, "velocity": 24, - "fire_interval": 1, "weight": 2, "fire_mode": 2, "projectile_amount": 1, "BypassesArmor": 0.3, - "SoundRadius": 14 + "SoundRadius": 14, + "rpm": 1200 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/mk_14.json b/src/main/resources/data/superbwarfare/guns/mk_14.json index d1f547257..879d2abcf 100644 --- a/src/main/resources/data/superbwarfare/guns/mk_14.json +++ b/src/main/resources/data/superbwarfare/guns/mk_14.json @@ -12,7 +12,6 @@ "velocity": 25, "mag": 20, "projectile_amount": 1, - "fire_interval": 2, "weight": 1, "fire_mode": 0, "semi": 1, @@ -22,5 +21,6 @@ "normal_reload_time": 58, "empty_reload_time": 81, "BypassesArmor": 0.4, - "SoundRadius": 16 + "SoundRadius": 16, + "rpm": 600 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json index 84e0b3cc9..9270eb9bf 100644 --- a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json +++ b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json @@ -9,7 +9,6 @@ "velocity": 42, "projectile_amount": 1, "mag": 5, - "fire_interval": 2, "bolt_action_time": 22, "weight": 1, "fire_mode": 0, @@ -22,5 +21,6 @@ "iterative_time": 11, "finish_time": 18, "BypassesArmor": 0.54, - "SoundRadius": 18 + "SoundRadius": 18, + "rpm": 90 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/ntw_20.json b/src/main/resources/data/superbwarfare/guns/ntw_20.json index e1fbaff9b..02d0496ea 100644 --- a/src/main/resources/data/superbwarfare/guns/ntw_20.json +++ b/src/main/resources/data/superbwarfare/guns/ntw_20.json @@ -12,7 +12,6 @@ "velocity": 31, "projectile_amount": 1, "mag": 3, - "fire_interval": 10, "bolt_action_time": 30, "weight": 2, "fire_mode": 0, @@ -23,5 +22,6 @@ "normal_reload_time": 64, "empty_reload_time": 87, "BypassesArmor": 1, - "SoundRadius": 22 + "SoundRadius": 22, + "rpm": 40 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/qbz_95.json b/src/main/resources/data/superbwarfare/guns/qbz_95.json index 1fb77b280..826bd08b9 100644 --- a/src/main/resources/data/superbwarfare/guns/qbz_95.json +++ b/src/main/resources/data/superbwarfare/guns/qbz_95.json @@ -9,7 +9,6 @@ "velocity": 27, "mag": 30, "projectile_amount": 1, - "fire_interval": 1, "weight": 1, "fire_mode": 2, "semi": 1, diff --git a/src/main/resources/data/superbwarfare/guns/rpk.json b/src/main/resources/data/superbwarfare/guns/rpk.json index 87d6e2a52..9e509d56f 100644 --- a/src/main/resources/data/superbwarfare/guns/rpk.json +++ b/src/main/resources/data/superbwarfare/guns/rpk.json @@ -10,7 +10,6 @@ "velocity": 24, "mag": 75, "projectile_amount": 1, - "fire_interval": 2, "weight": 1, "fire_mode": 2, "semi": 1, @@ -20,5 +19,6 @@ "normal_reload_time": 73, "empty_reload_time": 95, "BypassesArmor": 0.23, - "SoundRadius": 14 + "SoundRadius": 14, + "rpm": 600 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/sentinel.json b/src/main/resources/data/superbwarfare/guns/sentinel.json index 6fb42b66c..c90e4b834 100644 --- a/src/main/resources/data/superbwarfare/guns/sentinel.json +++ b/src/main/resources/data/superbwarfare/guns/sentinel.json @@ -9,7 +9,6 @@ "projectile_amount": 1, "headshot": 3, "velocity": 39, - "fire_interval": 2, "bolt_action_time": 22, "weight": 1, "fire_mode": 0, @@ -20,5 +19,6 @@ "normal_reload_time": 59, "empty_reload_time": 89, "BypassesArmor": 0.8, - "SoundRadius": 20 + "SoundRadius": 20, + "rpm": 90 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/sks.json b/src/main/resources/data/superbwarfare/guns/sks.json index 9f23f7f02..2a24736bf 100644 --- a/src/main/resources/data/superbwarfare/guns/sks.json +++ b/src/main/resources/data/superbwarfare/guns/sks.json @@ -9,7 +9,6 @@ "velocity": 23, "mag": 20, "projectile_amount": 1, - "fire_interval": 3, "weight": 1, "fire_mode": 0, "semi": 1, @@ -19,5 +18,6 @@ "normal_reload_time": 54, "empty_reload_time": 75, "BypassesArmor": 0.23, - "SoundRadius": 16 + "SoundRadius": 16, + "rpm": 400 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/svd.json b/src/main/resources/data/superbwarfare/guns/svd.json index 1df05e163..71badfd80 100644 --- a/src/main/resources/data/superbwarfare/guns/svd.json +++ b/src/main/resources/data/superbwarfare/guns/svd.json @@ -9,7 +9,6 @@ "velocity": 25, "mag": 10, "projectile_amount": 1, - "fire_interval": 5, "weight": 1, "fire_mode": 0, "semi": 1, @@ -19,5 +18,6 @@ "normal_reload_time": 56, "empty_reload_time": 70, "BypassesArmor": 0.45, - "SoundRadius": 17 + "SoundRadius": 17, + "rpm": 400 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/trachelium.json b/src/main/resources/data/superbwarfare/guns/trachelium.json index 0a3637eda..7863f897c 100644 --- a/src/main/resources/data/superbwarfare/guns/trachelium.json +++ b/src/main/resources/data/superbwarfare/guns/trachelium.json @@ -9,7 +9,6 @@ "velocity": 24, "mag": 6, "projectile_amount": 1, - "fire_interval": 5, "weight": 0, "fire_mode": 0, "semi": 1, @@ -18,5 +17,6 @@ "burst_size": 1, "empty_reload_time": 65, "BypassesArmor": 0.3, - "SoundRadius": 10 + "SoundRadius": 10, + "rpm": 300 } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/vector.json b/src/main/resources/data/superbwarfare/guns/vector.json index 5d49df98a..7713bc807 100644 --- a/src/main/resources/data/superbwarfare/guns/vector.json +++ b/src/main/resources/data/superbwarfare/guns/vector.json @@ -4,12 +4,11 @@ "spread": 2.3, "recoil_x": 0.007, "recoil_y": 0.007, - "damage": 4.5, + "damage": 6, "headshot": 1.5, "velocity": 16, "mag": 33, "projectile_amount": 1, - "fire_interval": 1, "weight": 0, "fire_mode": 2, "semi": 1,