aboutsummaryrefslogtreecommitdiff
path: root/docs/simulation
diff options
context:
space:
mode:
Diffstat (limited to 'docs/simulation')
-rw-r--r--docs/simulation/calculations.yaml41
1 files changed, 36 insertions, 5 deletions
diff --git a/docs/simulation/calculations.yaml b/docs/simulation/calculations.yaml
index e9de17a..7e3008f 100644
--- a/docs/simulation/calculations.yaml
+++ b/docs/simulation/calculations.yaml
@@ -52,6 +52,37 @@ Economy:
MGQ: Money good quanity = total production of goods with money = yes
GOLD_TO_CASH_RATE: defines.country.GOLD_TO_CASH_RATE
Production:
+ Resource gathering operation:
+ base workforce: defined in common/production_types.txt as workforce
+ rgo size:
+ formula: floor(1.5*ceil(n_workers_in_state / (base workforce * (1 + terrain rgo size modifier)))
+ n_workers_in_state: Total size of POPs in state where POP type is in employees (common/production_types.txt).
+ note: Calculated when starting a new game.
+ Output:
+ formula: base output * rgo size * (1 + overseas penalty) * throughput from workers * (1 + throughput modifier) * (1 + output from workers) * (1 + output modifier)
+ base output: defined in common/production_types.txt
+ overseas penalty:
+ if province is 'overseas': ???
+ else: 0
+ throughput from workers:
+ formula: sum of (effect_multiplier * employees with job / workforce) for each job with `effect = throughput`
+ effect_multiplier: defined in common/production_types.txt
+ employees with job: Number of POPs employed with the job. Job being an entry in employees in common/production_types.txt.
+ workforce:
+ formula: base workforce * rgo size * (1 + rgo size modifier)
+ base workforce: Defined in common/production_types.txt as workforce.
+ rgo size modifier: sum of rgo size modifiers + sum of farm size modifiers (if farm=yes) + sum of mine size modifiers (if mine=yes)
+ output from workers:
+ formula: sum of (effect_multiplier * employees with job / workforce) for each job with `effect = output`
+ see: throughput from workers
+ throughput modifier: sum of throughput modifiers (including from owner)
+ output modifier: sum of throughput modifiers (including from owner)
+ modifier from owner:
+ formula: effect_multiplier * n_owners_in_state / n_pops_in_state
+ effect_multiplier: see throughput from workers
+ n_owners_in_state: total size of owner POPs in state
+ n_pops_in_state: total size of all POPs in state
+ note: included in throughput or output modifier
Human resource management:
Vacancies: max employees - employees count
Maximum employees hired per day:
@@ -165,10 +196,10 @@ POPs:
RGO wages:
Owners:
if minimum worker wages > normal worker wage:
- formula: (RGO income - total worker income) * owner POP size / n_owners * (1 - effective tax)
+ formula: (RGO income - total worker income) * owner POP size / n_owners_in_state * (1 - effective tax)
else:
- formula: RGO income * min(0.5, 2 * n_owners / n_workers) * owner POP size / n_owners * (1 - effective tax)
- n_owners: total size of owner POPs in state
+ formula: RGO income * min(0.5, 2 * n_owners_in_state / n_workers) * owner POP size / n_owners_in_state * (1 - effective tax)
+ n_owners_in_state: total size of owner POPs in state
n_workers: number of employed workers in RGO
min(0.5: Hardcoded maximum of half the RGO income.
2 *: Hardcoded value.
@@ -178,8 +209,8 @@ POPs:
if minimum wage > normal wage:
formula: min(minimum wage, RGO income * employed workers in POP / total non-slave employed workers) * (1 - effective tax)
else:
- formula: RGO income * max(0.5, 1 - 2 * n_owners / n_workers) * employed workers in POP / total non-slave employed workers * (1 - effective tax)
- n_owners: total size of owner POPs in state
+ formula: RGO income * max(0.5, 1 - 2 * n_owners_in_state / n_workers) * employed workers in POP / total non-slave employed workers * (1 - effective tax)
+ n_owners_in_state: total size of owner POPs in state
n_workers: number of employed workers in RGO
max(0.5: Hardcoded minimum of half the RGO income.
2 *: Hardcoded value.