- function(gravity, player)
- local vel = player:get_player_velocity()
- if debug then player:hud_change(hangglider.debug[pname].id, "text", vel.y..', '..player:get_physics_override().gravity..', '..tostring(hangglider.airbreak[pname])) end
- return ((vel.y + 3)/20)
+ function(phys, player) -- blend
+ local vel_y = player:get_player_velocity().y
+ if debug then player:hud_change(hangglider.debug[pname].id, "text", vel_y..', '..player:get_physics_override().gravity..', '..tostring(hangglider.airbreak[pname])) end
+ phys.gravity = phys.gravity*((vel_y + 3)/20)
+ if vel_y < 0 and vel_y > -3 then
+ phys.speed = phys.speed*(math.abs(vel_y/2) + 0.75)
+ elseif vel_y <= -3 then --Cap our gliding movement speed.
+ phys.speed = phys.speed*2.25
+ end
+