add experimental rock golem like mob

master
Sumyjkl 2022-09-01 15:25:03 +10:00
parent 15a8175842
commit f46d7e20a6
4 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,42 @@
minetest.register_entity("pmb_kelar:kelar", {
initial_properties = {
visual = "mesh",
mesh = "kelar.b3d",
textures = {"kelar.png"},
use_texture_alpha = true,
stepheight = 0.5,
hp_max = 10,
physical = true,
-- collision_box = {0, 0, 0, 0, 0, 0},
automatic_face_movement_dir = 90.0,
automatic_face_movement_max_rotation_per_sec = 180,
},
on_step = pmb_entity_api.get_default_movement(function(self)
--self.object:remove()
--if true then return end
local v = self.object:get_velocity()
local overall_vel = math.sqrt((v.x^2) + (v.y^2) + (v.z^2))
if self._pmb_to_pos and overall_vel > 1 then
pmb_entity_api.set_my_animation(self, "charge", nil, {"charge"})
else
pmb_entity_api.set_my_animation(self, "idle", nil, {"idle"})
end
end),
on_activate = function(self)
self.object:set_armor_groups({fleshy=70, cracky=100})
end,
_pmb_speed = 4,
_pmb_hostile = {player=1},
_animations = {
idle = {frames={x=0, y=39}},
charge = {frames={x=50, y=69}},
}
})
minetest.register_craftitem("pmb_kelar:kelar_spawn",
{
description = "Golem spawn egg",
on_place = function(itemstack, placer, pointed_thing)
local ent = minetest.add_entity(vector.offset(minetest.get_pointed_thing_position(pointed_thing), 0, 1, 0), "pmb_kelar:kelar")
end,
})

View File

@ -0,0 +1,4 @@
name = pmb_kelar
author = PMB team
description = Adds a hostile kelar
depends = pmb_entity_api

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB