• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Tom Morrison

Sergeant
Aug 15, 2020
53
10
Hi! I wrote the following code to reflect the mobilization of France's reserves in WW2. Historically, France began partial mobilization on 23 AUG 1939, prior to the 1 SEP 1939 German invasion of Poland. France began full mobilization on 2 SEP 1939, prior to its 3 SEP 1939 declaration of war on Germany. France' organized its five million reservists into three groups:

* Formation A-Class: the highest state of reserve unit readiness, second only to active-duty units. These units were given the best available equipment and were manned by younger men, whose mandatory military training was more recent - and thus could be assumed to be more proficient and in better physical shape than older reservists.

* Formation B-Class: a lower state of readiness, given older equipment and assigned older reservists. In 1939, many would lack motor transport and key weapons such as antitank guns.

* Formation C-Class: units that existed only on paper. While manpower could be assigned, little or no weapons and equipment were available to field combat-capable units.

The code below reflects three events for three possibilities for France's mobilization:

1. France did not research 1939 Infantry: This is an ahistorical case, either because France went to war early or because France did not focus on building up its military might prior to 1939. In this case, the A-Class infantry is Infantry Model 0 (1918), the B-Class infantry is Militia Model 0, and the C-Class is the raw Manpower left over from forming the A-Class and B-Class units. The A-Class and B-Class mountain infantry units are both Bergsjaeger Model 0, as there is no Bergsjaeger model corresponding to 1918 mountain infantry.

2. France researched 1939 Infantry: This is the historical case. In this case, the A-Class infantry is Infantry Model 1 (1936), the B-Class infantry is Infantry Model 0 (1918), and the C-Class is still the raw Manpower left over from forming the A-Class and B-Class units. The A-Class and B-Class mountain infantry units are both Bergsjaeger Model 0.

3. France researched 1941 Infantry: This is an ahistorical case where France went to war later. In this case, the A-Class infantry is Infantry Model 2 (1939), the B-Class infantry is Infantry Model 1 (1936), and the C-Class is still the raw Manpower left over from forming the A-Class and B-Class units. The A-Class mountain infantry is Bergsjaeger Model 1 (1939) and the B-Class mountain infantry is Bergsjaeger Model 0 (1936).

As always, feedback and comments are welcome.

Here is the code:

#########################################################################
# Mobilization! (1936)
#########################################################################

event = {

id = 37832
random = no
country = FRA

name = "Mobilization! (1936)"

desc = "France had nearly five million reservists and a highly detailed mobilization plan with three categories of reserve formations: 'A-Class' units had the best equipment and highest readiness, 'B-Class' had Great War equipment and older reservists, and 'C-Class' existed mostly on paper. On 2 SEP 1939, the day before France declared war on Germany, France began mobilizing its massive reserves: 22 A-Class infantry divisions, 9 reserve mountain divisions, and 15 B-Class infantry divisions."

style = 0
picture = "Polish_Army_in_France" # The GFX file didn't have pics of French soldiers. I uploaded one of Polish soldiers in French uniforms for another event and used it here as well.

trigger = {
atwar = yes
NOT = { exists = VIC } # Because if civil war, then many of the reservists would defect to VIC
NOT = { technology = 1030 } # 1939 Inf not researched yet, so active = 1936 Inf, "Class-A" = 1918 Inf, "Class-B" = Mil-0
}

date = { day = 0 month = january year = 1936 }
offset = 1
deathdate = { day = 29 month = december year = 1948 }

action_a = {

name = "For France!"

# NOTE: Information on French reserve corps taken from http://www.151ril.com/content/history/french-army/11#1873

# Information on French reserve divisions taken from https://en.wikipedia.org/wiki/List_of_French_divisions_in_World_War_II

command = { type = add_corps which = "1ère Corps de Réserve" value = land where = 44 } # Lille
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "2ème Corps de Reserve" value = land where = 64 } # Reims
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "3ème Corps de Réserve" value = land where = 54 } # Le Havre
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "4ème Corps de Réserve" value = land where = 58 } # Le Mans
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "5ème Corps de Réserve" value = land where = 57 } # Orléans
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-A

command = { type = add_corps which = "6ème Corps de Réserve" value = land where = 64 } # Reims (Châlons-sur-Marne)
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "7ème Corps de Réserve" value = land where = 529 } # Besançon
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "8ème Corps de Réserve" value = land where = 318 } # Dijon
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "9ème Corps de Réserve" value = land where = 60 } # Tours
command = { type = add_division value = infantry when = 0 } # Class-A

