# HoverPhysics

###### Table of Contents

Reduces yaw without effect on banking and rolling. Imitates helicopter movement.

Assumption: maneuverability is not affected by the Craft's current speed.

Obeys tooCloseToTurn for ending flight (will stop at this distance away from target destination).

Hardcoded behavior for Colony GameObjects when a ColonizingBeam or ColonizerPod ordnance ends: causes the unit to circle the planet and shrink in size and eventually disappear within it and decommission. The amount of crew on the Colony at the end of colonization is the amount of crew that the Planet will gain. Note that the Colony does not actually transfer its crew. Only one Colony Craft can colonize the same Planet at a time.

`physics = "hover"`

# Stock ODF Commands

## braccelControlStiffness

Float, Default: > 0.0

Presumably stands for "break / acceleration control stiffness": the stiffness (tolerance) of response time. Determines how far ahead to begin coming out of a turn, when to start breaking (when approaching its destination), and how quick acceleration is from rest.

Note that when brAccelControlStiffness = 0, the Craft will be unable to move other than turning very slowly in place.

`braccelcontrolstiffness = 3.5`

## frontBackInertia

Float, Default: > 0.0

Determines how much inertia the Craft has. The larger the value, the more the vessel will overshoot its destination when stopping, the harder it will be for the ship to turn or change directions sharply, and the longer the Craft will take to reach its maximum velocity.

Note that when frontBackIntertia = 0, the Craft will immediately fly off the map.

`frontbackinertia = 80`

## maxReverseSpeed *

Float, Default:

Unknown: appears to have no effect. ****Determined as a fraction of combatSpeed, this is how fast the ship can go while in reverse gear.

dev comments: This is as a fraction of combatSpeed.

`maxreversespeed = 4.0`

## velocCoeffStill

Float, Default:

Determines the Craft's turning speed when stopped in place. This is determined as the fraction of combatSpeed (1.0 = 100%).

This parameter scales with combatSpeed.

`veloccoeffstill = 0.3`

## velocWhenCoeffHalf

Float, Default:

Determines the Craft's turning speed when velocCoefStill (maximum in-place turning speed) is half of its own maximum.

`velocwhencoeffhalf = 0.7`

## pitchRotationSpeed

Float, Default:

Determines the speed at which the Craft changes its pitch. Larger values cause the vessel to flip continuously.

This parameter scales with combatSpeed.

Note that if this command is undefined, Armada will freeze. Unknown: does this interact with ServoPitch parameters in algorithm?

Notes: there exists a linear relationship between pitchRotationSpeed and ServoPitch equation at a given combatSpeed. ServoPitch scales linearly with combatSpeed.

`pitchrotationspeed = 0.0667`

## maxPitch

Float, Default: 11.5

Determines the maximum pitch angle of the Craft in degrees (1.0 = 1 degree). Pitch is used for up / down motion during combat and 3D axis movement.

Unknown: original developer comments state that it must be less than 90, but larger values do not appear to cause any issues.

`maxpitch = 45`

## rollRotationSpeed

Float, Default:

Determines the speed at which the Craft rolls. When this value is too large, the Craft will flip repeatedly

This parameter scales with combatSpeed.

Unknown: appears to interact with turnRadius or ServoYaw.

`rollrotationspeed = 0.5`

## maxRoll

Float, Default: 0.0

Determines how much the Craft rolls along its axis as it turns (1.0 = ???). When this value is too large, the Craft may jitter or tip over.

Note that if maxRoll = 0, Armada will freeze.

## turnRadius

Float, Default:

Determines the radius at which the Craft can turn (1.0 = ???). When this value is too small, the Craft will constantly attempt to correct its course, causing it to go out of control.

Unknown: does this interact with ServoYaw parameters in algorithm?

Notes: there exists a linear relationship between turnRadius and ServoYaw equation at a given combatSpeed. ServoYaw scales linearly with combatSpeed.

`turnradius = 7.5`

## upDownInertia

Float, Default:

Determines the amount of inertia in the Craft's up / down motions. This creates the effect of skidding when the vessel changes its forward heading (begins moving down / up).

`updowninertia = 5.0`

## leftRightInertia

Float, Default:

Determines the amount of inertia in the Craft's left / right motions. This creates the effect of skidding when the vessel is making a turn.

`leftrightinertia = 5.0`

## sy_yawAngleCoeff

Float, Default:

ServoYaw parameter: determines the coefficient which modifies the yaw correction algorithm (1.0 = 10 degrees???). Large values cause over-correction when the Craft turns to face its target destination.

Assumption: small coefficients modify the Craft's yaw angle corrections to be small and not overshoot.

Notes: scales linearly with combatSpeed.

`sy_yawanglecoeff = 1.0`

## sy_yawVelocCoeff

Float, Default:

ServoYaw parameter: determines the coefficient which modifies the velocity of yaw correction algorithm (sy_yawAngleCoeff). Larger values make the Craft turn more ponderously.

Assumption: small coefficients modify the Craft's yaw velocity vector to be small and allow more yaw angle corrections.

Notes: scales linearly with combatSpeed.

`sy_yawveloccoeff = 0.15`

## sp_pitchAngleCoeff

Float, Default:

ServoPitch parameter: determines the coefficient which modifies the pitch oscillation algorithm during movement (1.0 = 10 degrees???). Large values cause over-correction when the Craft is moving / facing its target destination.

Assumption: small coefficients modify the Craft's pitch angle corrections to be small and not overshoot.

Notes: scales linearly with combatSpeed???

`sp_pitchanglecoeff = -1.197`

## sp_velocAngleCoeff

Float, Default:

ServoPitch parameter: determines the coefficient which modifies the velocity of pitch correction algorithm (sp_pitchAngleCoeff). Larger values dampen the pitch oscillation.

Assumption: small coefficients modify the Craft's pitch velocity vector to be small and allow more pitch angle oscillation.

Notes: scales linearly with combatSpeed.

`sp_velocanglecoeff = 0.060`