skip radiation check if the lag is elevated (> 1.5 seconds)

This commit is contained in:
BuckarooBanzay 2020-02-17 13:20:24 +01:00
parent 7b1d6b5625
commit 8a7563c096
1 changed files with 15 additions and 0 deletions

View File

@ -347,8 +347,23 @@ local function dmg_object(pos, object, strength)
end
end
-- max lag tracker
local last_max_lag = 0
local function trackMaxLag()
last_max_lag = technic.get_max_lag()
minetest.after(5, trackMaxLag)
end
-- kick off lag tracking function
trackMaxLag()
local rad_dmg_mult_sqrt = math.sqrt(1 / rad_dmg_cutoff)
local function dmg_abm(pos, node)
if last_max_lag > 1.5 then
-- too much lag, skip radiation check entirely
return
end
local strength = minetest.get_item_group(node.name, "radioactive")
local max_dist = strength * rad_dmg_mult_sqrt
for _, o in pairs(minetest.get_objects_inside_radius(pos,