We currently model different division compositions via two distinct tech paths along a 6-battalion vs. 9-battalion organisation.
Historically, however, countries did change such compositions inbetween 1936-1953. Most notably:
We cannot, unfortunately, trigger events directly from technology effects, so the elegant method of activating all models of a year via tech and making those unused obsolete in the following event does not quite work out (unless a short ~1 day period of being able to build all models of a year can be deemed acceptable).
Instead, keeping all model activations out of the technology, the corresponding generic events would look like this:
These two events per technology would suffice for all countries which do not switch organisation during the scenario time.
Setting the INF<year>_specific_choice flag then allows a country which should do so to switch appropriately:
Of course, such specific events may then gain additional trigger conditions, so that a more successful GER may choose not to switch.
With the need to deploy one technology path per division size, we might also have the space to actually represent 8bn and 12bn divisions with their individual models.
Historically, however, countries did change such compositions inbetween 1936-1953. Most notably:
- GER - from 9bn to 6bn Infantry (Volksgrenadier-Division) in 1944
- ITA - from 9bn to 6bn in 1938/1939 (Ordinamento Pariani) and from 6bn to 9bn (actually 8bn) in 1940
- JAP - from 12bn to 9bn in 1938
We cannot, unfortunately, trigger events directly from technology effects, so the elegant method of activating all models of a year via tech and making those unused obsolete in the following event does not quite work out (unless a short ~1 day period of being able to build all models of a year can be deemed acceptable).
Instead, keeping all model activations out of the technology, the corresponding generic events would look like this:
Code:
event = {
id =
random = no
persistent = yes
trigger = {
NOT = {
# to allow specific countries to use specific AI weights
local_flag = INF1935_specific_choice
# to prevent from happening again once choice is made
local_flag = INF1935_6bn
local_flag = INF1935_9bn
}
# to ensure that the generic choice is always the same
local_flag = INF1930_6bn
# unified Infantry Division technology
technology = 1150 # 1935 Infantry Division Organisation
}
name = "1935 Infantry Division Organisation"
desc = "How many battalions should form the core of our new infantry divisions?"
style = 0
date = { hour = 12 day = 0 month = january year = 1934 } # one year before historical should suffice
offset = 31 # not quite one month to spread the load
deathdate = { hour = 10 day = 29 month = december year = 1953 }
action_a = {
ai_chance = 100
name = "Six Battalions"
# all 1935 models
command = { type = new_model which = infantry value = 1 }
command = { type = new_model which = infantry value = 11 }
# all 1930 models
command = { type = scrap_model which = infantry value = 0 }
command = { type = scrap_model which = infantry value = 10 }
# the not-chosen 1935 model
command = { type = scrap_model which = infantry value = 11 }
# the flag for the next event
command = { type = local_setflag which = INF1935_6bn }
}
action_b = {
name = "Nine Battalions"
command = { type = new_model which = infantry value = 1 }
command = { type = new_model which = infantry value = 11 }
command = { type = scrap_model which = infantry value = 0 }
command = { type = scrap_model which = infantry value = 10 }
command = { type = scrap_model which = infantry value = 1 }
command = { type = local_setflag which = INF1935_9bn }
}
}
Code:
event = {
id =
random = no
persistent = yes
trigger = {
NOT = {
local_flag = INF1935_specific_choice
local_flag = INF1935_6bn
local_flag = INF1935_9bn
}
local_flag = INF1930_9bn
technology = 1150 # 1935 Infantry Division Organisation
}
name = "1935 Infantry Division Organisation"
desc = "How many battalions should form the core of our new infantry divisions?"
style = 0
date = { hour = 12 day = 1 month = january year = 1934 } # another day than the other one
offset = 31
deathdate = { hour = 10 day = 29 month = december year = 1953 }
action_a = {
ai_chance = 100
name = "Nine Battalions"
# all 1935 models
command = { type = new_model which = infantry value = 1 }
command = { type = new_model which = infantry value = 11 }
# all 1930 models
command = { type = scrap_model which = infantry value = 0 }
command = { type = scrap_model which = infantry value = 10 }
# the not-chosen 1935 model
command = { type = scrap_model which = infantry value = 1 }
command = { type = local_setflag which = INF1935_9bn }
}
action_b = {
name = "Six Battalions"
command = { type = new_model which = infantry value = 1 }
command = { type = new_model which = infantry value = 11 }
command = { type = scrap_model which = infantry value = 0 }
command = { type = scrap_model which = infantry value = 10 }
command = { type = scrap_model which = infantry value = 11 }
command = { type = local_setflag which = INF1935_6bn }
}
}
Setting the INF<year>_specific_choice flag then allows a country which should do so to switch appropriately:
Code:
event = {
id =
random = no
country = GER
trigger = {
local_flag = INF1943_specific_choice
# NOT not necessary, as specific event is not persistent
# unified Infantry Division technology
technology = 1230 # 1943 Infantry Division Organisation
}
name = "Volksgrenadiere"
desc = "Dwindling manpower pushes the Reich into organising its new Divisions in smaller scale than before."
style = 0
date = { hour = 12 day = 2 month = january year = 1942 } # one year before historical should suffice; neither day of the generic events
offset = 31
deathdate = { hour = 10 day = 29 month = december year = 1953 }
action_a = {
ai_chance = 80
name = "Form Volksgrenadier-Divisions with one less Battalion per Regiment to conserve manpower."
# all 1943 models
command = { type = new_model which = infantry value = 3 }
command = { type = new_model which = infantry value = 13 }
# all 1939 models
command = { type = scrap_model which = infantry value = 2 }
command = { type = scrap_model which = infantry value = 12 }
# the not-chosen 1939 model
command = { type = scrap_model which = infantry value = 13 }
# the flag for the next event
command = { type = local_setflag which = INF1947_6bn }
}
action_b = {
ai_chance = 20
name = "No, smaller units will suffer higher casulties."
command = { type = local_clrflag which = INF1943_specific_choice }
}
}
With the need to deploy one technology path per division size, we might also have the space to actually represent 8bn and 12bn divisions with their individual models.