**NOTE: This spec has been superseded by Armor Classes and Armor Limits**

In 1.8 we plan on making armor mass more important, in order to add an extra dimension for trade-offs. The core idea is to have armor mass affect the ship's max. speed: heavy armor will slow down a ship, while light armor might allow it to go faster.

This will give the player the choice to trade off some speed to get more hit points, or vice versa.

In addition, the effect of armor mass on a ship will depend on the ship class. For example, heavy and slow ships will not be as affected, since armor is a smaller fraction of their total mass.

For the 6 *Stars of the Pilgrim* player ships, the effects will be as follows:

```
ARMOR MASS
(per segment) EI500 SAPPHIRE WOLFEN CONNIE MANTCORE FREYR
--------------------------------------------------------------------
<= 1.5 tons +.01c +.02c +.01c +.02c +.02c
<= 1.75 +.01c +.01c +.01c +.02c +.02c
<= 2.0 +.01c +.01c +.01c +.02c +.02c
<= 2.25 +.01c +.01c +.01c +.02c +.01c
<= 2.5 +.01c +.01c +.02c +.01c
<= 3.0 +.01c +.01c
<= 3.5 +.01c
<= 4.0 -.01c
<= 4.5 -.01c
<= 5.0 -.02c
<= 5.5 -.02c
<= 6.0 -.02c -.01c
<= 6.5 N/A -.01c
<= 7.0 N/A -.01c
<= 7.5 N/A -.01c -.01c
<= 8.0 N/A -.01c -.02c
<= 8.5 N/A -.01c -.02c
<= 9.0 N/A -.02c -.02c
<= 9.5 N/A -.02c -.02c
<= 10.0 -.01c N/A -.02c -0.1c -.01c -.03c
<= 10.5 -.01c N/A -.03c -0.1c -.01c -.03c
<= 11.0 -.01c N/A -.03c -0.1c -.01c -.03c
<= 12.0 -.01c N/A -.03c -0.1c -.01c -.03c
<= 13.0 -.01c N/A N/A -0.1c -.01c N/A
<= 14.0 -.01c N/A N/A -0.1c -.01c N/A
<= 15.0 -.02c N/A N/A -0.2c -.02c N/A
<= 16.0 -.02c N/A N/A -0.2c -.02c N/A
<= 17.0 -.02c N/A N/A -0.2c -.02c N/A
<= 18.0 -.02c N/A N/A -0.2c -.02c N/A
<= 19.0 -.02c N/A N/A -0.2c -.02c N/A
<= 20.0 -.02c N/A N/A -0.2c -.02c N/A
```

# Ship Class Definitions

Armor's effect on a ship class is defined in the ship class. The following parameters control this behavior:

```
<ShipClass unid="..."
maxSpeed= "20"
...
stdArmor= "3000"
maxArmor= "6000"
maxArmorSpeed= "18"
minArmorSpeed= "22"
/>
...
```

The above is a partial definition for the *Sapphire* class. `maxArmor=`

is the original parameter which controls the maximum mass of a single segment compatible with the ship. `stdArmor=`

is a new parameter which defines the "standard" mass of a single segment. At the standard mass, the ship will travel at its defined maximum speed (set to 20 above).

**maxArmorSpeed** defines the ship's speed when the maximum armor mass is installed. For example, if we install 6 ton segments on a *Sapphire* its speed will be reduced to 18.

To calculate the ship's speed at any armor mass above `stdArmor`

we use the following algorithm:

- For a given armor segment weighing
`mass`

(in kilograms): - Compute
`massRange = maxArmor - stdArmor = 3000 (for the Sapphire)`

- Compute
`speedRange = maxSpeed - maxArmorSpeed = 2`

- Compute
`massPerSpeed = floor(massRange / (speedRange + 1)) = 1000`

- Compute
`massInc = mass - stdArmor`

- Compute
`speedDec = min(speedRange, floor(massInc / massPerSpeed))`

- Subtract
`speedDec`

from`maxSpeed`

**minArmorSpeed** define's the ship's speed when installed armor is lighter than `stdArmor`

. To calculate the ship's speed at any armor mass *below* `stdArmor`

we use the following (similar) algorithm:

- For a given armor segment weighing
`mass`

(in kilograms): - Compute
`massRange = floor(stdArmor / 2) = 1500 (for the Sapphire)`

- Compute
`speedRange = minArmorSpeed - maxSpeed = 2`

- Compute
`massPerSpeed = floor(massRange / speedRange) = 750`

- Compute
`massDec = stdArmor - mass`

- Compute
`speedInc = min(speedRanage, floor(massDec / massPerSpeed))`

- Add
`speedInc`

to`maxSpeed`

In both cases, if not all armor segments are the same mass, we use the average mass of all segments.

# Default Definitions

If a ship class specifies `maxArmor=`

but none of the other parameters, then we assume the class is not affected by armor mass. This will generally be the case for all older player ships.

Ships over 1,000 tons of mass will also not be affected. Their armor is assumed to be only a fraction of their total mass.

For other ships, we will generate default values.