command = { type = add_corps which = "10ème Corps de Réserve" value = land where = 33 } # Rennes
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "11ème Corps de Réserve" value = land where = 35 } # Nantes
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "12ème Corps de Réserve" value = land where = 322 } # Limoges
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "13ème Corps de Réserve" value = land where = 360 } # Clermont-Ferrand
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "14ème Corps de Réserve" value = land where = 528 } # Lyon
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "15ème Corps de Réserve" value = land where = 364 } # Marseille
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "16ème Corps de Réserve" value = land where = 362 } # Montpelier
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "17ème Corps de Réserve" value = land where = 359 } # Toulouse
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "18ème Corps de Réserve" value = land where = 325 } # Bordeaux
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "19ème Corps de Réserve" value = land where = 949 } # Algiers
command = { type = add_division value = infantry when = 0 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "20ème Corps de Réserve" value = land where = 72 } # Metz
command = { type = add_division value = militia when = 0 } # Class-B

command = { type = add_corps which = "Corps de Réserve de Paris" value = land where = 56 } # Paris
command = { type = add_division value = infantry when = 0 } # Class-A

command = { type = manpowerpool value = 4615 } # Class-C divisions, neither formed nor equipped
}
}

#########################################################################
# Mobilization! (1939)
#########################################################################

event = {

id = 37833
random = no
country = FRA

name = "Mobilization! (1939)"

desc = "France had nearly five million reservists and a highly detailed mobilization plan with three categories of reserve formations: 'A-Class' units had the best equipment and highest readiness, 'B-Class' had Great War equipment and older reservists, and 'C-Class' existed mostly on paper. On 2 SEP 1939, the day before France declared war on Germany, France began mobilizing its massive reserves: 22 A-Class infantry divisions, 9 reserve mountain divisions, and 15 B-Class infantry divisions."

style = 0
picture = "Polish_Army_in_France" # The GFX file didn't have pics of French soldiers. I uploaded one of Polish soldiers in French uniforms for another event and used it here as well.

trigger = {
atwar = yes
NOT = { exists = VIC } # Because if civil war, then many of the reservists would defect to VIC
NOT = { event = 37832 } # FRA didn't already mobilize its reserves
technology = 1030 # 1939 Inf researched, so active = 1939 Inf, "Class-A" = 1936 Inf, "Class-B" = 1918 Inf
NOT = { technology = 1040 } # 1941 Inf not researched.
}

date = { day = 0 month = january year = 1936 }
offset = 1
deathdate = { day = 29 month = december year = 1948 }

action_a = {

name = "For France!"

# NOTE: Information on French reserve corps taken from http://www.151ril.com/content/history/french-army/11#1873

# Information on French reserve divisions taken from https://en.wikipedia.org/wiki/List_of_French_divisions_in_World_War_II

command = { type = add_corps which = "1ère Corps de Réserve" value = land where = 44 } # Lille
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "2ème Corps de Reserve" value = land where = 64 } # Reims
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "3ème Corps de Réserve" value = land where = 54 } # Le Havre
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "4ème Corps de Réserve" value = land where = 58 } # Le Mans
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "5ème Corps de Réserve" value = land where = 57 } # Orléans
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-A

command = { type = add_corps which = "6ème Corps de Réserve" value = land where = 64 } # Reims (Châlons-sur-Marne)
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "7ème Corps de Réserve" value = land where = 529 } # Besançon
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "8ème Corps de Réserve" value = land where = 318 } # Dijon
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "9ème Corps de Réserve" value = land where = 60 } # Tours
command = { type = add_division value = infantry when = 1 } # Class-A

command = { type = add_corps which = "10ème Corps de Réserve" value = land where = 33 } # Rennes
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "11ème Corps de Réserve" value = land where = 35 } # Nantes
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "12ème Corps de Réserve" value = land where = 322 } # Limoges
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "13ème Corps de Réserve" value = land where = 360 } # Clermont-Ferrand
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "14ème Corps de Réserve" value = land where = 528 } # Lyon
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "15ème Corps de Réserve" value = land where = 364 } # Marseille
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "16ème Corps de Réserve" value = land where = 362 } # Montpelier
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 }
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "17ème Corps de Réserve" value = land where = 359 } # Toulouse
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "18ème Corps de Réserve" value = land where = 325 } # Bordeaux
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "19ème Corps de Réserve" value = land where = 949 } # Algiers
command = { type = add_division value = infantry when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 }

