mirror of
https://codeberg.org/tenplus1/mobs_redo.git
synced 2025-01-12 19:00:21 +01:00
add check to see what hit mob, player or entity for immune_to
This commit is contained in:
parent
e32d87c70d
commit
cc0798b617
11
api.lua
11
api.lua
@ -25,7 +25,7 @@ local use_cmi = minetest.global_exists("cmi")
|
|||||||
|
|
||||||
mobs = {
|
mobs = {
|
||||||
mod = "redo",
|
mod = "redo",
|
||||||
version = "20230613",
|
version = "20230702",
|
||||||
intllib = S,
|
intllib = S,
|
||||||
invis = minetest.global_exists("invisibility") and invisibility or {}
|
invis = minetest.global_exists("invisibility") and invisibility or {}
|
||||||
}
|
}
|
||||||
@ -2873,10 +2873,17 @@ function mob_class:on_punch(hitter, tflp, tool_capabilities, dir, damage)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- check if hit by player item or entity
|
||||||
|
local hit_item = weapon_def.name
|
||||||
|
|
||||||
|
if not hitter:is_player() then
|
||||||
|
hit_item = hitter:get_luaentity().name
|
||||||
|
end
|
||||||
|
|
||||||
-- check for tool immunity or special damage
|
-- check for tool immunity or special damage
|
||||||
for n = 1, #self.immune_to do
|
for n = 1, #self.immune_to do
|
||||||
|
|
||||||
if self.immune_to[n][1] == weapon_def.name then
|
if self.immune_to[n][1] == hit_item then
|
||||||
|
|
||||||
damage = self.immune_to[n][2] or 0
|
damage = self.immune_to[n][2] or 0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user