Skip to content

Commit

Permalink
Document rgo production
Browse files Browse the repository at this point in the history
  • Loading branch information
wvpm committed Sep 25, 2024
1 parent b6256b7 commit 53923a1
Showing 1 changed file with 36 additions and 5 deletions.
41 changes: 36 additions & 5 deletions docs/simulation/calculations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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.
Expand All @@ -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.
Expand Down

0 comments on commit 53923a1

Please sign in to comment.