Economy modding

Version

Please help with verifying or updating older sections of this article. At least some were last verified for version 2.6.

This article is for the PC version of Stellaris only.

This page is about modding of Economy.

## Resources

Resources are defined at "common/strategic\_resources/xxx.txt." More can be added but will not be shown without GUI modding.

### Data Structure

* **tradable = yes/no** - If this resource is diplomatically tradable. Not in the market!
* **max = int** - The initial storage capacity of this resource.
* **fixed\_max\_amount - yes/no** - Default no. If yes, the storage capacity of this resource can't be modified by Modifiers.
* **tooltip\_decimals = int** - Sets the decimals shown in tooltips.
* **deficit\_modifier = <static modifier key>** - A static modifier to be applied if empire is in deficit of this resource.
* **market\_amount = int** - Sets the minimal tradable market bulk for this resource.
* **market\_price = int** - Sets the base price of the minimal tradable market bulk for this resource. Vanilla has 100 for each.
* **ai\_weight** - How valuable should the AI consider this resource to be.
* **ai\_wants** - How much the AI wants this resource.
* **prerequisites** - A list of technology keys to be researched before the empire can exploit this resource.
* **visibility\_prerequisite** - A block of Conditions that determines if the empire should see this resource. Vanilla resources always have "always = yes".

### How to Make my Resources Shown

The most easy way is to head to "interface/resource\_groups/xxx.txt" and add the new resources to existing groups.

If more resource groups were added through mods, the new resource groups won't be shown without modding "interface/main.gui".

### Resource Example

```
minerals = {
	tradable = yes
	market_amount = 100
	market_price = 100
	max = 15000

	deficit_modifier = minerals_deficit #found in static modifiers

	ai_weight = {
		weight = 1
	}

	ai_wants = {
		base = 1000
	}
}

```

```
volatile_motes = {
	tradable = yes
	market_amount = 10
	market_price = 100
	max = 15000

	prerequisites = { "tech_mine_volatile_motes" }

	deficit_modifier = volatile_motes_deficit #found in static modifiers

	ai_weight = {
		weight = 10
	}

	ai_wants = {
		base = 10
	}
}

```

## Economy Categories

Economy Categories are defined at "common/economic\_categories/xxx.txt." More can be added but many existing ones were hard-codely required.
An economy category may determine ai behaviors or cost modifiers to apply to an economy unit.
See Modifiers#Economic\_Categories for a complete description.

For instance, the following economy category

```
rare_edicts = {
	use_for_ai_budget = yes
	parent = edicts
	generate_mult_modifiers = {
		cost
	}
}

```

allows to modify cost of the following edict (only resources field below)

```
terraforming_gas = {
	resources = {
		category = rare_edicts
		cost = {
			exotic_gases = 25
		}
	}
}

```

based on the empire size : for an empire size of X, cost of the terragorming\_gas edict will be 25\*X

## Economy Units

Many game objects do have a resource block called Economy Units of the following structure which determines its resource production, upkeep, and/or cost.

* **category = <economy category key>** - What economy category should this economy unit fall into. This economy will also be affected by modifiers related to the economy category.
* **produces/upkeep/cost** - Production/Upkeep/Cost statement. Multiple allowed. Depending on the game object, some of them might make no sense, for example, an empire edict do not need the produces and upkeep statements.
	+ **trigger** - A block of Conditions to determine should this statement block apply.
	+ **<resource key> = <float>** - Multiple allowed.

#### Economy Unit Example

For example, the  Researcher job has the following economy unit:

```
resources = {
	category = planet_researchers
	produces = {
		physics_research = 4
		engineering_research = 4
		society_research = 4
	}
	produces = {
		trigger = {
			exists = owner
			owner = { has_valid_civic = civic_technocracy }
		}
		unity = 1
	}
	upkeep = {
		consumer_goods = 2
	}
}

```

For this statement, a researcher will always produce  Research points each **+4**, and will also produce  Unity **+1** if the empire has the civic  Technocracy. In addition, a researcher will always cost  Consumer Goods **−2** for an upkeep cost. All these can be modified by modifiers like "planet\_researchers\_produces\_mult". See Modifiers#Economic\_Categories for how these modifiers are generated.

## Trade Route

Trade value collection is implemented through Starbase Modifiers while piracy suppression is implemented through Ship Modifiers.

Trade Value Conversion policy is defined at "common/policies/00\_policies.txt". It doesn't directly affect actual trade route conversion rate.

Trade Value Conversion rates are abstract game objects defined at "common/trade\_conversions/xxx.txt".

* **potential** - A block of Conditions to determine should this conversion type apply. (Country scope)
* **weight** - If multiple conversions are valid to an empire, one with the highest weight wins.
* **economic\_category = <economy category key>** - Economy category of this conversion. Vanilla always use "trade\_routes".
* **conversion\_rate** - A list of "<resource key> = <float>" pairs. Resource of this kind generated from trade routes every month is equal to the number provided here \* collected empire trade value total.

## Branch Office

Branch Office value algorithm is hard-coded but some parameters are defined at "common/defines/00\_defines.txt".

Branch Office resource production is implemented through a Static Modifier, namely "branch\_office\_value". Vanilla has `planet_branch_offices_energy_produces_add = 1`, which means the branch office produces  Energy Credits **+1** for every point of Branch Office value.

Branch Office Buildings are special buildings with the field "branch\_office\_building = yes". See Building modding for details.

**Modding**