Skip to content

Commit 5b5aa49

Browse files
paramatBlockMen
authored andcommittedAug 7, 2014
Fix boat flying up and some tweaks
1 parent 6967232 commit 5b5aa49

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed
 

‎mods/boats/init.lua

+9-7
Original file line numberDiff line numberDiff line change
@@ -106,21 +106,21 @@ function boat.on_step(self, dtime)
106106
end
107107
if ctrl.left then
108108
if ctrl.down then
109-
self.object:setyaw(yaw - math.pi / 120 - dtime * math.pi / 120)
109+
self.object:setyaw(yaw - (1 + dtime) * 0.03)
110110
else
111-
self.object:setyaw(yaw + math.pi / 120 + dtime * math.pi / 120)
111+
self.object:setyaw(yaw + (1 + dtime) * 0.03)
112112
end
113113
end
114114
if ctrl.right then
115115
if ctrl.down then
116-
self.object:setyaw(yaw + math.pi / 120 + dtime * math.pi / 120)
116+
self.object:setyaw(yaw + (1 + dtime) * 0.03)
117117
else
118-
self.object:setyaw(yaw - math.pi / 120 - dtime*math.pi/120)
118+
self.object:setyaw(yaw - (1 + dtime) * 0.03)
119119
end
120120
end
121121
end
122122
local velo = self.object:getvelocity()
123-
if self.v == 0 and velo.x == 0 and velo.z == 0 then
123+
if self.v == 0 and velo.x == 0 and velo.y == 0 and velo.z == 0 then
124124
return
125125
end
126126
local s = get_sign(self.v)
@@ -142,8 +142,10 @@ function boat.on_step(self, dtime)
142142
local nodedef = minetest.registered_nodes[minetest.get_node(p).name]
143143
if (not nodedef) or nodedef.walkable then
144144
self.v = 0
145+
new_acce = {x = 0, y = 1, z = 0}
146+
else
147+
new_acce = {x = 0, y = -9.8, z = 0} -- freefall in air -9.81
145148
end
146-
new_acce = {x = 0, y = -10, z = 0}
147149
new_velo = get_velocity(self.v, self.object:getyaw(), self.object:getvelocity().y)
148150
else
149151
p.y = p.y + 1
@@ -159,7 +161,7 @@ function boat.on_step(self, dtime)
159161
new_velo = get_velocity(self.v, self.object:getyaw(), y)
160162
else
161163
new_acce = {x = 0, y = 0, z = 0}
162-
if math.abs(self.object:getvelocity().y) < 1 then
164+
if math.abs(self.object:getvelocity().y) <= 2 then
163165
local pos = self.object:getpos()
164166
pos.y = math.floor(pos.y) + 0.5
165167
self.object:setpos(pos)

0 commit comments

Comments
 (0)
Please sign in to comment.