EDIT: In the end, this did not work - see note at bottom.
With Bolt talking about doing separate scenarios slanted one way or another, one of my thoughts for making things more difficult for the axis was to lower the loyalty of some of their leaders. Of course, the leader files are shared among all scenarios; so it would be necessary somehow embed the overrides into the scenario. However, since the purges have already happened in the 1941 scenario, it was obviously possible to have some level of control.
I have found that many commands from the save games can be loaded directly into a scenario file and they work just fine even though they are not typically included in a scenario. My first attempt was to simply enter a leader = {} command to try over writing a leader. While the game accepted the command (and updated the data) it produced a database warning message that would not be appropriate for a mod.
The purges and other such things are carried out by using the HISTORY command to trigger past events at the start of a scenario. That is a very powerful feature that has not been discussed much from what I have seen. But unfortunately, events do not allow leaders to be edited. However, they can be removed.
To replace a leader then, I can simply delete the current one and insert a new one with the exact same name and whatever stats I would like to give them. The ID will need to change, but players never see that anyway, so they are none the wiser.
So, to test things out, I decided to change Rommel to an 8 skill level in the Bolt scenario. I changes skill instead of loyalty simply because it is visible from within the game and therefore easier to test, but realistically, you can change anything you want.
First, I created the following event:
###############
# Replacing Rommel
###############
event = {
id = 9191
random = no
country = GER
name = "Replace Rommel"
desc = "Removing Rommel for Scenario modification."
style = 0
action_a = {
name = "Bye Bye Erwin"
command = { type = sleepleader which = 1 }
}
}
The event ID of 9191 is just something I knew would not be in use and "which = 1" specifies Rommel's current leader ID of 1 as specified in the German leader file. Note that this event will never trigger on its own. It is purely used for scenario modification purposes.
Next, in the Bolts of War scenario file I simply inserted the necessary
History = { 9191 }
above all the include statements. That is what causes the event to fire during the scenario start-up.
And then, in the German include file I inserted the new definition of Rommel just above the OOB using the available leader ID of 350 this time.
leader = {
id = { type = 6 id = 350 }
name = "Rommel (T)"
picture = "gfx\interface\pics\rommel_erwin_ger.bmp"
category = general
rank = 1
loyalty = 5
skill = 8
trait = trickster
}
If Rommel were to command any units at the start of the scenario, the leader ID would need to be updated in the OOB, but in this case we do not even have that problem. And there you have it, a modified Erwin Rommel that applies only to the modded scenario.
Actually - NEVERMIND. After a bit more testing, I end up with 2 Rommels. I can then fire the event manually and get rid of the old one, but he isn't automatically purged. Which led me to look into the Russian situation a bit more. It seems in the 1941 scenario, their purged officers are alive and kicking. It seems the HISTORY command does not work. Oh well, off to the bug forum.
With Bolt talking about doing separate scenarios slanted one way or another, one of my thoughts for making things more difficult for the axis was to lower the loyalty of some of their leaders. Of course, the leader files are shared among all scenarios; so it would be necessary somehow embed the overrides into the scenario. However, since the purges have already happened in the 1941 scenario, it was obviously possible to have some level of control.
I have found that many commands from the save games can be loaded directly into a scenario file and they work just fine even though they are not typically included in a scenario. My first attempt was to simply enter a leader = {} command to try over writing a leader. While the game accepted the command (and updated the data) it produced a database warning message that would not be appropriate for a mod.
The purges and other such things are carried out by using the HISTORY command to trigger past events at the start of a scenario. That is a very powerful feature that has not been discussed much from what I have seen. But unfortunately, events do not allow leaders to be edited. However, they can be removed.
To replace a leader then, I can simply delete the current one and insert a new one with the exact same name and whatever stats I would like to give them. The ID will need to change, but players never see that anyway, so they are none the wiser.
So, to test things out, I decided to change Rommel to an 8 skill level in the Bolt scenario. I changes skill instead of loyalty simply because it is visible from within the game and therefore easier to test, but realistically, you can change anything you want.
First, I created the following event:
###############
# Replacing Rommel
###############
event = {
id = 9191
random = no
country = GER
name = "Replace Rommel"
desc = "Removing Rommel for Scenario modification."
style = 0
action_a = {
name = "Bye Bye Erwin"
command = { type = sleepleader which = 1 }
}
}
The event ID of 9191 is just something I knew would not be in use and "which = 1" specifies Rommel's current leader ID of 1 as specified in the German leader file. Note that this event will never trigger on its own. It is purely used for scenario modification purposes.
Next, in the Bolts of War scenario file I simply inserted the necessary
History = { 9191 }
above all the include statements. That is what causes the event to fire during the scenario start-up.
And then, in the German include file I inserted the new definition of Rommel just above the OOB using the available leader ID of 350 this time.
leader = {
id = { type = 6 id = 350 }
name = "Rommel (T)"
picture = "gfx\interface\pics\rommel_erwin_ger.bmp"
category = general
rank = 1
loyalty = 5
skill = 8
trait = trickster
}
If Rommel were to command any units at the start of the scenario, the leader ID would need to be updated in the OOB, but in this case we do not even have that problem. And there you have it, a modified Erwin Rommel that applies only to the modded scenario.
Actually - NEVERMIND. After a bit more testing, I end up with 2 Rommels. I can then fire the event manually and get rid of the old one, but he isn't automatically purged. Which led me to look into the Russian situation a bit more. It seems in the 1941 scenario, their purged officers are alive and kicking. It seems the HISTORY command does not work. Oh well, off to the bug forum.
Last edited: