Prevent divide by zero (#2106)
authorsofar <sofar+github@foo-projects.org>
Sun, 8 Apr 2018 16:57:00 +0000 (09:57 -0700)
committerParamat <paramat@users.noreply.github.com>
Sun, 8 Apr 2018 16:57:00 +0000 (17:57 +0100)
This forces all explosions to damage entities within the 1 node
range. If that needs to be disabled, the damage_radius needs to
be set to 0.

mods/tnt/init.lua

index 133431c73f2298cd55e234a709bb29f69804e459..2f9ccc5addf6c7096ead1a10d53abb7585067413 100644 (file)
@@ -401,7 +401,7 @@ function tnt.boom(pos, def)
        local drops, radius = tnt_explode(pos, def.radius, def.ignore_protection,
                        def.ignore_on_blast, owner, def.explode_center)
        -- append entity drops
-       local damage_radius = (radius / def.radius) * def.damage_radius
+       local damage_radius = (radius / math.max(1, def.radius)) * def.damage_radius
        entity_physics(pos, damage_radius, drops)
        if not def.disable_drops then
                eject_drops(drops, pos, radius)