1
0
mirror of https://codeberg.org/tenplus1/mobs_redo.git synced 2024-12-23 17:20:22 +01:00

add "hover" animation

This commit is contained in:
tenplus1 2022-04-30 12:26:36 +01:00
parent 7b429df9e9
commit 7bb5e2b382
2 changed files with 14 additions and 2 deletions

14
api.lua
View File

@ -28,7 +28,7 @@ local use_cmi = minetest.global_exists("cmi")
mobs = { mobs = {
mod = "redo", mod = "redo",
version = "20220421", version = "20220430",
intllib = S, intllib = S,
invis = minetest.global_exists("invisibility") and invisibility or {} invis = minetest.global_exists("invisibility") and invisibility or {}
} }
@ -2393,7 +2393,17 @@ function mob_class:do_states(dtime)
and self.animation and self.animation
and self.animation.fly_start and self.animation.fly_start
and self.animation.fly_end then and self.animation.fly_end then
self:set_animation("fly")
local def = minetest.registered_nodes[self.standing_on] or {}
if def.walkable
and self.animation
and self.animation.hover_start
and self.animation.hover_end then
self:set_animation("hover")
else
self:set_animation("fly")
end
else else
self:set_animation("walk") self:set_animation("walk")
end end

View File

@ -237,6 +237,8 @@ functions needed for the mob to work properly which contains the following:
'die_speed' 'die_speed'
'die_loop' when set to false stops the animation looping. 'die_loop' when set to false stops the animation looping.
'die_rotate' if true mob spins during death animation. 'die_rotate' if true mob spins during death animation.
'hover_start" hover animation when flying/swimming and solid node below
'hover_end"
Using '_loop = false' setting will stop any of the above animations from Using '_loop = false' setting will stop any of the above animations from
looping. looping.