From 1d35c79f1ad47cee0a7414f6878cef400f4a137d Mon Sep 17 00:00:00 2001 From: Lars Date: Tue, 5 Apr 2022 17:58:18 -0700 Subject: [PATCH] Optionally disable impact particles (can improve server lag) --- ammo.lua | 12 +++++++++++- settingtypes.txt | 9 ++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ammo.lua b/ammo.lua index b774eb0..8f81273 100644 --- a/ammo.lua +++ b/ammo.lua @@ -25,6 +25,9 @@ initial_properties = { collisionbox = {-0.0025, -0.0025, -0.0025, 0.0025, 0.0025, 0.0025}, }, } + +local use_particles = minetest.settings:get_bool("rangedweapons_impact_particles", true) + rangedweapons_shot_bullet.on_step = function(self, dtime, moveresult) ---------------------------------------- --------------------------------------- @@ -79,7 +82,8 @@ if moveresult.collisions[1].type == "node" then minetest.check_for_falling(moveresult.collisions[1].node_pos) -if minetest.registered_nodes[minetest.get_node(moveresult.collisions[1].node_pos).name] and +if use_particles and +minetest.registered_nodes[minetest.get_node(moveresult.collisions[1].node_pos).name] and minetest.registered_nodes[minetest.get_node(moveresult.collisions[1].node_pos).name].tiles and minetest.registered_nodes[minetest.get_node(moveresult.collisions[1].node_pos).name].tiles[1] then @@ -199,6 +203,7 @@ end end else if math.random(1,100) <= nodePen then + if use_particles then for i=1,10 do minetest.add_particle({ pos = self.object:get_pos(), @@ -212,6 +217,7 @@ if math.random(1,100) <= nodePen then glow = 2, }) end + end minetest.sound_play("default_dig_cracky", {pos = self.object:get_pos(), gain = 1.0}) self.object:set_properties({collisionbox = {0,0,0,0,0,0}}) --minetest.chat_send_all("hit") @@ -222,6 +228,7 @@ if minetest.get_item_group(minetest.get_node(moveresult.collisions[1].node_pos). minetest.sound_play("default_dig_snappy", {pos = self.object:get_pos(), gain = 1.5}) +if use_particles then for i = 1,math.random(3,6) do minetest.add_particle({ pos = self.object:get_pos(), @@ -237,6 +244,7 @@ for i = 1,math.random(3,6) do glow = 15, }) end +end self.object:set_properties({collisionbox = {0,0,0,0,0,0}}) self.object:set_velocity(moveresult.collisions[1].old_velocity) @@ -331,6 +339,7 @@ owner:hud_change(hit, "text", hit_texture) if math.random(1,100) <= mobPen then + if use_particles then for i=1,10 do minetest.add_particle({ pos = self.object:get_pos(), @@ -344,6 +353,7 @@ if math.random(1,100) <= mobPen then glow = 2, }) end + end minetest.sound_play("default_dig_cracky", {pos = self.object:get_pos(), gain = 1.0}) self.object:set_properties({collisionbox = {0,0,0,0,0,0}}) self.object:set_velocity(moveresult.collisions[1].old_velocity) diff --git a/settingtypes.txt b/settingtypes.txt index eeba660..6f3df77 100644 --- a/settingtypes.txt +++ b/settingtypes.txt @@ -25,15 +25,18 @@ rangedweapons_headshot_dmg_multiplier (Headshot Damage Multiplier) float 1.75 # Damage multiplier for hits on mobs rangedweapons_mob_dmg_multiplier (Mob Damage Multiplier) float 1.0 -# Amount of blood +# Amount of blood (0 to disable) rangedweapons_bloodyness (Bloodyness) int 10 -# Maximum Gun Skill (set to 100 to disable gaining skil) +# Maximum Gun Skill (set to 100 to disable gaining skill) rangedweapons_max_gun_efficiency (Maximum Gun Skill) int 300 -# Minimum Gun Skill (set to 100 to disable loosing skil) +# Minimum Gun Skill (set to 100 to disable loosing skill) rangedweapons_min_gun_efficiency (Minimum Gun Skill) int 40 +# Use particles on bullet impact (disabling can improve server lag) +rangedweapons_impact_particles (Particles on impact) bool true + rangedweapons_shurikens (Enable Shurikens) bool true rangedweapons_handguns (Enable Handgus) bool true