fix: bats don't fly

master
root 2022-03-09 23:47:35 +01:00
parent cca7a718f6
commit 4688047f69
4 changed files with 13 additions and 11 deletions

View File

@ -69,7 +69,8 @@ petz.put_saddle = function(self, clicker, wielded_item, wielded_item_name)
another_saddle = "^petz_"..self.type.."_saddle.png"
end
end
local texture = "petz_"..self.type.."_"..self.skin_colors[self.texture_no]..".png" .. "^petz_"..self.type.."_"..saddle_type..".png"..another_saddle
local texture = "petz_"..self.type.."_"..self.skin_colors[self.texture_no]..".png"
.. "^petz_"..self.type.."_"..saddle_type..".png"..another_saddle
petz.set_properties(self, {textures = {texture}})
wielded_item:take_item()
clicker:set_wielded_item(wielded_item)

View File

@ -32,7 +32,7 @@ function petz.bh_climb(self, pos, prty)
mobkit.animate(self, 'climb')
return true
else --search for a tree
if mobkit.timer(self, 10) then
if mobkit.timer(self, 60) then
local view_range = self.view_range
local nearby_wood = minetest.find_nodes_in_area(
{x = pos.x - view_range, y = pos.y - view_range, z = pos.z - view_range},

View File

@ -48,7 +48,8 @@ end
local function get_velocity(v, yaw, y)
local x = -math.sin(yaw) * v
local z = math.cos(yaw) * v
return {x = x, y = y, z = z}
local vel = vector.new(x, y, z)
return vel
end
local function get_v(v)
@ -77,11 +78,11 @@ function petz.lq_mountdriver(self)
rot_view = math.pi/2
end
local acce_y = 0
local velo= {
x= self.max_speed_forward/3,
y= 0,
z= self.max_speed_forward/3,
}
local velo = vector.new(
self.max_speed_forward/3,
0,
self.max_speed_forward/3
)
local velocity = get_v(velo)
--minetest.chat_send_player("singleplayer", tostring(velocity))
-- process controls
@ -139,7 +140,7 @@ function petz.lq_mountdriver(self)
end
-- Set position, velocity and acceleration
local new_velo = get_velocity(velocity, self.object:get_yaw() - rot_view, velo.y)
local new_acce = {x = 0, y = mobkit.gravity, z = 0}
local new_acce = vector.new(0, mobkit.gravity, 0)
self.object:set_velocity(new_velo)
if not(self.gallop) then
mobkit.animate(self, "walk") -- set animation

View File

@ -37,7 +37,7 @@ minetest.register_entity("petz:"..pet_name,{
-- api props
springiness= 0,
buoyancy = 0.5, -- portion of hitbox submerged
max_speed = 2.5,
max_speed = 3.5,
jump_height = 2.0,
view_range = 10,
lung_capacity = 10, -- seconds
@ -61,7 +61,7 @@ minetest.register_entity("petz:"..pet_name,{
moaning = "petz_bat_moaning",
},
logic = petz.herbivore_brain,
logic = petz.flying_brain,
on_activate = function(self, staticdata, dtime_s) --on_activate, required
mobkit.actfunc(self, staticdata, dtime_s)