From 54ebfacab2425be1a509c5b00fee338a82c3af39 Mon Sep 17 00:00:00 2001 From: wvpm <24685035+wvpm@users.noreply.github.com> Date: Wed, 4 Sep 2024 12:07:37 +0200 Subject: Refactored documentation for reinforcing --- docs/simulation/calculations.yaml | 65 ++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 29 deletions(-) (limited to 'docs') diff --git a/docs/simulation/calculations.yaml b/docs/simulation/calculations.yaml index 661812e..4c1bbb9 100644 --- a/docs/simulation/calculations.yaml +++ b/docs/simulation/calculations.yaml @@ -78,35 +78,42 @@ Military: else if is colony: defines.military.POP_MIN_SIZE_FOR_REGIMENT_COLONY_MULTIPLIER else if location is core: 1 else: defines.military.POP_MIN_SIZE_FOR_REGIMENT_NONCORE_MULTIPLIER - Reinforcements per army: - formula: 5 * round(supply factor * sum of regiment reinforcements * REINFORCE_SPEED * local reinforce rate * (1 + reinforce_rate) * (1 + reinforce_speed) / 5) - supply factor: - if army received all its supplies: 1 - else: - formula: ((x^(n+1) - 1)/(x - 1) - 1) / n - x: received supply - n: number of regiments in the army - regiment reinforcements: 1000 * max_strength * regiment reinforce rate - max_strength: as defined in /units/.txt - 1000: (max_)strength is defined in thousands of soldiers. Reinforcements per army uses the number of soldiers. - regiment reinforce rate: - if regiment is mobilised: 0.5 - else if pop is too small for a single regiment: 0.5 - else if pop supports too many regiments: Maximum regiments per soldier POP / number of supported regiments - else: 1 - REINFORCE_SPEED: defines.military.REINFORCE_SPEED - local reinforce rate: - if location owner == army owner: 2 - else if army is exiled: 0 - else if location is uncolonised: 0 - else if location controller is hostile: - if location neighbours a province controlled by an ally in this war: 0.5 - else if location is coastal & not blockaded: 0.25 - else: 0.1 - else: 1 - reinforce_rate: sum of reinforce_rate modifiers from tech - reinforce_speed: sum of reinforce_speed modifiers on country - 5 * round(... /5): round to multiple of 5 + Reinforcing: + Regiment reinforcements: + formula: + if regiment is full strength: 0 + else: 5 * round(base regiment reinforcements * supply factor * reinforcements multiplier / 5) + base regiment reinforcements: + formula: 1000 * max_strength * regiment reinforce rate + max_strength: as defined in /units/.txt + 1000: (max_)strength is defined in thousands of soldiers. Reinforcements per army uses the number of soldiers. + regiment reinforce rate: + if regiment is mobilised: 0.5 + else if pop is too small for a single regiment: 0.5 + else if pop supports too many regiments: Maximum regiments per soldier POP / number of supported regiments + else: 1 + reinforcements multiplier: + formula: REINFORCE_SPEED * local reinforce rate * (1 + reinforce_rate) * (1 + reinforce_speed) + REINFORCE_SPEED: defines.military.REINFORCE_SPEED + local reinforce rate: + if location owner == army owner: 2 + else if army is exiled: 0 + else if location is uncolonised: 0 + else if location controller is hostile: + if location neighbours a province controlled by an ally in this war: 0.5 + else if location is coastal & not blockaded: 0.25 + else: 0.1 + else: 1 + reinforce_rate: sum of reinforce_rate modifiers from tech + reinforce_speed: sum of reinforce_speed modifiers on country + supply factor: + if army received all its supplies: 1 + else: + formula: x^(1+i) + x: received supply + i: 0 based index of regiment's backing pop + 5 * round(... /5): round to multiple of 5 + Reinforcements per army (tooltip): sum of Regiment reinforcements Regiment experience gain per day of combat: formula: d6 * defines.military.EXP_GAIN_DIV * (1 + sum of experience gain modifiers) + unexplained d6: random integer (inclusive) 1-6 -- cgit v1.2.3-56-ga3b1