CLASS CLuaLocomotion
{
	FUNC Approach, SERVER
	{
		DESC Sets the location we want to get to
		IN goal, PN_Vector, #The vector we want to get to
		IN goalweight, PN_Number, #If unsure then set this to 1
	}
	FUNC ClearStuck, SERVER
	{
		DESC Removes the stuck status from the bot
	}
	FUNC FaceTowards, SERVER
	{
		DESC Sets the direction we want to face
		IN goal, PN_Vector, #The vector we want to face
	}
	PURE GetAcceleration, SERVER
	{
		DESC Returns the acceleration speed
		OUT speed, PN_Number, #Current acceleration speed
	}
	PURE GetCurrentAcceleration, SERVER
	{
		DESC Returns the current acceleration as a vector
		OUT acceleration, PN_Vector, #Current acceleration
	}
	PURE GetDeathDropHeight, SERVER
	{
		DESC Gets the height the bot is scared to fall from
		OUT height, PN_Number, #Current death drop height
	}
	PURE GetDeceleration, SERVER
	{
		DESC Gets the deceleration speed
		OUT deceleration, PN_Number, #Current deceleration speed
	}
	PURE GetGravity, SERVER
	{
		DESC  number
		OUT gravity, PN_Number, #The gravity.
	}
	PURE GetGroundMotionVector, SERVER
	{
		DESC Return unit vector in XY plane describing our direction of motion - even if we are currently not moving
		OUT vector, PN_Vector, #A vector representing the X and Y movement
	}
	PURE GetJumpHeight, SERVER
	{
		DESC Gets the height of the bot's jump
		OUT height, PN_Number, #Current jump height
	}
	PURE GetMaxJumpHeight, SERVER
	{
		DESC Returns maximum jump height of this CLuaLocomotion.
		OUT maxHeight, PN_Number, #The maximum jump height.
	}
	PURE GetMaxYawRate, SERVER
	{
		DESC Returns the max rate at which the NextBot can visually rotate.
		OUT rate, PN_Number, #Maximum yaw rate
	}
	PURE GetNextBot, SERVER
	{
		DESC Returns the NextBot this locomotion is associated with.
		OUT bot, PN_Ref, PNF_None, NextBot, #The nextbot
	}
	PURE GetStepHeight, SERVER
	{
		DESC Gets the max height the bot can step up
		OUT height, PN_Number, #Current step height
	}
	PURE GetVelocity, SERVER
	{
		DESC Returns the current movement velocity as a vector
		OUT velocity, PN_Vector, #Current velocity
	}
	PURE IsAreaTraversable, SERVER
	{
		DESC Returns whether this CLuaLocomotion can reach and/or traverse/move in given CNavArea.
		IN area, PN_Ref, PNF_None, CNavArea, #The area to test
		OUT traversable, PN_Bool, #Whether this CLuaLocomotion can traverse given CNavArea.
	}
	PURE IsAttemptingToMove, SERVER
	{
		DESC Returns true if we're trying to move.
		OUT trying, PN_Bool, #Whether we're trying to move or not.
	}
	PURE IsClimbingOrJumping, SERVER
	{
		DESC Returns true of the locomotion engine is jumping or climbing
		OUT result, PN_Bool, #Whether we're climbing or jumping or not
	}
	PURE IsOnGround, SERVER
	{
		DESC Returns whether the nextbot this locomotion is attached to is on ground or not.
		OUT onGround, PN_Bool, #Whether the nextbot is on ground or not.
	}
	PURE IsStuck, SERVER
	{
		DESC Returns true if we're stuck
		OUT stuck, PN_Bool, #Whether we're stuck or not
	}
	PURE IsUsingLadder, SERVER
	{
		DESC Returns whether or not the target in question is on a ladder or not.
		OUT usingLadder, PN_Bool, #If the target is on a ladder or not.
	}
	FUNC Jump, SERVER
	{
		DESC Makes the bot jump
	}
	FUNC JumpAcrossGap, SERVER
	{
		DESC  Vector landingGoal
		IN landingGoal, PN_Vector
		IN landingForward, PN_Vector
	}
	FUNC SetAcceleration, SERVER
	{
		DESC Sets the acceleration speed
		IN speed, PN_Number, #Speed acceleration (default is 400)
	}
	FUNC SetDeathDropHeight, SERVER
	{
		DESC Sets the height the bot is scared to fall from.
		IN height, PN_Number, #Height (default is 200)
	}
	FUNC SetDeceleration, SERVER
	{
		DESC Sets the deceleration speed.
		IN deceleration, PN_Number, #New deceleration speed (default is 400)
	}
	FUNC SetDesiredSpeed, SERVER
	{
		DESC Sets movement speed.
		IN speed, PN_Number, #The new desired speed
	}
	FUNC SetGravity, SERVER
	{
		DESC With values 0 or below, or even lower positive values, the nextbot will start to drift sideways, use CLuaLocomotion:SetVelocity to counteract this.
		IN gravity, PN_Number, #New gravity to set. Default is 1000.
	}
	FUNC SetJumpHeight, SERVER
	{
		DESC Sets the height of the bot's jump
		IN height, PN_Number, #Height (default is 58)
	}
	FUNC SetMaxYawRate, SERVER
	{
		DESC Sets the max rate at which the NextBot can visually rotate. This will not affect moving or pathing.
		IN yawRate, PN_Number, #Desired new maximum yaw rate
	}
	FUNC SetStepHeight, SERVER
	{
		DESC Sets the max height the bot can step up
		IN height, PN_Number, #Height (default is 18)
	}
	FUNC SetVelocity, SERVER
	{
		DESC Sets the current movement velocity
		IN velocity, PN_Vector
	}
}