(merge from offical wiki) |
m (文本替换 - 替换“Category:Modding]]”为“Category:模组制作]]”) |
||
| Line 171: | Line 171: | ||
{{ModdingNavbox}} | {{ModdingNavbox}} | ||
[[Category: | [[Category: 模组制作]] | ||
Latest revision as of 21:59, 7 March 2022
This page is about how to modify existing and how to create new Jobs.
Social Strata[edit | edit source]
A Social Stratum is the position of a group of Pops in a society. They are defined at "common/pop_categories/xxx.txt".
In the planet population view, Jobs are grouped by Strata and Strata are sorted based on the order they are defined in files.
Data Structure[edit | edit source]
| Property | Description |
|---|---|
| rank = <int> | Marks the social rank of this Stratum. |
| clothes_texture_index = <int> | The clothes index the portrait of this Pop will use. Only relevant to species portraits with clothes. |
| change_job_threshold = <float> | If a Pop of this Stratum is employed, a new Job must have at least this many times the weigth of the former Job to make this Pop switch to the new Job. |
| keep_from_former_job = <yes/no> demotion_time = <int> |
Determines should a Pop of a Job of this Stratum will still be considered of this Stratum if unemployed.
If so, how many days until the Pop will demote its Stratum after unemployed. |
| pop_modifier | A block of Modifiers to be applied to a Pop of this Stratum. Modifiers that affect base |
| resources | An Economy Units to determine the resource upkeep and production of a Pop of this Stratum. Upkeep costs like |
triggered_planet_modifier
|
A block of Modifiers with a potential to be applied to the Planet. Modifiers that add Pop Strata do not support the unconditional |
| should_apply_unemployment_penalties unemployment_penalties |
The former block of Conditions (Pop scope) to determine should the later block of Modifiers be applied to the Pops of this Stratum after they are unemployed.
The condition also determines should a Pop of this Stratum trigger the unemployment empire alert. Vanilla usually disable unemployment alert for Pops of high living standard, being able to produce resources if unemployed. |
| unemployment_resources | An Economy Units to determine the resource upkeep and production of this Pop while it is unemployed. |
| assign_to_pop | A block of Conditions to determine should a Pop be assigned to this Stratum. This is called when a Pop is created, moved to another planet, or got a new owner. |
| allow_resettlement resettlement_cost = { <resource> = <int> } |
The former block of Conditions determines can a Pop of this Stratum be resettled, and if so, the later block determines the cost. |
| weight | Determines the weight of this Stratum. |
Questions & Answers[edit | edit source]
If a Stratum has keep_from_former_job = yes, a Pop of this Stratum will still be of this Stratum after unemployment, until a number of days equal to the demotion_time have been passed.
For example, the
keep_from_former_job = yes or demotion_time, making Pops of this Stratum to immediately reset the Stratum after unemployment.A Slave might take jobs from
weight than any of the common Strata. It also has a custom assign_to_pop.
The actual Stratum of a Pop is selected from all Strata with a custom assign_to_pop plus the current Stratum of the Job the Pop is working in. For example, a Pop with Indentured Servitude slavery type working as an
weight, making this Pop a Slave beyond all. (Worker do also have a custom assign_to_pop.)
weight than the Specialist Stratum, and it will now be forced to consider itself a Slave.If the
rank, an unemployed Specialist Pop will happily take a Worker job after unemployment and will instantly become a Worker, and if there was no Worker jobs available, the Pop will become an unemployed Specialist and needs time to demote until a Worker job is available.
weight than the Worker Stratum, a Pop in Specialist job will still be a Worker, consuming the same amount of Jobs[edit | edit source]
Jobs are defined at "common/pop_jobs/xxx.txt".
Data Structure[edit | edit source]
| Property | Description |
|---|---|
| is_capped_by_modifier = <yes/no> | Default yes. If no, this job is always considered available if other conditions are met. If there is a job uncapped by modifiers available that's open to all pops, no pops will become unemployed. |
| category = <pop category key> | The Stratum this Job is binded to. A pop will be considered of this Stratum for as long as they are employed under this job and there isn't any Strata with a custom assign_to_pop and with higher weight than this one.
|
| condition_string = <localisation key> | A localisation key to briefingly describe what kind of Pop can be employed on this Job. |
| building_icon = <building key> | Determines the building icon of this Job to be shown in the planet population view behind the Pop portrait. For example, the |
| clothes_texture_index = <int> | Optional. Determines the clothes index of a Pop working on this Job, overwritting the setting of the Stratum. |
| icon = <pop job key> | Optional. Makes this Job to use the icon of another Job. For example, the |
| possible_pre_triggers | A block of Pseudo-Conditions to determine can a Pop work in this Job. Only the following yes-or-no questions are allowed. Without the pre-triggers, the whole set of conditions will be evaluated once for each of the thousands of Pops in the galaxy, which can be performance intensive.
|
| possible | A block of Conditions to determine can a Pop work in this Job. (Pop scope) |
| resources | An Economy Units to determine the resource upkeep and production of this Job. (Planet scope, root = pop scope) |
| planet_modifier triggered_planet_modifier |
Block of Modifiers to be applied to the Planet. Modifiers that add |
| country_modifier triggered_country_modifier |
Block of Modifiers to be applied to the Empire. Modifiers that add |
| pop_modifier triggered_pop_modifier |
A block of Modifiers to be applied to the Pop. Modifiers that add defense armies go here. See Army modding for details of Pop-spawned defense armies. |
| weight | A Pop will attempt to take Jobs with higher weight for it. (Pop scope) |
Questions & Answers[edit | edit source]
- If you are asking about how to make a Job to produce more resources of a certain type, head to the
resourceblock and find its economy category, then head to the "common/economy_categories" to find what kind of modifiers are generated for this economy category.- For example,
研究人员 has its own economy category that "produces_mult" modifiers would be generated, making modifiers likejob_researchers_physics_research_produces_multusable. However, since "produces_add" modifiers won't be generated, it's impossible to have researchers produce resources they originally can't, unless you overwrite the economy categories and force it to generate your required kind of modifiers. - Also,
矿工 has its own economy category that both "produces_mult" and "produces_add" modifiers would be generated, makingjob_miners_minerals_produces_addusable. You can also use the modifierjob_miners_minor_artifacts_produces_add = 1to make Miners produce
稀有文物 +1, just do what you want. - If the job in question does not have its own economy category, for example, the
职员 , then it's impossible to make them produce more resources by modifiers without affecting other jobs at all.
- For example,
- If you are asking about how to make a Job to produce more modifiers, like
舒适度 ,
海军容量 ,
犯罪与异常 Reduction,
Trade Value, or
Administrative Cap, then you have to overwrite the Jobs and use triggered_(country/planet)_modifiersto implement this. There are no modifiers to modify modifiers produced by Jobs.- However, most of the modifiers produced by Jobs are
_add. You can use_multmodifiers to multiply the overall Empire stat or Planet stat, effectively making relevant Jobs more effective. - Despite the trait
Bureaucrat having a modifier that reads planet_bureaucrats_produces_mult, don't be confused, because this modifier has no effect and all it does is to confuse you.
- However, most of the modifiers produced by Jobs are
Relevant Modifiers[edit | edit source]
All jobs will generate the following modifiers for use.
- job_<key>_add = <int> - This modifier adds that many jobs to the planet.
- job_<key>_per_pop = <float> - This modifier adds X jobs to the planet, where X is the number of Pops multiplied by the value here.
- job_<key>_per_crime = <float> - This modifier adds X jobs to the planet, where X is the planet crime multiplied by the value here.
| 帝国 | 帝国 • 思潮 • 政府 • 国民理念 • 起源 • 承诺 • 议程 • 传统 • 飞升天赋 • 法令 • 政策 • 遗珍 • 科技 • 自定义帝国 |
| 人口 | 岗位 • 派系 |
| 领袖 | 领袖 • 领袖特质 |
| 物种 | 物种 • 物种特质 |
| 行星 | 行星 • 行星特征 • 轨道矿藏 • 建筑 • 区划 • 行星决议 |
| 星系 | 星系 • 恒星基地 • 巨型结构 • 虫洞 • 星门 • 地图 |
| 舰队 | 舰队 • 舰船 • 部件 |
| 地面战 | 陆军 • 轰炸姿态 |
| 外交 | 外交 • 联邦 • 星海共同体 • 评价修正 • 宣战理由 • 战争目标 |
| 事件 | 事件 • 异常现象 • 特殊项目 • 考古遗址 |
| 游玩 | 游玩 • 定义 • 研究 • 经济 • 游戏开局 |
| 动态修改 | 动态 • 指令效果 • 触发条件 • 作用域 • 修正 • 变量 • AI |
| 媒体/本地化 | Maya 导出器 • 图形 • 肖像 • 旗帜 • 事件图片 • 界面 • 图标 • 音乐 • 本地化 |
| Other | 控制台命令 • 存档编辑 • Steam 创意工坊 • 模组制作教程 |