mirror of
https://codeberg.org/tenplus1/mobs_animal.git
synced 2024-12-22 17:00:26 +01:00
redo egg drop timer, tidy code
This commit is contained in:
parent
c674ee82ed
commit
cc25b4f59b
81
chicken.lua
81
chicken.lua
@ -60,10 +60,16 @@ mobs:register_mob("mobs_animal:chicken", {
|
|||||||
mobs:capture_mob(self, clicker, 30, 50, 80, false, nil)
|
mobs:capture_mob(self, clicker, 30, 50, 80, false, nil)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
do_custom = function(self)
|
do_custom = function(self, dtime)
|
||||||
|
|
||||||
|
self.egg_timer = (self.egg_timer or 0) + dtime
|
||||||
|
if self.egg_timer < 10 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
self.egg_timer = 0
|
||||||
|
|
||||||
if self.child
|
if self.child
|
||||||
or math.random(1, 5000) > 1 then
|
or math.random(1, 100) > 1 then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -127,43 +133,42 @@ mobs:register_arrow("mobs_animal:egg_entity", {
|
|||||||
|
|
||||||
hit_node = function(self, pos, node)
|
hit_node = function(self, pos, node)
|
||||||
|
|
||||||
local num = math.random(1, 10)
|
if math.random(1, 10) > 1 then
|
||||||
|
return
|
||||||
if num == 1 then
|
|
||||||
|
|
||||||
pos.y = pos.y + 1
|
|
||||||
|
|
||||||
local nod = minetest.get_node_or_nil(pos)
|
|
||||||
|
|
||||||
if not nod
|
|
||||||
or not minetest.registered_nodes[nod.name]
|
|
||||||
or minetest.registered_nodes[nod.name].walkable == true then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local mob = minetest.add_entity(pos, "mobs_animal:chicken")
|
|
||||||
local ent2 = mob:get_luaentity()
|
|
||||||
|
|
||||||
mob:set_properties({
|
|
||||||
textures = ent2.child_texture[1],
|
|
||||||
visual_size = {
|
|
||||||
x = ent2.base_size.x / 2,
|
|
||||||
y = ent2.base_size.y / 2
|
|
||||||
},
|
|
||||||
collisionbox = {
|
|
||||||
ent2.base_colbox[1] / 2,
|
|
||||||
ent2.base_colbox[2] / 2,
|
|
||||||
ent2.base_colbox[3] / 2,
|
|
||||||
ent2.base_colbox[4] / 2,
|
|
||||||
ent2.base_colbox[5] / 2,
|
|
||||||
ent2.base_colbox[6] / 2
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
ent2.child = true
|
|
||||||
ent2.tamed = true
|
|
||||||
ent2.owner = self.playername
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
pos.y = pos.y + 1
|
||||||
|
|
||||||
|
local nod = minetest.get_node_or_nil(pos)
|
||||||
|
|
||||||
|
if not nod
|
||||||
|
or not minetest.registered_nodes[nod.name]
|
||||||
|
or minetest.registered_nodes[nod.name].walkable == true then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local mob = minetest.add_entity(pos, "mobs_animal:chicken")
|
||||||
|
local ent2 = mob:get_luaentity()
|
||||||
|
|
||||||
|
mob:set_properties({
|
||||||
|
textures = ent2.child_texture[1],
|
||||||
|
visual_size = {
|
||||||
|
x = ent2.base_size.x / 2,
|
||||||
|
y = ent2.base_size.y / 2
|
||||||
|
},
|
||||||
|
collisionbox = {
|
||||||
|
ent2.base_colbox[1] / 2,
|
||||||
|
ent2.base_colbox[2] / 2,
|
||||||
|
ent2.base_colbox[3] / 2,
|
||||||
|
ent2.base_colbox[4] / 2,
|
||||||
|
ent2.base_colbox[5] / 2,
|
||||||
|
ent2.base_colbox[6] / 2
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
ent2.child = true
|
||||||
|
ent2.tamed = true
|
||||||
|
ent2.owner = self.playername
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user