Optionally disable impact particles (can improve server lag)

This commit is contained in:
Lars 2022-04-05 17:58:18 -07:00
parent 90ffde8318
commit 1d35c79f1a
2 changed files with 17 additions and 4 deletions

@ -25,6 +25,9 @@ initial_properties = {
collisionbox = {-0.0025, -0.0025, -0.0025, 0.0025, 0.0025, 0.0025}, 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) 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) 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 and
minetest.registered_nodes[minetest.get_node(moveresult.collisions[1].node_pos).name].tiles[1] minetest.registered_nodes[minetest.get_node(moveresult.collisions[1].node_pos).name].tiles[1]
then then
@ -199,6 +203,7 @@ end end
else else
if math.random(1,100) <= nodePen then if math.random(1,100) <= nodePen then
if use_particles then
for i=1,10 do for i=1,10 do
minetest.add_particle({ minetest.add_particle({
pos = self.object:get_pos(), pos = self.object:get_pos(),
@ -212,6 +217,7 @@ if math.random(1,100) <= nodePen then
glow = 2, glow = 2,
}) })
end end
end
minetest.sound_play("default_dig_cracky", {pos = self.object:get_pos(), gain = 1.0}) 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_properties({collisionbox = {0,0,0,0,0,0}})
--minetest.chat_send_all("hit") --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}) 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 for i = 1,math.random(3,6) do
minetest.add_particle({ minetest.add_particle({
pos = self.object:get_pos(), pos = self.object:get_pos(),
@ -237,6 +244,7 @@ for i = 1,math.random(3,6) do
glow = 15, glow = 15,
}) })
end end
end
self.object:set_properties({collisionbox = {0,0,0,0,0,0}}) self.object:set_properties({collisionbox = {0,0,0,0,0,0}})
self.object:set_velocity(moveresult.collisions[1].old_velocity) 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 math.random(1,100) <= mobPen then
if use_particles then
for i=1,10 do for i=1,10 do
minetest.add_particle({ minetest.add_particle({
pos = self.object:get_pos(), pos = self.object:get_pos(),
@ -344,6 +353,7 @@ if math.random(1,100) <= mobPen then
glow = 2, glow = 2,
}) })
end end
end
minetest.sound_play("default_dig_cracky", {pos = self.object:get_pos(), gain = 1.0}) 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_properties({collisionbox = {0,0,0,0,0,0}})
self.object:set_velocity(moveresult.collisions[1].old_velocity) self.object:set_velocity(moveresult.collisions[1].old_velocity)

@ -25,15 +25,18 @@ rangedweapons_headshot_dmg_multiplier (Headshot Damage Multiplier) float 1.75
# Damage multiplier for hits on mobs # Damage multiplier for hits on mobs
rangedweapons_mob_dmg_multiplier (Mob Damage Multiplier) float 1.0 rangedweapons_mob_dmg_multiplier (Mob Damage Multiplier) float 1.0
# Amount of blood # Amount of blood (0 to disable)
rangedweapons_bloodyness (Bloodyness) int 10 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 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 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_shurikens (Enable Shurikens) bool true
rangedweapons_handguns (Enable Handgus) bool true rangedweapons_handguns (Enable Handgus) bool true