The base descriptions

The base descriptions are divided into several parts, stored separately.
Lists of bases in the world

Lists of bases in the world are downloaded from the **"\*CityList\*.json"** files located in the **"World/WorldDescrs/"** folder. Each file loads an array of descriptions, the file can contain one or more descriptions.
**Structure of the description of the list of bases in the world**

{

```
   "Name": "Raglor",
   "Cities": [
       {
           "Name": "bases_colony_spaceport",
           "CustomIcon": "GUI/Icons/Map/Base_Colony_Icon",
       },
       ...
   ]

```

}
**Name** - the name of the world to which the list of bases belongs (more in the Description of the World).
**Cities** - list of bases descriptions.

* **Name** - the unique name of the base, by which it can be referenced.
* **CustomIcon** - (optional) the path to the custom base icon, if not specified, the standard (list in the City Icons List) will be used.
* **Open** - (optional) flag, that the base is open at the beginning of the game (default is true).
* **CityRadius** - the distance from the center where the player will be considered inside the base, as well as special objects, for example the runway will be considered the object of this city (by default - 500).

Lists of goods on bases

Lists of bases goods are downloaded from the **"\*CityProducts\*.json"** files located in the **"World/WorldDescrs/"**folder. Each file loads an array of descriptions, the file can contain one or more descriptions.

**Description Structure of the Lists of bases goods**

{

```
   "Name": "bases_spaceport",
   "BuyingShip": "Ox",
   "BuyingProducts": [
       {
           "Name": "product_bio_materials",
           "ConditionAliases": [ [ "bases_spaceport_phase1" ] ]
       },
       ...
   ],
   "SellingProducts": [
       {
           "Name": "product_components_food",
           "ProductionTime": 60,
           "CreateAtOnce": true
       },
       ...
   ],
   "SellingUpgrades": [
       {
           "UpgradeName": "ScarabEnginesPower1",
           "ConditionAliases": [ [ "bases_spaceport_phase1", "PlayerHas_Scarab" ] ] //и
       },
   ]
   "NPCs": [
       {
           "Name": "Passenger_Astlan_Taxi",
           "ProductionTime": 400
       }
   ]

```

}
**Name** - the name of the base description.
**BuyingShip** - (optional) the name of the ship that can be bought on the base.
**BuyingProducts** - (optional) list of goods purchased by the base.

* **Name** - the name of the product description (more in Product Descriptions).
* **ConsumptionRate** - the rate of consumption of goods by the base in kilograms per second.
* **VolumeCostFactor** - a table of coefficients. where the first number is the quantity of goods on the base in kilograms, the second is the multiplier by the cost of the estimated purchase of the goods.
* **StartVolume** -
* **ConditionAliases** is a list of aliases condition (for details, in the Description of Condition aliases), in which the base starts buying products, if not specified, buys by default.

**SellingProducts** (optional) list of goods sold.

* **Name** - the name of the product description (more in Product Descriptions).
* **ProductionTime** - the time in seconds for the production of goods.
* **MaxCount** -
* **CreateAtOnce** - flag, if true, the first product will be created immediately when the base is created.
* **ConditionAliases** is a list of condition aliases (in more detail in Descriptions of Condition Aliases), in which the base starts producing the product, if not specified, produces by default.

**SellingUpgrades** - (optional) the list of sold upgrades.

* **UpgradeName** is the name of the upgrade description (for details, see Upgrade Descriptions).
* **ConditionAliases** is a list of condition aliases (for details, in the Description of Condition aliases), in which the base starts selling the upgrade, if not specified, it sells by default.

**NPCs** - (optional) list of characters (passengers) (more in Character Descriptions \*) appearing on the base

* **Name** is the name of the npc
* **CreatePlace** - the place of NPS creation
* **QueueOffset** - indent from the previously created npc - indent in the "queue"
* **ProductionTime** - respawn time
* **MaxCount** - the maximum number
* **CreateAtOnce** - create at the time of the creation of the world
* **ConditionAliases** is a list of condition aliases (for details, in the Description of Condition aliases), in which the base starts creating characters, if not specified, creates by default.

Schemes base objects

Schemes base objects are downloaded from the **""имябазы.json"** files located in the **"World/WorldDescrs/CitySchemes/"**.folder. Each file loads an array of descriptions, the file can contain one or more descriptions.

These files describe the position and orientation of all base objects, but it is better to make serious changes in a special editor that will be available later.