Descriptions of upgrades

Descriptions of upgrades

Descriptions of upgrades are downloaded from the **\*\_Updgrades.json"** files located in the **"Ships/Upgrades/"** folder. Each file loads an array of descriptions, the file can contain one or more descriptions.

Upgrades are the ships elements assembled from cubes. Upgrades change the logical and visual parameters of the ship.All ships are made up of modules - upgrades. To install any upgrade, a free slot with a specific name must be available in the ship. Installed upgrade can add new slots for other upgrades. The ship has by default Root slot, from which the filling of the upgrade tree begins.

**Attention! Modification of the visual part is not yet recommended.**

Description structure

{

```
   "Name": "ExampleUpgrade",
   "RequireSlot": "ExampleSlot",
   "AddSlots": [
       "ExampleNewSlot1",
       "ExampleNewSlot2",
   ],
   "ChangeParams": [
       {
           "Type": "HullHP",
           "Value": 1000,
       },
       {
           "Visible": true,
           "Type": "PlaneAirDrag",
           "Coef": 1.25,
       }
   ],
   "SetPrefabs": [
       {
           "Prefab": "Path/FileName",
           "Hook": "HookName",
       }
   ],
   "SetEffects": [
       {
           "Prefab": "Path/FileName",
           "Hook": "HookName",
           "Rate": 1.00,
           "Speed": 1.00,
           "Size": 1.00,
       }
   ],
   "TradeParams": {
       "Icon": "GUI/Icons/Upgrades/Engine_Icon",
       "Hidden": true,
       "Sellable": false,
       "ColumnHP": "HullHP",
       "PriceCredits": 5000,
   }

```

}
**Name** - the unique name of the upgrade.
**RequireSlot** - the name of the slot that you want to upgrade for instalation.
**AddSlots** - (optional) added slots list of names.
**ChangeParams** - (optionally) the list of modifiable aggregates parameters.

* **Type** - the name of the parameter from the list below.
* **Value** - the value to which the parameter changes, can be either positive or negative (there must be either Value or Coef).
* **Coef** - the coefficient by which the parameter changes, must be> 0 (there must be either Value or Coef).
* **Visible** - flag to hide the parameter from the displayed list (optional, false by default).

**SetPrefabs** - Not recommended yet! (optional) list of prefabs of parts installed by the upgrade, can add other hooks.

* **Prefab** is the path to and the name of the prefab to be installed.
* **Hook** - the name of the hook to what the prefab will be placed.

**SetEffects** - Not recommended yet! (optional) list of prefab effects installed by the upgrade.

* **Prefab** is the path to and the name of the prefab to be installed.
* **Hook** - the name of the hook to what the prefab will be placed.
* **Rate** - Set the Rate of Effect.
* **Speed** ​​- Set the Speed ​​effect.
* **Size** - setted Size of the effect.

**TradeParams** - parameters for displaying the upgrade in the trade window.

* **Icon** - the path before and the name of the displayed icon.
* **Hidden** - (optional) flag to not show this upgrade in the ship (false by default).
* **Sellable** - (optional) flag to prohibit the sale of this upgrade without replacement (false by default).
* **ColumnHP** - (optional) the parameter name from the variable to be displayed in the HP column.
* **PriceCredits** - standard price of the upgrade.

**List of aggregate parameters**

General:

* ShipMass
* PlaneMode
* PlaneAirDrag

Hull:

* HullHP
* HullArmorCollision
* HullArmorKinetic
* HullArmorTemperature

Cargo compartment

* CargoHP
* CargoArmorCollision
* CargoArmorKinetic
* CargoArmorTemperature
* CargoCapacity
* CargoOverload

Fuel tank:

* FuelHP
* FuelArmorCollision
* FuelArmorKinetic
* FuelArmorTemperature
* FuelCapacity

Engines:

* EngineHP
* EngineArmorCollision
* EngineArmorKinetic
* EngineArmorTemperature
* EnginePower
* EngineConsumption

Wings:

* WingHP
* WingArmorCollision
* WingArmorKinetic
* WingArmorTemperature
* WingForce

Steering wheels:

* SteererHP
* SteererArmorCollision
* SteererArmorKinetic
* SteererArmorTemperature

Chassis:

* ChassisHP
* ChassisArmorCollision
* ChassisArmorKinetic
* ChassisArmorTemperature
* ChassisShiftTime,
* ChassisMotorForce,
* ChassisBrakeForce,
* ChassisSpringRate,

Radar:

* LocatorHP
* LocatorArmorCollision
* LocatorArmorKinetic
* LocatorArmorTemperature