tweak child textures when growing

This commit is contained in:
tenplus1 2023-05-27 19:29:01 +01:00
parent b42f7c63c8
commit cc71ea4e95
1 changed files with 46 additions and 33 deletions

79
api.lua
View File

@ -25,7 +25,7 @@ local use_cmi = minetest.global_exists("cmi")
mobs = { mobs = {
mod = "redo", mod = "redo",
version = "20230526", version = "20230527",
intllib = S, intllib = S,
invis = minetest.global_exists("invisibility") and invisibility or {} invis = minetest.global_exists("invisibility") and invisibility or {}
} }
@ -1370,6 +1370,12 @@ function mob_class:breed()
self.child = false self.child = false
self.hornytimer = 0 self.hornytimer = 0
-- replace child texture with adult one
if self.mommy_tex then
self.base_texture = self.mommy_tex
self.mommy_tex = nil
end
self.object:set_properties({ self.object:set_properties({
textures = self.base_texture, textures = self.base_texture,
mesh = self.base_mesh, mesh = self.base_mesh,
@ -1504,39 +1510,46 @@ function mob_class:breed()
local ent2 = mob:get_luaentity() local ent2 = mob:get_luaentity()
local textures = self.base_texture local textures = self.base_texture
-- using specific child texture (if found) -- make sure baby is actually there
if self.child_texture then if ent2 then
textures = self.child_texture[1]
end
-- and resize to half height -- using specific child texture (if found)
mob:set_properties({ if self.child_texture then
textures = textures, textures = self.child_texture[1]
visual_size = { ent2.mommy_tex = self.base_texture
x = self.base_size.x * .5, end
y = self.base_size.y * .5
}, -- and resize to half height
collisionbox = { mob:set_properties({
self.base_colbox[1] * .5, textures = textures,
self.base_colbox[2] * .5, visual_size = {
self.base_colbox[3] * .5, x = self.base_size.x * .5,
self.base_colbox[4] * .5, y = self.base_size.y * .5
self.base_colbox[5] * .5, },
self.base_colbox[6] * .5 collisionbox = {
}, self.base_colbox[1] * .5,
selectionbox = { self.base_colbox[2] * .5,
self.base_selbox[1] * .5, self.base_colbox[3] * .5,
self.base_selbox[2] * .5, self.base_colbox[4] * .5,
self.base_selbox[3] * .5, self.base_colbox[5] * .5,
self.base_selbox[4] * .5, self.base_colbox[6] * .5
self.base_selbox[5] * .5, },
self.base_selbox[6] * .5 selectionbox = {
} self.base_selbox[1] * .5,
}) self.base_selbox[2] * .5,
-- tamed and owned by parents' owner self.base_selbox[3] * .5,
ent2.child = true self.base_selbox[4] * .5,
ent2.tamed = true self.base_selbox[5] * .5,
ent2.owner = self.owner self.base_selbox[6] * .5
}
})
-- tamed and owned by parents' owner
ent2.child = true
ent2.tamed = true
ent2.owner = self.owner
ent2.base_texture = textures
end
end, self, ent) end, self, ent)
break break