forked from VoxeLibre/VoxeLibre
(+)zombie_head_rotation
This commit is contained in:
parent
683d973d9f
commit
690d97bc63
|
@ -3723,7 +3723,7 @@ local mob_step = function(self, dtime)
|
||||||
self._locked_object = obj
|
self._locked_object = obj
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if math.random(5000/self.curiosity) == 1 then
|
if math.random(10000/self.curiosity) == 1 then
|
||||||
self._locked_object = nil
|
self._locked_object = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -3746,7 +3746,7 @@ local mob_step = function(self, dtime)
|
||||||
local player_pos = self._locked_object:get_pos()
|
local player_pos = self._locked_object:get_pos()
|
||||||
local direction_player = vector.direction(vector.add(self.object:get_pos(), vector.new(0, self.head_eye_height*.7, 0)), vector.add(player_pos, vector.new(0, _locked_object_eye_height, 0)))
|
local direction_player = vector.direction(vector.add(self.object:get_pos(), vector.new(0, self.head_eye_height*.7, 0)), vector.add(player_pos, vector.new(0, _locked_object_eye_height, 0)))
|
||||||
local mob_yaw = math.deg(-(-(self_rot.y)-(-minetest.dir_to_yaw(direction_player))))--+self.head_yaw_offset
|
local mob_yaw = math.deg(-(-(self_rot.y)-(-minetest.dir_to_yaw(direction_player))))--+self.head_yaw_offset
|
||||||
local mob_pitch = math.deg(-dir_to_pitch(direction_player))
|
local mob_pitch = math.deg(-dir_to_pitch(direction_player))*self.head_pitch_multiplier
|
||||||
if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.type == "monster") then
|
if (mob_yaw < -60 or mob_yaw > 60) and not (self.attack and self.type == "monster") then
|
||||||
mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.multiply(oldr, 0.9))
|
mcl_util.set_bone_position(self.object,self.head_swivel, vector.new(0,self.bone_eye_height,self.horrizonatal_head_height), vector.multiply(oldr, 0.9))
|
||||||
elseif self.attack and self.type == "monster" then
|
elseif self.attack and self.type == "monster" then
|
||||||
|
@ -4012,6 +4012,7 @@ minetest.register_entity(name, {
|
||||||
use_texture_alpha = def.use_texture_alpha,
|
use_texture_alpha = def.use_texture_alpha,
|
||||||
head_swivel = def.head_swivel or nil, -- bool to activate this function
|
head_swivel = def.head_swivel or nil, -- bool to activate this function
|
||||||
head_yaw_offset = def.head_yaw_offset or 0, -- for wonkey model bones
|
head_yaw_offset = def.head_yaw_offset or 0, -- for wonkey model bones
|
||||||
|
head_pitch_multiplier = def.head_pitch_multiplier or 1, --for inverted pitch
|
||||||
bone_eye_height = def.bone_eye_height or 1.4, -- head bone offset
|
bone_eye_height = def.bone_eye_height or 1.4, -- head bone offset
|
||||||
head_eye_height = def.head_eye_height or def.bone_eye_height or 0, -- how hight aproximatly the mobs head is fromm the ground to tell the mob how high to look up at the player
|
head_eye_height = def.head_eye_height or def.bone_eye_height or 0, -- how hight aproximatly the mobs head is fromm the ground to tell the mob how high to look up at the player
|
||||||
curiosity = def.curiosity or 1, -- how often mob will look at player on idle
|
curiosity = def.curiosity or 1, -- how often mob will look at player on idle
|
||||||
|
|
Binary file not shown.
|
@ -53,6 +53,11 @@ local zombie = {
|
||||||
hp_max = 20,
|
hp_max = 20,
|
||||||
xp_min = 5,
|
xp_min = 5,
|
||||||
xp_max = 5,
|
xp_max = 5,
|
||||||
|
head_swivel = "head.control",
|
||||||
|
bone_eye_height = 6.3,
|
||||||
|
head_eye_height = 2.2,
|
||||||
|
curiosity = 7,
|
||||||
|
head_pitch_multiplier=-1,
|
||||||
breath_max = -1,
|
breath_max = -1,
|
||||||
armor = {undead = 90, fleshy = 90},
|
armor = {undead = 90, fleshy = 90},
|
||||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.8, 0.3},
|
collisionbox = {-0.3, -0.01, -0.3, 0.3, 1.8, 0.3},
|
||||||
|
@ -60,8 +65,8 @@ local zombie = {
|
||||||
mesh = "mobs_mc_zombie.b3d",
|
mesh = "mobs_mc_zombie.b3d",
|
||||||
textures = {
|
textures = {
|
||||||
{
|
{
|
||||||
"mobs_mc_zombie.png", -- texture
|
|
||||||
"mobs_mc_empty.png", -- armor
|
"mobs_mc_empty.png", -- armor
|
||||||
|
"mobs_mc_zombie.png", -- texture
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
|
@ -126,8 +131,8 @@ local husk = table.copy(zombie)
|
||||||
husk.description = S("Husk")
|
husk.description = S("Husk")
|
||||||
husk.textures = {
|
husk.textures = {
|
||||||
{
|
{
|
||||||
"mobs_mc_husk.png", -- texture
|
|
||||||
"mobs_mc_empty.png", -- armor
|
"mobs_mc_empty.png", -- armor
|
||||||
|
"mobs_mc_husk.png", -- texture
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
husk.ignited_by_sunlight = false
|
husk.ignited_by_sunlight = false
|
||||||
|
@ -142,8 +147,8 @@ mcl_mobs:register_mob("mobs_mc:husk", husk)
|
||||||
local baby_husk = table.copy(baby_zombie)
|
local baby_husk = table.copy(baby_zombie)
|
||||||
baby_husk.description = S("Baby Husk")
|
baby_husk.description = S("Baby Husk")
|
||||||
baby_husk.textures = {{
|
baby_husk.textures = {{
|
||||||
"mobs_mc_husk.png", -- texture
|
|
||||||
"mobs_mc_empty.png", -- wielded_item
|
"mobs_mc_empty.png", -- wielded_item
|
||||||
|
"mobs_mc_husk.png", -- texture
|
||||||
}}
|
}}
|
||||||
baby_husk.ignited_by_sunlight = false
|
baby_husk.ignited_by_sunlight = false
|
||||||
baby_husk.sunlight_damage = 0
|
baby_husk.sunlight_damage = 0
|
||||||
|
|
Loading…
Reference in New Issue