@name Functions
function entity:turnTo(Tarang:angle){
V = This:toLocal(rotationVector(quat(Tarang)/quat(This))+This:pos())
This:applyTorque((100*V - 30*This:angVelVector())*This:inertia()/3)
}
function entity:goto(Vector:vector){
 This:applyForce(((Vector-This:pos())*25-This:vel())*This:mass())   
}
function entity:hover(Pos:vector,Dir:vector,Height:number,Strength:number){
    rangerHitWater(1)
    local R = rangerOffset(Height+50,Pos,Dir)
    local InAir = (Height - R:distance())<0
    local Force = (Height - R:distance())
    local Dir2 = -Dir*(!InAir)
    This:applyForce(Force*Strength*Dir2)
    This:applyForce(vec(0,0,-This:vel():z())*This:mass()*0.2*(!InAir))
}   
function entity:targZ(Z:number){
    local Force = Z-This:pos():z()
    This:applyForce(vec(0,0,Force)*This:mass()*10)
    This:applyForce(vec(0,0,-This:vel():z())*This:mass()*0.2)
}
function entity:moveFly(V:vector){
local Vec = V - This:pos()
This:applyForce(Vec*This:mass())
}
