summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTenPlus1 <kinsellaja@yahoo.com>2018-10-01 09:20:27 +0100
committerTenPlus1 <kinsellaja@yahoo.com>2018-10-01 09:20:27 +0100
commite17f8811b1404250185479ae6e20e568e5eaee3e (patch)
treea6995bc32e8fe8bed88dff5e4c0c8f798d9fe14c
parent6bf6e8fbd86764f5bb3a45a7ce0f17681d9c76da (diff)
added attack_chance to mob definition
-rw-r--r--api.lua7
-rw-r--r--api.txt1
2 files changed, 5 insertions, 3 deletions
diff --git a/api.lua b/api.lua
index e3d60e0..64c7292 100644
--- a/api.lua
+++ b/api.lua
@@ -6,7 +6,7 @@ local use_cmi = minetest.global_exists("cmi")
mobs = {
mod = "redo",
- version = "20180928",
+ version = "20181001",
intllib = S,
invis = minetest.global_exists("invisibility") and invisibility or {},
}
@@ -117,7 +117,7 @@ local get_distance = function(a, b)
end
--- collision function based on similar from jordan4ibanez' open_ai mod
+-- collision function based on jordan4ibanez' open_ai mod
local collision = function(self)
local pos = self.object:get_pos()
@@ -1447,7 +1447,7 @@ local general_attack = function(self)
end
-- attack closest player or mob
- if min_player then
+ if min_player and random(1, 100) > self.attack_chance then
do_attack(self, min_player)
end
end
@@ -3030,6 +3030,7 @@ minetest.register_entity(name, {
follow = def.follow,
jump = def.jump ~= false,
walk_chance = def.walk_chance or 50,
+ attack_chance = def.attack_chance or 5,
passive = def.passive or false,
knock_back = def.knock_back ~= false,
blood_amount = def.blood_amount or 5,
diff --git a/api.txt b/api.txt
index 126de42..f6b8d48 100644
--- a/api.txt
+++ b/api.txt
@@ -74,6 +74,7 @@ functions needed for the mob to work properly which contains the following:
'docile_by_day' when true has mobs wandering around during daylight
hours and only attacking player at night or when
provoked.
+ 'attack_chance' 0 to 100 chance the mob will attack (default is 5).
'attack_monsters' when true mob will attack monsters.
'attack_animals' when true mob will attack animals.
'attack_npcs' when true mob will attack npcs within range.