Skip to content

Commit

Permalink
skip radiation check if the lag is elevated (> 1.5 seconds)
Browse files Browse the repository at this point in the history
  • Loading branch information
BuckarooBanzay committed Feb 17, 2020
1 parent 7b1d6b5 commit 8a7563c
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions technic/radiation.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 8a7563c

Please sign in to comment.