diff --git a/api/mob_ai.lua b/api/mob_ai.lua index 489e476..3ed21ee 100644 --- a/api/mob_ai.lua +++ b/api/mob_ai.lua @@ -591,12 +591,14 @@ function animalia.action_melee(self, target) if stage == 2 and dist < mob.width + 1 then mob:punch_target(target) - local knockback = minetest.calculate_knockback( - target, mob.object, 1.0, - {damage_groups = {fleshy = mob.damage}}, - dir, 2.0, mob.damage - ) - target:add_velocity({x = dir.x * knockback, y = dir.y * knockback, z = dir.z * knockback}) + if target:get_pos() then -- target may have died and disappeared + local knockback = minetest.calculate_knockback( + target, mob.object, 1.0, + {damage_groups = {fleshy = mob.damage}}, + dir, 2.0, mob.damage + ) + target:add_velocity({x = dir.x * knockback, y = dir.y * knockback, z = dir.z * knockback}) + end stage = 3 end