add on_die and driver scale options

master
xachman 2020-07-21 09:43:30 -04:00
parent 7117a31a7d
commit ef873d8b0b
1 changed files with 23 additions and 2 deletions

View File

@ -62,8 +62,9 @@ mobs:register_mob("desert_life:ostrich", {
self.max_speed_reverse = 2
self.accel = 6
self.terrain_type = 3
self.driver_attach_at = {x = 0, y = y_off, z = -2}
self.driver_attach_at = {x = 0, y = y_off, z = -0.5}
self.driver_eye_offset = {x = 0, y = 3, z = 0}
self.driver_scale = {x = .125, y = .125}
end
-- if driver present allow control of horse
@ -76,6 +77,25 @@ mobs:register_mob("desert_life:ostrich", {
return true
end,
on_die = function(self, pos)
-- drop saddle when horse is killed while riding
-- also detach from horse properly
if self.driver then
minetest.add_item(pos, "mobs:saddle")
mobs.detach(self.driver, {x = 1, y = 0, z = 1})
self.saddle = nil
end
-- drop any horseshoes added
if self.shoed then
minetest.add_item(pos, self.shoed)
end
end,
on_rightclick = function(self, clicker)
-- make sure player is clicking
@ -119,7 +139,8 @@ mobs:register_mob("desert_life:ostrich", {
and clicker:get_wielded_item():get_name() == "mobs:saddle")
or self.saddle then
self.object:set_properties({stepheight = 1.1})
self.object:set_properties()
print(self.object)
mobs.attach(self, clicker)
-- take saddle from inventory