Voici un tutorial traitant de l’édit de sauvegardes. Le jouera devra se munir du logiciel notepad.
Pour commencer, ouvrons une sauvegarde. Allez dans votre dossier scenarios/save games et ouvrez le fichier .eug de la sauvegarde que vous voulez éditer avec notepad. (pas .eug.cfg, seulement .eug)
Je vais expliciter l’ensemble des données contenues dans un sauvegarde. A vous ensuite de les éditer comme vous le souhaitez.
1- Données Générales
Les premières lignes contiennent les données générales de votre partie : votre version, vos paramètres etc.
Ex :
name = "The World in Flames (1936)" saved = GER header = {
name = "Grand Campaign"
which = "Doomsday Armageddon v 1.2 (ZJNN)"
tutorial = no
startdate = {
year = 1936
month = january
day = 0
hour = 0
}
saved = yes
combat = no
free = yes
optionmode = 0
set_ai_aggresive = 2
set_difficulty = 2
set_gamespeed = 7
share_country = 1
democracy_war = 0
enddate = 4
ictakeover = 0
teamtakeover = 0
optionfile = "scenarios\save games\Allemagne_1936_Janvier_1.eug.cfg"
selectable = { AFG SAF ALB GER SAU ARG AST AUS BEL BHU BOL BRA BUL CAN CHL CHC CGX COL COS CUB DEN IRE ECU SPR EST USA ETH FIN FRA GRE GUA HAI HON HUN IRQ PER ITA JAP LAT LIB LIT LUX MAN MEX MON NIC NOR NZL NEP OMN PAN PAR HOL PHI POL POR PRU ROM ENG DOM CHI SAL CSX SCH SWE TAN CZE SIA TIB TUR SOV URU VEN CXB SIK YUG CYN YEM }
id = { type = 4712 id = 2209 }
Nous n’avons généralement rien à modifier ici.
Suivent ensuite certaines données générales concernant les puissances majeures (image de propagande, playlist musicale, description du scénario etc) ainsi que la liste des traités de non-agression en vigueur. Ceci peut nous intéresser, arrêtons nous un instant.
Ex :
treaty = {
id = { type = 16384 id = 10 }
type = non_aggression
country = "SOV"
country = "CZE"
startdate = {
year = 1935
month = december
day = 29
hour = 0
}
expirydate = {
year = 1939
month = december
day = 29
hour = 0
}
cancel = yes
}
Chaque pacte de non-agression doit avoir une id unique. Comme vous l’aurez compris, dans les entrées « country » se placent les tags des pays impliqués. La « startdate » désigne la date à laquelle a été signé le pacte et « l’expirydate » la date à laquelle il expire. L’entrée « cancel » détermine si le pacte peut être annulé ou non. Voilà, vous êtes maintenant prêt à éditer les pactes de non-agressions !
Un conseil, utilisez ctrl+f pour rechercher un mot en particulier dans un fichier notepad. Avec ctrl+a, vous sélectionnez tout le texte, avec ctrl+z, vous annulez votre dernière opération et avec ctrl+h vous pouvez remplacez automatiquement un mot par un autre. Ces raccourcis peuvent s’avérer très utiles.
Viennent ensuite les échanges commerciaux avec l’entrée « trade ».
Ex :
treaty = {
id = { type = 16384 id = 303 }
type = trade
country = "VEN"
country = "FRA"
startdate = {
year = 1935
month = december
day = 29
hour = 0
}
expirydate = {
year = 1948
month = december
day = 29
hour = 0
}
oil = -5.0000
supplies = 2.0000
energy = 3.0000
cancel = no
}
La différence avec les pna (pactes de non-agression) est que doivent ici être indiqués les montants des échanges. Dans cet exemple, le Vénézuela vend 5 unités de pétrole contre 2 de ravitaillement et 3 d’énergie à la France.
Viennent ensuite les alliances en place.
Ex :
axis = { id = { type = 15000 id = 2 } defensive = no participant = { GER } }
allies = { id = { type = 15000 id = 1 } defensive = no participant = { ENG IRQ FRA AST NZL CAN SAF NEP BHU YEM OMN } }
comintern = { id = { type = 15000 id = 3 } defensive = no participant = { SOV MON TAN } }
alliance = { id = { type = 15000 id = 10 } defensive = no participant = { CHI CXB } }
alliance = { id = { type = 15000 id = 11 } defensive = no participant = { EST LAT } }
alliance = { id = { type = 15000 id = 12 } defensive = no participant = { JAP MAN } }
Chaque alliance doit avoir une id unique. Les trois principales alliances (« axis », « allies » et « comintern ») ont des entrées propres. Les autres alliances sont simplement appelées « alliance ». Dans l’entrée participant sont listés les pays prenant part à l’alliance.
Nous avons ensuite les entrées correspondant aux conflits en cours.
Ex :
war = {
id = { type = 9430 id = 1 }
date = {
year = 1935
month = october
day = 3
hour = 0
}
enddate = {
year = 1936
month = january
day = 0
hour = 0
}
defenderscore = { ETH = { } }
attackerscore = { ITA = { } }
attackers = { id = { type = 9430 id = 2 } defensive = no participant = { ITA } }
defenders = { id = { type = 9430 id = 3 } defensive = no participant = { ETH } }
}
Ici, l’Italie et l’Ethiopie sont en conflit depuis le 4 octobre 1935 (toujours rajouter une journée entre les dates des fichiers et les dates “in game”) à l’initiative de l’Italie. Pour l’instant, les deux pays ont des scores de guerre nuls.
Il y a ensuite une petite entrée qui a néanmoins son importance :
flags = { }
Ici, aucun flag n’est encore activé mais ça ne saurait tarder. Les flags sont utilisés dans les events afin de marquer une « balise » facilement repérable dans un trigger. J’utilise par exemple un flag lorsque l’IA Allemande a conquis la France afin d’activer facilement son nouveau comportement « Bataille d’Angleterre ».
Viennent à la suite les entrées correspondant aux données relatives aux provinces :
Ex :
province = {
id = 1
terrain = "clear"
ic = {
type = ic
location = 1
size = 0.0000
current_size = 0.0000
}
anti_air = {
type = flak
location = 1
size = 1.0000
current_size = 1.0010
}
infra = {
type = infrastructure
location = 1
size = 0.3000
current_size = 0.3000
}
air_base = {
type = air_base
location = 1
size = 4.0000
current_size = 4.0000
}
naval_base = {
type = naval_base
location = 1
size = 4.0000
current_size = 4.0000
}
}
Dans ce cas, la province avec pour id « 1 » a un terrain en plaine (« clear »), n’a aucune IC (« industrial capacity », PP en français), a un niveau de DCA, 30% d’nfrastructures et 4 niveaux de bases navale et aérienne.
Il y a quelque fois une entrée weather = X qui comme son nom l’indique, correspond aux conditions météo au dessus de la province.
2- Données pays par pays
Après ce set de données générales concernant votre partie, votre sauvegarde comprend des données pays par pays (avec les entrées tag = X). Nous allons prendre le cas du Royaume-Uni.
Ex :
country = {
tag = ENG
ai = {
switch = no
flags = { }
max_front_ratio = 1.5000
max_front_ratios = { }
max_garrison_prop = 0.3000
min_garrison_prop = 0.2000
evac_islands = no
use_offensive_supply = yes
neutrality = 80.0000
war = 0
ferocity = no
reinforcement = 0.2000
upgrading = 0.4000
desperation = 0.3000
spyprefs = {
percentage_on_spies = 0.2000
percentage_foreign_mission = 0.7000
spyprefsdata = { country_priorities = 0.0000 NumberOfSpies = 10.0000 min_number_of_spies = 0.0000 steal_blueprint = 0.0000 minister_assassination = 0.0000 send_spy = 0.0000 smear_campaign = 0.0000 coup = 0.0000 sabotage_industry = 0.0000 nuclear_sabotage = 0.0000 found_partisans = 0.0000 massmedia = 0.0000 counter_espionage = 10.0000 disrupt_techteam = 0.0000 home_defence = no country = ENG }
spyprefsdata = { country_priorities = 3.0000 NumberOfSpies = 3.0000 min_number_of_spies = 1.0000 steal_blueprint = 10.0000 minister_assassination = 1.0000 send_spy = 0.0000 smear_campaign = 3.0000 coup = 4.0000 sabotage_industry = 5.0000 nuclear_sabotage = 0.0000 found_partisans = 0.0000 massmedia = 3.0000 counter_espionage = 5.0000 disrupt_techteam = 5.0000 home_defence = no country = --- }
spyprefsdata = { country_priorities = 10.0000 NumberOfSpies = 10.0000 min_number_of_spies = 2.0000 steal_blueprint = 10.0000 minister_assassination = 1.0000 send_spy = 0.0000 smear_campaign = 3.0000 coup = 1.0000 sabotage_industry = 6.0000 nuclear_sabotage = 0.0000 found_partisans = 4.0000 massmedia = 2.0000 counter_espionage = 6.0000 disrupt_techteam = 5.0000 home_defence = no country = GER }
spyprefsdata = { country_priorities = 8.0000 NumberOfSpies = 10.0000 min_number_of_spies = 2.0000 steal_blueprint = 10.0000 minister_assassination = 1.0000 send_spy = 0.0000 smear_campaign = 3.0000 coup = 1.0000 sabotage_industry = 6.0000 nuclear_sabotage = 0.0000 found_partisans = 4.0000 massmedia = 2.0000 counter_espionage = 6.0000 disrupt_techteam = 5.0000 home_defence = no country = ITA }
spyprefsdata = { country_priorities = 2.0000 NumberOfSpies = 5.0000 min_number_of_spies = 2.0000 steal_blueprint = 10.0000 minister_assassination = 0.0000 send_spy = 0.0000 smear_campaign = 3.0000 coup = 1.0000 sabotage_industry = 0.0000 nuclear_sabotage = 0.0000 found_partisans = 4.0000 massmedia = 2.0000 counter_espionage = 6.0000 disrupt_techteam = 5.0000 home_defence = no country = SOV }
spyprefsdata = { country_priorities = 6.0000 NumberOfSpies = 10.0000 min_number_of_spies = 1.0000 steal_blueprint = 10.0000 minister_assassination = 0.0000 send_spy = 0.0000 smear_campaign = 1.0000 coup = 2.0000 sabotage_industry = 0.0000 nuclear_sabotage = 0.0000 found_partisans = 4.0000 massmedia = 1.0000 counter_espionage = 6.0000 disrupt_techteam = 5.0000 home_defence = no country = JAP }
}
strat_redeploy_threshold = 50
max_redeploying = 0.2500
max_fuel_offensive = 100.0000
combat = {
GER = 100
ITA = 80
JAP = 70
SCA = 60
SPA = 60
ROM = 50
VIC = 50
SOV = 10
}
protect = {
FRA = 150
CAN = 150
AST = 150
NZL = 150
BEL = 150
HOL = 150
SPR = 100
CZE = 250
TUR = 50
IRQ = 100
PER = 100
POR = 100
CHI = 10
YUG = 100
DEN = 100
NOR = 100
FIN = 100
LUX = 100
}
befriend = {
VEN = 50
USA = 50
BEL = 70
HOL = 70
SPR = 40
AUS = 10
CZE = 10
TUR = 10
IRQ = 50
PER = 20
POR = 50 CHI = 20
BRA = 50
ARG = 50
NOR = 50
SAU = 50
GRE = 50
YUG = 50
AST = 80
NZL = 80
SAF = 80
CAN = 80
}
claim_acceptance = -49
target = {
1184 = 100
300 = 500
906 = 200
919 = 100
924 = 100
932 = 100
939 = 100
949 = 100
953 = 100
956 = 100
900 = 150
525 = 100
526 = 100
521 = 100
523 = 100
515 = 300
370 = 100
368 = 100
378 = 100
32 = 100
33 = 100
37 = 100
39 = 100
41 = 100
42 = 100
18 = 100
43 = 100
56 = 300
59 = 100
51 = 100
72 = 100
67 = 100
314 = 100
376 = 100
310 = 100
90 = 100
1494 = 100
1505 = 100
1469 = 100
1457 = 100
1509 = 100
1517 = 100
1516 = 100
1866 = 100
19 = 1000
9 = 200
10 = 200
11 = 200
12 = 200
13 = 200
14 = 200
17 = 200
20 = 200
21 = 200
22 = 200
23 = 200
28 = 200
}
exp_force_ratio = 0.0500
exp_force_ratios = { FRA = 1.0000 }
no_exp_forces_to = { NOR POL DEN CZE }
admiral = {
target = { 2396 = 100 2397 = 100 2398 = 100 525 = 100 521 = 100 523 = 100 368 = 100 378 = 100 32 = 100 33 = 100 39 = 150 41 = 100 42 = 100 18 = 100 43 = 100 90 = 100 1178 = 100 1179 = 100 1181 = 100 1180 = 100 1184 = 100 1185 = 100 1187 = 100 1184 = 100 1191 = 100 1190 = 100 }
core = { 2396 2397 2398 2471 2402 2403 2404 2405 2406 2410 2411 }
base = { 5 14 348 906 1505 1353 1727 1727 1867 1146 576 538 988 866 1798 1813 1494 1817 1 579 651 958 347 336 949 1033 1703 1727 1871 663 633 32 1299 1628 1095 1116 1137 972 939 20 107 }
ignore = { "Southeast Northsea" "Kattegat" "Bothnian Bay" "Northern Baltic" "Southern Baltic" "Southeast Northsea" "East North Sea" "Norwegian Sea" "Adriatic Sea" }
min_org = 80.0000
min_dmg = 98.0000
return_org = 60.0000
return_dmg = 80.0000
min_core_attack_fleets = 1.0000
num_attack_fleets = 4.0000
}
trade = { favored = { VEN = 100 FRA = 100 CAN = 100 AST = 100 NZL = 100 USA = 100 SAF = 100 BEL = 90 HOL = 90 SPR = 30 POL = 20 CZE = 20 TUR = 10 IRQ = 100 PER = 100 POR = 10 CHI = 10 } cancel_deal_threshold = 2.0000 }
tech_sharing = { embargo = { GER ITA JAP SLO HUN } favored = { FRA = 100 CAN = 100 AST = 100 NZL = 100 USA = 100 SAF = 100 BEL = 100 HOL = 100 SPR = 30 POL = 100 CZE = 20 TUR = 10 IRQ = 100 PER = 100 POR = 10 CHI = 10 } prioritized = { 5020 = 100 5030 = 100 5040 = 100 1310 = 100 1320 = 100 1330 = 100 1340 = 100 1350 = 100 1360 = 100 5050 = 100 5060 = 100 5070 = 100 5080 = 100 5090 = 100 5100 = 100 5110 = 100 5120 = 100 5130 = 100 5150 = 100 5180 = 100 4190 = 100 4200 = 100 4210 = 100 1230 = 100 1240 = 100 1250 = 100 2070 = 100 2080 = 100 2090 = 100 2020 = 100 2030 = 100 2040 = 100 2050 = 100 2060 = 100 4220 = 100 4230 = 100 4240 = 100 } }
invasion = {
base = 0.1000
random = 8.0000
coastal = 0.1000
beach = 0.1000
distance = 0.1000
max_distance = 250.0000
max_staging_distance = 30.0000
pocket = 20.0000
island = 0.1000
enemy = 2.0000
adjacentenemy = 2.0000
air_base = 1.5000
naval_base = 0.1000
air_support = 3.0000
ignore = yes
invasion = yes
help_allies = yes
redirect = priority
staging_province = { 13 23 31 939 348 }
target = { 525 = 1000 521 = 1000 523 = 1000 368 = 1000 378 = 1000 32 = 1000 33 = 1000 39 = 1500 41 = 1000 42 = 1000 18 = 1000 43 = 1000 90 = 1000 1178 = 1000 1179 = 1000 1181 = 1000 1180 = 1000 1184 = 1000 1185 = 1000 1187 = 1000 1188 = 1000 1184 = 1000 1191 = 1000 1190 = 1000 }
}
air_marshal = {
icxdayscostfactor = 8.0000
manpowercostfactor = 80.0000
destructionriskthreashold = 0.2000
airsuperioritydesirability = 60.0000
airsuperioritylosstolerance = 2.0000
groundattacklosstolerance = 2.5000
groundattackdesirability = 30.0000
interdictionlosstolerance = 2.5000
inderdictiondesirability = 40.0000
logisticalstrikelosstolerance = 0.5000
logisticalstrikeefficency = 0.0100
logisticalstrikedesirability = 0.0000
runwaycrateringlosstolerance = 0.5000
runwaycrateringefficency = 0.0100
runwaycrateringdesirability = 0.0000
strategicstriketolerance = 1.5000
strategicstrikeefficency = 0.0100
strategicstrikedesirability = 10.0000
nukestriketolerance = 1.0000
nukestrikedesirability = 5.0000
installationstriketolerance = 0.5000
installationstrikeefficency = 0.0100
installationstrikedesirability = 0.0000
navalstriketolerance = 3.5000
navalstrikedesirability = 25.0000
portstriketolerance = 4.5000
portstrikedesirability = 40.0000
convoyraidtolerance = 1.0000
convoyraiddesirability = 0.0000
min_mission_strength_org = 0.2000
taskforcetype = { name = "Air Superiority" desiredratio = 0.3800 rangeweight = 10.0000 airkillpowerweight = 2000.0000 hardkillpowerweight = 0.0000 softkillpowerweight = 0.0000 navalkillpowerweight = 0.0000 strategickillpowerweight = 0.0000 transportcapacityweight = -1000000.0000 airvulnurabilityweight = -1.0000 surfacevulnurabilityweight = 0.0000 idle = yes reorganize = yes air_superiority = yes }
taskforcetype = { name = "Soft Bombing" desiredratio = 0.2300 rangeweight = 10.0000 airkillpowerweight = 0.0000 hardkillpowerweight = 0.0000 softkillpowerweight = 2000.0000 navalkillpowerweight = 0.0000 strategickillpowerweight = 0.0000 transportcapacityweight = -1000000.0000 airvulnurabilityweight = 0.0000 surfacevulnurabilityweight = -1.0000 idle = yes reorganize = yes interdiction = yes ground_attack = yes naval_strike = yes port_strike = yes }
taskforcetype = { name = "Hard Bombing" desiredratio = 0.0800 rangeweight = 10.0000 airkillpowerweight = 0.0000 hardkillpowerweight = 2000.0000 softkillpowerweight = 0.0000 navalkillpowerweight = 0.0000 strategickillpowerweight = 0.0000 transportcapacityweight = -1000000.0000 airvulnurabilityweight = 0.0000 surfacevulnurabilityweight = -1.0000 idle = yes reorganize = yes interdiction = yes ground_attack = yes naval_strike = yes port_strike = yes }
taskforcetype = { name = "Strategic Bombing" desiredratio = 0.0800 rangeweight = 10.0000 airkillpowerweight = 0.0000 hardkillpowerweight = 0.0000 softkillpowerweight = 0.0000 navalkillpowerweight = 0.0000 strategickillpowerweight = 2000.0000 transportcapacityweight = -1000000.0000 airvulnurabilityweight = -0.5000 surfacevulnurabilityweight = -0.5000 idle = yes reorganize = yes logistical_strike = yes runway_cratering = yes strategic_bombardment = yes installation_strike = yes naval_strike = yes port_strike = yes }
taskforcetype = { name = "Naval Bombing" desiredratio = 0.1300 rangeweight = 10.0000 airkillpowerweight = 0.0000 hardkillpowerweight = 0.0000 softkillpowerweight = 0.0000 navalkillpowerweight = 2000.0000 strategickillpowerweight = 0.0000 transportcapacityweight = -1000000.0000 airvulnurabilityweight = 0.0000 surfacevulnurabilityweight = -1.0000 idle = yes reorganize = yes naval_strike = yes port_strike = yes convoy_air_raiding = yes }
taskforcetype = { name = "Airlift" desiredratio = 0.2000 rangeweight = 10.0000 airkillpowerweight = 0.0000 hardkillpowerweight = -2000.0000 softkillpowerweight = -2000.0000 navalkillpowerweight = 0.0000 strategickillpowerweight = -2000.0000 transportcapacityweight = 1000000.0000 airvulnurabilityweight = -1.0000 surfacevulnurabilityweight = 0.0000 idle = yes reorganize = yes airborne_assault = yes air_supply = yes }
}
garrison = {
defend_overseas_beaches = yes
key_point_prio_mult = 1.0000
revolt_risk_mult = 1.0000
beach = 20
reserves = 20
capital = 40
human_border = 0
war_target = 50
opposing_alliance = 30
claim_threat = 0
unstable_border = 0
war_zone_odds = 2.0000
home_multiplier = 1.3000
overseas_multiplier = 0.5000
home_peace_cap = 100
country_priorities = { BEL = -1 HOL = -1 LUX = -1 GER = 100 SPA = 25 SPR = -1 ITA = 50 ETH = -1 SCH = -1 FRA = -1 CAN = -1 AST = -1 NZL = -1 POR = -1 CYN = -1 TUR = -1 SIK = -1 TIB = -1 AFG = -1 PER = -1 SAU = -1 }
province_priorities = { 348 = 30 31 = 30 906 = 30 900 = 30 20 = 30 17 = 30 21 = 30 23 = 30 12 = 30 13 = 30 14 = 30 22 = 30 11 = 30 10 = 30 9 = 30 5 = 30 28 = 30 1287 = 10 1296 = 10 1457 = 10 1469 = 10 1517 = 20 1516 = 20 1494 = 10 }
area_multiplier = { 1494 = 0.3000 1505 = 0.3000 1514 = 0.3000 1299 = 0.3000 348 = 2.0000 31 = 2.0000 906 = 1.5000 900 = 1.5000 }
ignore = { 1480 1466 1465 1464 1506 1512 1513 1515 1509 1508 1461 1458 1288 1289 1297 1302 1349 1350 1352 1351 1141 1140 918 926 927 1017 1016 1015 931 928 1020 905 907 1021 1022 1067 1068 1069 1032 1041 1040 1039 1048 1042 1044 1045 1047 1053 1049 1043 1050 1054 1055 1071 1072 1073 1074 1144 1143 1142 1139 1140 1141 1058 1056 1034 1035 1036 1038 1033 1801 406 1822 1465 1512 1513 1315 }
}
military = {
relative_build_scheme = no
max_batch_peace = 720
max_batch_war = 360
max_batch_home_front = 360
extra_convoys_war = 0.0500
extra_convoys_peace = 0.0500
infantry = 14.0000
cavalry = 0.0000
motorized = 6.0000
mechanized = 0.0000
light_armor = 0.0000
armor = 11.0000
paratrooper = 2.0000
marine = 2.0000
bergsjaeger = 0.0000
garrison = 0.0000
hq = 2.0000
militia = 0.0000
multi_role = 9.0000
interceptor = 3.0000
strategic_bomber = 2.0000
tactical_bomber = 5.0000
naval_bomber = 3.0000
cas = 0.0000
transport_plane = 1.0000
flying_bomb = 0.0000
flying_rocket = 0.0000
battleship = 6.0000
light_cruiser = 8.0000
heavy_cruiser = 0.0000
battlecruiser = 0.0000
destroyer = 15.0000
carrier = 5.0000
escort_carrier = 1.0000
submarine = 0.0000
nuclear_submarine = 0.0000
transport = 5.0000
artillery = 31.0000
sp_artillery = 9.0000
rocket_artillery = 0.0000
sp_rct_artillery = 0.0000
anti_tank = 20.0000
tank_destroyer = 8.0000
light_armor_brigade = 0.0000
heavy_armor = 5.0000
super_heavy_armor = 0.0000
armored_car = 0.0000
anti_air = 17.0000
police = 0.0000
engineer = 6.0000
cag = 100.0000
escort = 100.0000
naval_asw = 20.0000
naval_anti_air_s = 20.0000
naval_radar_s = 20.0000
naval_fire_controll_s = 20.0000
naval_improved_hull_s = 10.0000
naval_torpedoes_s = 10.0000
naval_anti_air_l = 0.0000
naval_radar_l = 0.0000
naval_fire_controll_l = 0.0000
naval_improved_hull_l = 0.0000
naval_torpedoes_l = 0.0000
}
front = {
strength = 1.0000
organisation = 1.0000
dig_in = 1.0000
soft_attack = 1.0000
hard_attack = 1.0000
ground_defense = 1.0000
support_defense_prop = 0.3300
river = 1.0000
frozen_attack = 1.0000
snow_attack = 1.0000
blizzard_attack = 1.0000
storm_attack = 1.0000
muddy_attack = 1.0000
largefort = 1.0000
smallfort = 1.0000
occupied = 0.7000
owned = 0.7000
jungle_attack = 1.0000
mountain_attack = 1.0000
swamp_attack = 1.0000
forest_attack = 1.0000
hill_attack = 1.0000
urban_attack = 1.0000
recklessness = 1
enemy_reinf_days = 6
reserve_prop = 0.1000
panic_ratio_vs_ai = 1.5000
panic_ratio_vs_human = 1.5000
base_attack_odds = 1.3000
min_attack_odds = 1.1000
max_attack_odds = 3.0000
reinforce_odds = 1.3000
withdraw_odds = 0.6000
distrib_vs_ai = offensive
distrib_vs_human = offensive
enemy_handicap = { }
passivity = { }
province_priorities = { }
}
construction = {
max_factor = 1.0000
transports = -1
escorts = -1
AA_batteries = no
max_AA_level = 4
AA_provs = { }
coastal_fort = no
max_coastal_level = 5
coastal_fort_provs = { 31 20 17 21 23 13 22 11 10 9 }
radar_station = no
max_radar = 3
radar_provs = { 20 17 21 23 13 5 }
air_base = no
max_air_base = 5
air_base_provs = { }
naval_base = no
max_naval_base = 5
naval_base_provs = { }
land_fort = no
max_land_level = 5
fort_borders = { }
fort_provs = { 348 906 }
nuclear_reactor = no
max_nuclear = 10
rocket_test = no
max_rocket = 10
ic_at_war = no
force_ic_until = 1937
ic_end_year = 1937
IC_provs = { 3 10 28 29 23 21 20 22 17 16 15 14 13 }
}
technology = {
preference = { 5050 5060 5070 5080 5090 5100 5110 5120 5130 5140 5150 5160 5180 5310 5320 5330 5340 7140 7150 7160 1010 1020 1030 1040 1050 1060 1310 1320 1330 1340 1350 1360 4190 4200 4210 1230 1240 1250 2070 2080 2090 2020 2030 2040 2050 2060 8200 8250 8140 8260 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 9040 9090 9100 9110 9120 9130 9190 9210 9220 9230 9240 9250 9350 14000 14010 14020 14030 14040 1260 1270 1280 1290 4040 4070 4100 15030 15040 15050 4030 4060 4090 15000 15010 15020 4050 4080 4110 15060 15070 15080 2290 2300 2310 2320 2330 2340 2350 2360 2220 2230 2240 2250 11030 11040 2450 2460 2470 2480 2490 2500 11080 }
ignore = { 4220 4230 4240 5170 3190 3200 3210 3220 3250 3260 3270 3280 3290 3300 3310 4170 4280 4180 1110 1120 1130 1140 1170 1180 5470 5480 5490 5500 5510 5520 5530 5540 5550 5560 5570 5580 5590 1080 1090 1100 4260 4270 2260 2270 2280 2370 2380 2390 2150 2160 9050 9060 9070 9080 9270 9280 9290 9300 5210 5220 5230 5240 13020 13040 13050 }
armor = 5.0000
infantry = 6.0000
industry = 6.0000
aircraft = 6.0000
naval = 4.0000
land_doctrines = 4.0000
secret_weapons = 1.0000
air_doctrines = 4.0000
naval_doctrines = 4.0000
}
leader_ratio = {
land_field_marshal = 0.0200
land_general = 0.0310
land_lt_general = 0.4100
sea_grand_admiral = 0.3200
sea_admiral = 0.4610
sea_vice_admiral = 0.5010
air_marshal = 0.0200
air_general = 0.0910
air_lt_General = 0.1100
}
}
Après avoir précisé le tag du pays traité, la sauvegarde commence par décliner l’ensemble des variables courantes de l’IA du pays concerné. Cette section fera l’objet d’un autre tutorial. Mais à moins que vous ne vouliez changer le comportement de l’IA dans votre sauvegarde (et je conseille de le faire par event plutôt), cette partie nous intéresse peu pour le moment.
Nous avons ensuite un catalogue des variables importantes relatives au pays :
Ex :
capital = 19
policy = {
date = {
year = 0
month = january
day = 0
hour = 0
}
democratic = 10
political_left = 2
freedom = 10
free_market = 9
professional_army = 7
defense_lobby = 2
interventionism = 4
}
belligerence = 0.0000
dissent = 0.0000
war = {
year = 0
month = january
day = 0
hour = 0
}
lastpeace = {
year = 1936
month = january
day = 0
hour = 0
}
combatlosses = { }
attritionlosses = { }
disbandlosses = { }
revolt = 0.0000
revoltrisk = 0
revoltriskdate = {
year = 0
month = january
day = 0
hour = 0
}
L’entrée « capital » est suivie de l’id de la province capitale (ici, Londres, id = 19). L’entrée « policy » détermine la date à laquelle les sliders de ce pays peuvent être modifiés (ici, ils peuvent l’être dès maintenant). Sont ensuite exposées les valeurs de chaque slider, le taux de belligérance et d’instabilité (« dissent ») du pays.
L’entrée « war » indique si le pays est en guerre (et si oui, depuis quand), ce qui n’est pas le cas ici. L’entrée « lastpeace » indique la date du dernier traité de paix signé par ce pays. Les entrées « combatlosses », « attritionlosses » et « disbandlosses » se réfèrent respectivement au montant de manpower perdu au combat, par attrition et par démobilisation. L’entrée « revolt » indique le taux global de révolte. J’imagine que les entrées « revoltrisk » et « revoltriskdate » font référence à des risques de révolte dans des provinces en particulier mais dans ce cas, nous n’avons aucun risque de révolte.
Nous avons ensuite :
Ex :
land_fort_eff = 1.0000
coast_fort_eff = 1.0000
ground_def_eff = 0.8000
convoy_def_eff = 0.4000
energy_to_oil = 0.0000
oil_to_rare_materials = 0.0000
industrial_modifier = 1.0600
supply_modifier = 0.0000
minisub_bonus = 1
AA_efficiency = 0.1500
nuke = 0
nukedate = {
year = 0
month = january
day = 0
hour = 0
}
carrier_level = 0
intelligence = 50.0000
enemy_intelligence = 50.0000
army_detection = 40.0000
enemy_army_detection = 80.0000
land_surprise = 1.0000
naval_surprise = 1.0000
air_surprise = 1.0000
hq_supply_eff = 0.0100
sce_frequency = 1.0000
counterattack = 0.0100
assault = 0.0100
encirclement = 0.0100
ambush = 0.0100
delay = 0.0100
tactical_withdrawal = 0.0100
breakthrough = 0.0100
Dans l’ordre, l’efficacité des fortifications terrestres, des fortifications côtières, la GDE, l’efficacité de défense des convois, le taux de conversion énergie-pétrole, le taux de conversion énergie-matériaux stratégiques (présent dans HoI1 mais pas dans HoI2), le multiplicateur industriel, le multiplicateur de production de ravitaillement, le multiplicateur « minisub » qui s’additionne à la sea_attack des cuirassés et porte-avions lors d’attaques au port, l’efficacité de la DCA, le nombre de bombes atomiques, la date du dernier bombardement nucléaire, le « carrier_level » que je ne connais pas (je doute que cette commande soit fonctionnelle dans HoI2 car je ne l’ai jamais croisé), les multiplicateirs relatifs au renseignement, les modificateurs de surprise, l’efficacité de ravitaillement des QGs et enfin la fréquence générale puis individuelle des évènements de combat.
Chacune de ces valeurs peut être modifié via tech ou event dans le jeu. Vous pouvez également les modifier dans votre save bien entendu.
Nous avons ensuite l’ensemble des leaders de cette nation :
Ex :
leader = {
id = { type = 6 id = 1000 }
name = "Adair"
picture = "gfx\interface\pics\L1000.bmp"
category = general
rank = 3
rank_year = 1942
rank_year = 1990
rank_year = 1990
rank_year = 1990
max_skill = 5
startyear = 1942
endyear = 1947
skill = 1
experience = 10.0000
}
Chaque leader a une id unique. Ici, le Général Adair a pour pic le fichier gfx\interface\pics\L1000.bmp, a un rang « 3 » (0 étant maréchal). Il passera au rang 3 en 1942 si l’option « promotion automatique » est activée. Le premier rank_year indique donc l’année de sa promotion automatique au rang 3. Le second indique l’année de sa promotion au rang 2 etc. Le « max_skill » indique le niveau maximum que peut atteindre ce leader. Sa « startyear » et « endyear » font référence aux dates d’apparition et de disparition du leader, le « skill » à son niveau à son apparition et « experience » à son expérience à son apparition. Certains officiers ont également des entrées « traits = X » qui indiquent les traits qu’a le leader en question (par ex « panzer_leader »).
Ensuite, les ministres :
Ex :
minister = {
id = { type = 9 id = 1140 }
name = "Sir Dudley Pound"
picture = "M1140"
position = ChiefOfNavy
category = market_liberal
cabinet = replacement
trait = 44
year = 1937
}
La « position » indique le poste auquel il peut postuler. « Category » indique son positionnement politique, « trait » son trait de ministre (la liste se trouve dans le dossier db/ministers) et « year » sa date d’apparition.
Enfin l’entrée « cabinet » est toujours remplie avec « remplacement », je ne sais pas à quoi cela correspond.
Vient ensuite la composition du gouvernement :
Ex :
HeadOfState = { type = 9 id = 1001 }
HeadOfGovernment = { type = 9 id = 1002 }
ForeignMinister = { type = 9 id = 1003 }
ArmamentMinister = { type = 9 id = 1004 }
MinisterOfSecurity = { type = 9 id = 1005 }
MinisterOfIntelligence = { type = 9 id = 1006 }
ChiefOfStaff = { type = 9 id = 1007 }
ChiefOfArmy = { type = 9 id = 1008 }
ChiefOfNavy = { type = 9 id = 1009 }
ChiefOfAir = { type = 9 id = 1010 }
Avec pour chaque poste le « type » du pays (9 pour le Royaume-Uni) et l’id du ministre concerné.
Puis les équipes de recherche :
Ex :
tech_team = {
id = { type = 10 id = 301 }
name = "Anglo-Iranian Oil Co."
picture = "T301"
skill = 7.0000
research_types = { chemistry technical_efficiency }
startyear = 1930
endyear = 1970
endyear = 1970
origin = "---"
}
Avec les « research_types » (spécialités), le niveau (« skill ») ainsi que les dates d’apparition (« startyear ») et de disparition de la team (« endyear »).
Ensuite, d’autres données générales relatives au pays :
Ex :
team_slots = { 332 324 305 304 315 }
manpower = 40.0000
free = {
oil = 0.0000
supplies = 0.0000
rare_materials = 0.0000
metal = 0.0000
energy = 0.0000
money = 0.0000
transport = 0.0000
escort = 0.0000
ic = 0.0000
manpower = 0.0000
}
oil = 4499.9810
supplies = 8497.4717
rare_materials = 500.0000
metal = 1000.0000
energy = 1000.0000
money = 70.0000
consumer = 0.4000
supply = 0.4000
production = 0.2000
reinforcement = 0.0000
upgrading = 0.0000
transports = 1000.0000
escorts = 170.0000
relative_manpower = 1.0000
allow_convoy_escorts = yes
allow_dig_in = yes
missile_carrier = no
nuclear_carrier = no
tc_mod = 1.1000
tc_occupied_mod = 1.2000
attrition_mod = 1.1000
max_amphib_mod = 4.0000
supply_dist_mod = 1.1000
research_mod = 1.1000
radar_eff = 1.0500
peacetime_ic_mod = 0.4000
« Team_slot » fait (il me semble) référence aux équipes en activité, « manpower », « oil », « supplies », « rare_materials », « metal », « energy » et « money » renvoient au stocks respectifs. L’entrée « free » indique les apports off-maps. Les entrées « consumer », « supply », « production », « renforcement » et « upgrading » font référence à la répartition des PPs (biens de consommation, ravitaillement etc). « Transports » et « escorts » indiquent le nombre de convois et d’escortes dont dispose le pays. « Relative_manpower » est le multiplicateur par lequel est multiplié l’apport journalier « de base » en manpower. (par ex certains mods baissent cette valeur en temps de paix et l’augmentent en temps de guerre) « Allow_convoy_escorts » indiquent si ce pays peut ou non escorter ses convois. « Allow_dig_in » indiquent si les troupes de ce pays peuvent ou non se retrancher. « Missile_carrier » et « nuclear_carrier » indiquent respectivement si des missiles peuvent être placés dans des sous-marins et si des bombes nucléaires peuvent ou non être placées sur des missiles (v1/v2/ballistique/icbm).
« Tc_mod » est la valeur par laquelle est multipliée la CT (« capacité de transport »), « tc_occupied_mod » s’appliquent aux territoires occupés, la valeur « max_amphibious_mod » fait référence au nombre d’unités prenant part à un débarquement à partir duquel les malus de stacking s’appliquent. « Supply_dist_mod » est la pénalité de ravitaillement rapporté à la distance (plus la valeur est élevée, mieux les troupes sont ravitaillées), « research_mod » est le multiplicateur indiquant la vitesse des recherches, « radar_eff » fait référence à l’efficacité des radars et « peacetime_ic_mod » est le pourcentage de PPs disponible en temps de paix.
Sont ensuite énumérées les spécificités de chaque unité pour ce pays puis les modèles d’unités disponibles :
Ex :
models = {
artillery = { 2 1 0 }
}
Ici, les modèles 0, 1 et 2 d’artillerie sont disponibles.
Les modèles obsolètes sont également indiqués par la suite ainsi que les « allowed » (autorisés) divisions, brigades et buildings.
Ex :
allowed_divisions = {
infantry = yes
}
allowed_brigades = {
artillery = yes
}
allowed_buildings = {
ic = yes
}
Je passe vite sur cette partie car elle est explicite.
Nous avons ensuite des modificateurs des temps de production des infrastructures :
Ex :
building_prod_mod = {
ic = 1.0000
coastal_fort = 1.0000
land_fort = 1.0000
flak = 1.0000
infrastructure = 1.0000
air_base = 1.0000
naval_base = 1.0000
radar_station = 1.0000
nuclear_reactor = 1.0000
rocket_test = 1.0000
}
convoy_prod_mod = { transports = 1.0000 escorts = 1.0000 }
Ici les temps sont ceux de base (multiplicateur à 1.0). Passer la building_prod_mod des ic à 0.500 par ex divisera par deux le temps nécessaire pour construire une usine.
Suivent ensuite les efficacités de mission (« mission_efficiency ») qui sont des multiplicateurs, les « max/min_positioning » des unités navales (positionnements max et min) ainsi que les « modifiers » (valeurs retranchées aux unités lors de certaines circonstances de combat).
Ex :
modifiers = {
infantry = {
blizzard_attack = -95
}
}
Si une unité d’infanterie de ce pays attaque à partir d’une province où les conditions météo sont réglées sur « blizzard », l’unité aura un -95 au combat.
Suivent ensuite les missions autorisées.
Ex :
strat_redeploy = yes
Ce pays peut utiliser le redéploiement stratégique.
Puis l’entrée « diplomacy » :
Ex :
diplomacy = {
relation = {
tag = FRA
value = 149.0000
frustration = 0.0000
access = yes
dont_want_exp_forces = no
}
Elle fait référence aux relations diplomatiques. Ici, le Royaume-Uni a +150 en relations avec la France, a accès au territoire français et (option disponible avec armageddon) ne souhaite pas recevoir de corps expéditionnaire français.
Ex :
relation = {
tag = POR
value = 99.0000
frustration = 0.0000
guaranteed = { year = 1935 month = december day = 29 hour = 0 }
dont_want_exp_forces = no
}
Dans cet exemple, le R-U garantit l’indépendance du Portugal depuis le 1er janvier 1936.
Ensuite :
Ex :
ownedprovinces = { 3 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 28 29 348 31 444 1494 1481 1480 1465 1466 1479 1482 1483 1475 1476 1478 1477 1469 1470 1471 1472 1456 1468 1467 1464 1463 1474 1460 1459 1457 1458 1461 1508 1462 1505 1506 1507 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1284 1285 1286 1287 1288 1289 1290 1291 1898 1304 1295 1296 1301 1302 1346 1299 1298 1300 1292 1454 1297 1878 1877 1799 1797 1796 404 1802 1803 406 407 1813 1814 1820 1822 1504 1798 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 4 1020 1019 1021 1022 1027 1023 1026 1024 1025 1800 1801 1065 1066 1069 1068 1067 1029 1028 1032 1031 1030 1040 1041 1349 1350 1351 1352 1353 1644 1646 1647 1315 758 891 871 873 806 807 808 809 897 538 652 653 664 665 666 668 805 896 866 1147 1148 1816 1817 1136 1815 1132 1139 1062 1140 1141 1064 1060 1061 1059 1035 1036 1112 1111 1105 1124 1125 1104 1099 1129 1126 1128 1000 1001 1002 1008 1007 999 1009 1010 1011 1145 1085 1012 988 982 1622 1683 1684 1685 1686 1763 1761 1767 1768 1769 1770 1757 1759 1760 1752 1753 1754 1755 1758 575 576 1614 1611 }
controlledprovinces = { 3 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 28 29 348 31 444 1494 1481 1480 1465 1466 1479 1482 1483 1475 1476 1478 1477 1469 1470 1471 1472 1456 1468 1467 1464 1463 1474 1460 1459 1457 1458 1461 1508 1462 1505 1506 1507 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1284 1285 1286 1287 1288 1289 1290 1291 1898 1304 1295 1296 1301 1302 1346 1299 1298 1300 1292 1454 1297 1878 1877 1799 1797 1796 404 1802 1803 406 407 1813 1814 1820 1822 1504 1798 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 4 1020 1019 1021 1022 1027 1023 1026 1024 1025 1800 1801 1065 1066 1069 1068 1067 1029 1028 1032 1031 1030 1040 1041 1349 1350 1351 1352 1353 1644 1646 1647 1315 758 891 871 873 806 807 808 809 897 538 652 653 664 665 666 668 805 896 866 1147 1148 1816 1817 1136 1815 1132 1139 1062 1140 1141 1064 1060 1061 1059 1035 1036 1112 1111 1105 1124 1125 1104 1099 1129 1126 1128 1000 1001 1002 1008 1007 999 1009 1010 1011 1145 1085 1012 988 982 1622 1683 1684 1685 1686 1763 1761 1767 1768 1769 1770 1757 1759 1760 1752 1753 1754 1755 1758 575 576 1614 1611 }
nationalprovinces = { 3 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 28 29 348 31 1494 }
techapps = { 4010 4020 4120 4130 2150 2010 2020 2030 2290 2300 2310 2450 2460 2510 1010 1020 1190 1200 1210 1220 4220 1110 2400 1150 1310 5010 5020 5050 5080 5190 5200 5310 5320 5410 5470 5480 3420 9010 9020 9030 9140 8010 8020 8030 8040 8050 8070 8100 8120 3500 3010 3020 3030 3040 3070 3080 3130 3140 3190 3200 3250 3260 3270 3320 3330 3340 3400 3410 3510 3350 3360 6050 }
inventions = { }
blueprints = { }
deactivate = { 8060 8080 6000 6051 6090 7010 7020 7050 7280 7100 7110 7120 7130 7140 7150 7160 16000 7170 7180 7190 16010 16020 7200 7210 7220 7230 7240 7260 7270 16030 15500 }
dormant_ministers = { }
application = {
id = { type = 4712 id = 1227 }
project = { type = 17 id = 6070 }
tech_team = { type = 10 id = 332 }
progress = 0.0000
progress = 0.0000
progress = 0.0000
progress = 0.0000
progress = 0.0000
status = "ongoing"
}
On a la liste des « owned » (qui nous appartiennent), « controlled » (sous contrôle) et « national » (nationales) provinces, la liste des « tech_apps » (techs que ce pays a recherché), des « inventions » (techs débloquées par events spéciaux), des « blueprints » et des techs « deactivate »[d] (désactivées).
Les « dormant_ministers » sont les ministres désactivés et les « application » font référence aux techs (sont indiqués l’id de la tech, celle de l’équipe qui la recherche ainsi que le pourcentage de progrès de recherche de chaque component).
Enfin les unités :
landunit = {
id = { type = 13016 id = 1 }
name = "Aldershot Command"
location = 22
home = 22
mission = {
type = none
target = 22
percentage = 0.0000
night = yes
day = yes
}
date = {
year = 1936
month = january
day = 0
hour = 0
}
development = no
morale = 0.0010
leader = {
id = { type = 6 id = 1174 }
name = "Ironside"
picture = "gfx\interface\pics\L1174.bmp"
category = general
rank = 1
rank_year = 1930
rank_year = 1930
rank_year = 1930
rank_year = 1939
max_skill = 6
startyear = 1930
endyear = 1940
skill = 2
experience = 20.0000
trait = logistics_wizard
}
division = {
id = { type = 13016 id = 5111 }
name = "Army HQ"
model = 0
brigade_model = 0
type = hq
strength = 20.0000
organisation = 35.0000
morale = 30.0000
experience = 5.0000
defaultorganisation = 35.0000
redep_unit_name = ""
maxspeed = 6.0000
supplyconsumption = 0.5000
fuelconsumption = 0.0000
defensiveness = 60.0000
toughness = 50.0000
softness = 100.0000
suppression = 2.0000
airdefence = 3.0000
softattack = 1.0000
hardattack = 1.0000
transportweight = 10.0000
airattack = 1.0000
speed_cap_art = 14.0000
speed_cap_eng = 0.0000
speed_cap_aa = 14.0000
speed_cap_at = 14.0000
}
}
La « location » est la province où se trouve l’unité. Les « landunits » sont des corps d’armées et les « divisions » des divisions. La mission assigné au corps ainsi que la date de son commencement sont indiquées avec le moral du corps, et son statut (en développement ou déjà déployé). Puis est décliné le leader assigné au corps.
Nous avons ensuite une description des divisions du corps avec le type de l’unité, son modèle, sa brigade éventuelle, sa force (« strength »), son organisation de base (et « defaultorganisation » pour l’orga max), moral, expérience et le reste de ses statistiques. Vous pouvez modifier les corps et divisions autant que vous voulez. Prenez toutefois garde à utiliser les « types » adéquats (ils sont pays-dépendants) ainsi que des ids uniques. Veillez aussi à fermer tout { par un }. Les air et naval units ont également une entrée « base » qui fait référence à leur base.
On a ensuite les convois :
Ex :
convoy = {
id = { type = 4712 id = 1329 }
transports = 0
escorts = 0
rare_materials = no
energy = no
metal = no
oil = yes
supplies = yes
path = { 9 2405 28 }
}
Avec le nombre de convois et escortes impliqués, les ressources transportées ainsi que le « path » (chemin) emprunté.
Pour finir, vous trouverez les informations relatives aux espions :
Ex :
SpyInfo = {
country = "YEM"
NumberOfSpies = 1
spyFriendly = yes
date = {
year = 0
month = january
day = 0
hour = 0
}
}
Ici, nous avons 1 espion désactivé (« spyfriendly = yes ») infiltré au Yémen.
3- Dernières informations
Vous noterez encore quelques entrées intéressantes à la fin de vos saves comme history = { } qui contient les ids des events qui se sont déclenchés ou sleepevent = { } qui contient les events endormis. A côté se trouve la liste des fichiers d’events retenus par la partie.
Ex :
event = "db\events\AI_GER.txt"
Le jeu prendra en compte les events situés dans ce fichier.
Voilà, j’espère que ce tutorial pourra vous être utile,
Votre serviteur. :)