mirror of
http://repo.or.cz/minetest_pyramids/tsm_pyramids.git
synced 2024-12-22 23:40:18 +01:00
Fix overwrtiting globals of animations
This commit is contained in:
parent
b0d4fdd1d9
commit
18abc7a419
46
mummy.lua
46
mummy.lua
@ -1,16 +1,16 @@
|
|||||||
--pyramids = {}
|
--pyramids = {}
|
||||||
|
|
||||||
walk_limit = 1
|
local mummy_walk_limit = 1
|
||||||
chillaxin_speed = 1
|
local mummy_chillaxin_speed = 1
|
||||||
animation_speed = 10
|
local mummy_animation_speed = 10
|
||||||
-- Note: This is currently broken due to a bug in Irrlicht, leave at 0
|
-- Note: This is currently broken due to a bug in Irrlicht, leave at 0
|
||||||
animation_blend = 0
|
local mummy_animation_blend = 0
|
||||||
|
|
||||||
-- Default player appearance
|
-- Default player appearance
|
||||||
mummy_mesh = "pyramids_mummy.x"
|
local mummy_mesh = "pyramids_mummy.x"
|
||||||
mummy_texture = {"pyramids_mummy.png"}
|
local mummy_texture = {"pyramids_mummy.png"}
|
||||||
mummy_hp = 20
|
local mummy_hp = 20
|
||||||
mummy_drop = "default:papyrus"
|
local mummy_drop = "default:papyrus"
|
||||||
|
|
||||||
local sound_normal = "mummy"
|
local sound_normal = "mummy"
|
||||||
local sound_hit = "mummy_hurt"
|
local sound_hit = "mummy_hurt"
|
||||||
@ -19,7 +19,7 @@ local sound_dead = "mummy_death"
|
|||||||
local spawner_range = 17
|
local spawner_range = 17
|
||||||
local spawner_max_mobs = 6
|
local spawner_max_mobs = 6
|
||||||
|
|
||||||
function get_animations_def()
|
local function get_animations()
|
||||||
return {
|
return {
|
||||||
stand_START = 74,
|
stand_START = 74,
|
||||||
stand_END = 74,
|
stand_END = 74,
|
||||||
@ -58,10 +58,10 @@ function hit(self)
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
function npc_update_visuals_def(self)
|
function mummy_update_visuals_def(self)
|
||||||
--local name = get_player_name()
|
--local name = get_player_name()
|
||||||
visual = default_model_def
|
visual = default_model_def
|
||||||
npc_anim = 0 -- Animation will be set further below immediately
|
mummy_npc_anim = 0 -- Animation will be set further below immediately
|
||||||
--npc_sneak[name] = false
|
--npc_sneak[name] = false
|
||||||
prop = {
|
prop = {
|
||||||
mesh = mummy_mesh,
|
mesh = mummy_mesh,
|
||||||
@ -109,7 +109,7 @@ spawner_DEF = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
spawner_DEF.on_activate = function(self)
|
spawner_DEF.on_activate = function(self)
|
||||||
npc_update_visuals_def(self)
|
mummy_update_visuals_def(self)
|
||||||
self.object:setvelocity({x=0, y=0, z=0})
|
self.object:setvelocity({x=0, y=0, z=0})
|
||||||
self.object:setacceleration({x=0, y=0, z=0})
|
self.object:setacceleration({x=0, y=0, z=0})
|
||||||
self.object:set_armor_groups({immortal=1})
|
self.object:set_armor_groups({immortal=1})
|
||||||
@ -131,9 +131,9 @@ spawner_DEF.on_punch = function(self, hitter)
|
|||||||
end
|
end
|
||||||
|
|
||||||
MUMMY_DEF.on_activate = function(self)
|
MUMMY_DEF.on_activate = function(self)
|
||||||
npc_update_visuals_def(self)
|
mummy_update_visuals_def(self)
|
||||||
self.anim = get_animations_def()
|
self.anim = get_animations()
|
||||||
self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed, animation_blend)
|
self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, mummy_animation_speed, mummy_animation_blend)
|
||||||
self.npc_anim = ANIM_STAND
|
self.npc_anim = ANIM_STAND
|
||||||
self.object:setacceleration({x=0,y=-20,z=0})--20
|
self.object:setacceleration({x=0,y=-20,z=0})--20
|
||||||
self.state = 1
|
self.state = 1
|
||||||
@ -168,7 +168,7 @@ MUMMY_DEF.on_punch = function(self, puncher, time_from_last_punch, tool_capabili
|
|||||||
--self.direction = dir
|
--self.direction = dir
|
||||||
self.direction = {x=self.object:getvelocity().x, y=self.object:getvelocity().y, z=self.object:getvelocity().z}
|
self.direction = {x=self.object:getvelocity().x, y=self.object:getvelocity().y, z=self.object:getvelocity().z}
|
||||||
self.punch_timer = 0
|
self.punch_timer = 0
|
||||||
self.object:setvelocity({x=dir.x*chillaxin_speed,y=5,z=dir.z*chillaxin_speed})--self.object:setvelocity({x=dir.x*4,y=5,z=dir.z*4})
|
self.object:setvelocity({x=dir.x*mummy_chillaxin_speed,y=5,z=dir.z*mummy_chillaxin_speed})--self.object:setvelocity({x=dir.x*4,y=5,z=dir.z*4})
|
||||||
if self.state == 1 then
|
if self.state == 1 then
|
||||||
self.state = 8
|
self.state = 8
|
||||||
elseif self.state >= 2 then
|
elseif self.state >= 2 then
|
||||||
@ -241,7 +241,7 @@ MUMMY_DEF.on_step = function(self, dtime)
|
|||||||
if self.punch_timer > 0.15 then
|
if self.punch_timer > 0.15 then
|
||||||
--self.direction = {x = math.sin(self.yaw)*-1, y = -20, z = math.cos(self.yaw)}
|
--self.direction = {x = math.sin(self.yaw)*-1, y = -20, z = math.cos(self.yaw)}
|
||||||
if self.state == 9 then
|
if self.state == 9 then
|
||||||
self.object:setvelocity({x=self.direction.x*chillaxin_speed,y=-20,z=self.direction.z*chillaxin_speed})
|
self.object:setvelocity({x=self.direction.x*mummy_chillaxin_speed,y=-20,z=self.direction.z*mummy_chillaxin_speed})
|
||||||
self.state = 2
|
self.state = 2
|
||||||
elseif self.state == 8 then
|
elseif self.state == 8 then
|
||||||
self.object:setvelocity({x=0,y=-20,z=0})
|
self.object:setvelocity({x=0,y=-20,z=0})
|
||||||
@ -278,8 +278,8 @@ MUMMY_DEF.on_step = function(self, dtime)
|
|||||||
end
|
end
|
||||||
self.object:setvelocity({x=0,y=self.object:getvelocity().y,z=0})
|
self.object:setvelocity({x=0,y=self.object:getvelocity().y,z=0})
|
||||||
if self.npc_anim ~= ANIM_STAND then
|
if self.npc_anim ~= ANIM_STAND then
|
||||||
self.anim = get_animations_def()
|
self.anim = get_animations()
|
||||||
self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed, animation_blend)
|
self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, mummy_animation_speed, mummy_animation_blend)
|
||||||
self.npc_anim = ANIM_STAND
|
self.npc_anim = ANIM_STAND
|
||||||
end
|
end
|
||||||
if self.attacker ~= "" then
|
if self.attacker ~= "" then
|
||||||
@ -291,7 +291,7 @@ MUMMY_DEF.on_step = function(self, dtime)
|
|||||||
if self.state == 2 then
|
if self.state == 2 then
|
||||||
|
|
||||||
if self.direction ~= nil then
|
if self.direction ~= nil then
|
||||||
self.object:setvelocity({x=self.direction.x*chillaxin_speed,y=self.object:getvelocity().y,z=self.direction.z*chillaxin_speed})
|
self.object:setvelocity({x=self.direction.x*mummy_chillaxin_speed,y=self.object:getvelocity().y,z=self.direction.z*mummy_chillaxin_speed})
|
||||||
end
|
end
|
||||||
if self.turn_timer > math.random(1,4) and not self.attacker then
|
if self.turn_timer > math.random(1,4) and not self.attacker then
|
||||||
self.yaw = 360 * math.random()
|
self.yaw = 360 * math.random()
|
||||||
@ -302,8 +302,8 @@ MUMMY_DEF.on_step = function(self, dtime)
|
|||||||
--self.object:setacceleration(self.direction)
|
--self.object:setacceleration(self.direction)
|
||||||
end
|
end
|
||||||
if self.npc_anim ~= ANIM_WALK then
|
if self.npc_anim ~= ANIM_WALK then
|
||||||
self.anim = get_animations_def()
|
self.anim = get_animations()
|
||||||
self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed, animation_blend)
|
self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, mummy_animation_speed, mummy_animation_blend)
|
||||||
self.npc_anim = ANIM_WALK
|
self.npc_anim = ANIM_WALK
|
||||||
end
|
end
|
||||||
--[[jump
|
--[[jump
|
||||||
@ -406,4 +406,4 @@ if not minetest.setting_getbool("only_peaceful_mobs") then
|
|||||||
end
|
end
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user