command = { type = add_corps which = "20ème Corps de Réserve" value = land where = 72 } # Metz
command = { type = add_division value = infantry when = 0 } # Class-B

command = { type = add_corps which = "Corps de Réserve de Paris" value = land where = 56 } # Paris
command = { type = add_division value = infantry when = 1 } # Class-A

command = { type = manpowerpool value = 425 } # Class-C divisions, neither formed nor equipped
}
}

#########################################################################
# Mobilization! (1941)
#########################################################################

event = {

id = 37834

random = no

country = FRA

name = "Mobilization! (1941)"

desc = "France had nearly five million reservists and a highly detailed mobilization plan with three categories of reserve formations: 'A-Class' units had the best equipment and highest readiness, 'B-Class' had Great War equipment and older reservists, and 'C-Class' existed mostly on paper. On 2 SEP 1939, the day before France declared war on Germany, France began mobilizing its massive reserves: 22 A-Class infantry divisions, 9 reserve mountain divisions, and 15 B-Class infantry divisions."

style = 0
picture = "Polish_Army_in_France" # The GFX file didn't have pics of French soldiers. I uploaded one of Polish soldiers in French uniforms for another event and used it here as well.

trigger = {
atwar = yes
NOT = { exists = VIC } # Because if civil war, then many of the reservists would defect to VIC
NOT = { event = 37832 } # FRA didn't already mobilize its reserves
NOT = { event = 37833 } # FRA didn't already mobilize its reserves
technology = 1040 # 1941 Inf researched, so active = 1941 Inf, "Class-A" = 1939 Inf, "Class-B" = 1936 Inf
}

date = { day = 0 month = january year = 1936 }
offset = 1
deathdate = { day = 29 month = december year = 1948 }

action_a = {
name = "For France!"

# NOTE: Information on French reserve corps taken from http://www.151ril.com/content/history/french-army/11#1873

# Information on French reserve divisions taken from https://en.wikipedia.org/wiki/List_of_French_divisions_in_World_War_II

command = { type = add_corps which = "1ère Corps de Réserve" value = land where = 44 } # Lille
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "2ème Corps de Reserve" value = land where = 64 } # Reims
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "3ème Corps de Réserve" value = land where = 54 } # Le Havre
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "4ème Corps de Réserve" value = land where = 58 } # Le Mans
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "5ème Corps de Réserve" value = land where = 57 } # Orléans
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 2 } # Class-A

command = { type = add_corps which = "6ème Corps de Réserve" value = land where = 64 } # Reims (Châlons-sur-Marne)
command = { type = add_division value = infantry when = 1 } # Class-B


command = { type = add_corps which = "7ème Corps de Réserve" value = land where = 529 } # Besançon
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "8ème Corps de Réserve" value = land where = 318 } # Dijon
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "9ème Corps de Réserve" value = land where = 60 } # Tours
command = { type = add_division value = infantry when = 2 } # Class-A

command = { type = add_corps which = "10ème Corps de Réserve" value = land where = 33 } # Rennes
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "11ème Corps de Réserve" value = land where = 35 } # Nantes
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "12ème Corps de Réserve" value = land where = 322 } # Limoges
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "13ème Corps de Réserve" value = land where = 360 } # Clermont-Ferrand
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "14ème Corps de Réserve" value = land where = 528 } # Lyon
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = bergsjaeger when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 } # Class-B

command = { type = add_corps which = "15ème Corps de Réserve" value = land where = 364 } # Marseille
command = { type = add_division value = bergsjaeger when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 } # Class-B

command = { type = add_corps which = "16ème Corps de Réserve" value = land where = 362 } # Montpelier
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = bergsjaeger when = 1 } # Class-A
command = { type = add_division value = bergsjaeger when = 0 } # Class-B

command = { type = add_corps which = "17ème Corps de Réserve" value = land where = 359 } # Toulouse
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "18ème Corps de Réserve" value = land where = 325 } # Bordeaux
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "19ème Corps de Réserve" value = land where = 949 } # Algiers
command = { type = add_division value = infantry when = 2 } # Class-A
command = { type = add_division value = bergsjaeger when = 1 } # Class-A

command = { type = add_corps which = "20ème Corps de Réserve" value = land where = 72 } # Metz
command = { type = add_division value = infantry when = 1 } # Class-B

command = { type = add_corps which = "Corps de Réserve de Paris" value = land where = 56 } # Paris
command = { type = add_division value = infantry when = 2 } # Class-A

command = { type = manpowerpool value = 425 } # Class-C divisions, neither formed nor equipped
}
}