1
0
mirror of https://github.com/minetest/minetest_game.git synced 2024-12-22 23:10:17 +01:00

Implement death animation, but it currently loops constantly after the player dies (the player gets up and falls to the ground forever)

This commit is contained in:
MirceaKitsune 2012-11-25 12:52:53 +02:00 committed by Perttu Ahola
parent 91da5d1308
commit c7a4a68d28

View File

@ -72,7 +72,7 @@ function on_step(dtime)
end end
local animation_speed_modified = animation_speed local animation_speed_modified = animation_speed
if controls.sneak and (walking or controls.LMB) then if controls.sneak and pl:get_hp() ~= 0 and (walking or controls.LMB) then
animation_speed_modified = animation_speed_modified / 2 animation_speed_modified = animation_speed_modified / 2
-- Refresh player animation below -- Refresh player animation below
if not player_sneak[name] then if not player_sneak[name] then
@ -87,7 +87,13 @@ function on_step(dtime)
end end
end end
if walking and controls.LMB then if pl:get_hp() == 0 then
if player_anim[name] ~= ANIM_DEATH then
-- TODO: The death animation currently loops, we must make it play only once then stay at the last frame somehow
pl:set_animation({x=anim.death_START, y=anim.death_END}, animation_speed_modified, animation_blend)
player_anim[name] = ANIM_DEATH
end
elseif walking and controls.LMB then
if player_anim[name] ~= ANIM_WALK_MINE then if player_anim[name] ~= ANIM_WALK_MINE then
pl:set_animation({x=anim.walk_mine_START, y=anim.walk_mine_END}, animation_speed_modified, animation_blend) pl:set_animation({x=anim.walk_mine_START, y=anim.walk_mine_END}, animation_speed_modified, animation_blend)
player_anim[name] = ANIM_WALK_MINE player_anim[name] = ANIM_WALK_MINE