mirror of
https://codeberg.org/tenplus1/mobs_redo.git
synced 2025-01-09 17:30:21 +01:00
add attack_ignore feature (thx ShadowOfHassen for idea)
This commit is contained in:
parent
95f3e98867
commit
17dafff8ef
7
api.lua
7
api.lua
@ -14,7 +14,7 @@ local use_vh1 = minetest.get_modpath("visual_harm_1ndicators")
|
|||||||
-- Global
|
-- Global
|
||||||
mobs = {
|
mobs = {
|
||||||
mod = "redo",
|
mod = "redo",
|
||||||
version = "20240227",
|
version = "20240301",
|
||||||
translate = S,
|
translate = S,
|
||||||
invis = minetest.global_exists("invisibility") and invisibility or {},
|
invis = minetest.global_exists("invisibility") and invisibility or {},
|
||||||
node_snow = minetest.registered_aliases["mapgen_snow"]
|
node_snow = minetest.registered_aliases["mapgen_snow"]
|
||||||
@ -191,6 +191,7 @@ mobs.mob_class = {
|
|||||||
attack_animals = false,
|
attack_animals = false,
|
||||||
attack_players = true,
|
attack_players = true,
|
||||||
attack_npcs = true,
|
attack_npcs = true,
|
||||||
|
attack_ignore = nil,
|
||||||
friendly_fire = true,
|
friendly_fire = true,
|
||||||
facing_fence = false,
|
facing_fence = false,
|
||||||
_breed_countdown = nil,
|
_breed_countdown = nil,
|
||||||
@ -1908,8 +1909,9 @@ function mob_class:general_attack()
|
|||||||
-- or are we a mob?
|
-- or are we a mob?
|
||||||
elseif ent and ent._cmi_is_mob then
|
elseif ent and ent._cmi_is_mob then
|
||||||
|
|
||||||
-- remove mobs not to attack
|
-- remove mobs to not attack
|
||||||
if self.name == ent.name
|
if self.name == ent.name
|
||||||
|
or check_for(ent.name, self.attack_ignore)
|
||||||
or (not self.attack_animals and ent.type == "animal")
|
or (not self.attack_animals and ent.type == "animal")
|
||||||
or (not self.attack_monsters and ent.type == "monster")
|
or (not self.attack_monsters and ent.type == "monster")
|
||||||
or (not self.attack_npcs and ent.type == "npc")
|
or (not self.attack_npcs and ent.type == "npc")
|
||||||
@ -3688,6 +3690,7 @@ minetest.register_entity(":" .. name, setmetatable({
|
|||||||
attack_animals = def.attack_animals,
|
attack_animals = def.attack_animals,
|
||||||
attack_players = def.attack_players,
|
attack_players = def.attack_players,
|
||||||
attack_npcs = def.attack_npcs,
|
attack_npcs = def.attack_npcs,
|
||||||
|
attack_ignore = def.attack_ignore,
|
||||||
specific_attack = def.specific_attack,
|
specific_attack = def.specific_attack,
|
||||||
friendly_fire = def.friendly_fire,
|
friendly_fire = def.friendly_fire,
|
||||||
runaway_from = def.runaway_from,
|
runaway_from = def.runaway_from,
|
||||||
|
1
api.txt
1
api.txt
@ -111,6 +111,7 @@ functions needed for the mob to work properly which contains the following:
|
|||||||
'attack_animals' when true mob will attack animals.
|
'attack_animals' when true mob will attack animals.
|
||||||
'attack_npcs' when true mob will attack npcs within range.
|
'attack_npcs' when true mob will attack npcs within range.
|
||||||
'attack_players' when true mob will attack players nearby.
|
'attack_players' when true mob will attack players nearby.
|
||||||
|
'attack_ignore' string or table of mob names not to attack.
|
||||||
'owner_loyal' when true non-docile tamed mobs attack anything player
|
'owner_loyal' when true non-docile tamed mobs attack anything player
|
||||||
punches when nearby.
|
punches when nearby.
|
||||||
'group_attack' when true has same mob type grouping together to attack
|
'group_attack' when true has same mob type grouping together to attack
|
||||||
|
Loading…
Reference in New Issue
Block a user