Ideally, opening a campaign save file should load up the campaign exactly as it was when it was saved and closed. And ideally all UI elements would refresh immediately in response to script events instead of refreshing only once the save has been reloaded. Unfortunately M2 isn't ideal in either of these ways.
In the interest of not getting blindsided by any more of these 'reloading bugs', I would like to start a list of them here that everyone can use as a reference. Please contribute any you know of that I'm leaving out. Again, these are bugs that are somehow related to or induced by the act of reloading a campaign save by selecting a save game file, fighting a battle and exiting back to the campaign map, or even alt-tabbing.
Note: In this post, "reloading" the campaign is used as a blanket term to describe any process that brings up the loading bar before returning to the campaign map. There are several ways to induce the loading bar that I know of:
- loading a save game file - this can be addressed in script by monitoring the GameReloaded event
- ending a battle and returning to the campaign map - this can be addressed in script by monitoring the PostBattle event
- alt-tabbing back into the game - this does not appear to count as a true reloading of the campaign map and thus does not need to be accounted for in script, convenient since there is no event for it, aside from the radar map bugging out if was zoomed in prior to the alt-tab the hotseat interface updates (item #3) is the only thing that I've found is affected by reloading the campaign in this way
- issuing the console command 'reset_display' - this only affects the UI
1. Portrait Reset after Religion Change - After a faction's religion is changed with the command 'set_religion', the faction's generic general portraits won't be reassigned to the new religion pool until reloading the UI. This can be fixed with reset_display.
2. All Settlement Commands Turned On - filter_settlement_commands is turned 'on' for all settlements on the map when the campaign is reloaded. This command is used to prevent the player from building or recruiting at a specified settlement when set to 'off' but it is effectively reset to 'on' for all settlements when the campaign is reloaded. This can be fixed with scripting.
3. Hotseat Interface Updates - UI between controlled factions isn't updated until reloading - i.e. if multiple factions are controlled in hotseat (either at the start of the campaign or by using the 'control' command), the HUD, scrolls, etc. will remain the same from the culture of the first faction loaded unless the UI is reloaded. This can be fixed using reset_display.
4. Messages Closed - some message scrolls are closed automatically when the campaign is reloaded. This affects single player and hotseat campaigns alike, although the effect is more pronounced in multiplayer hotseats where the campaign must be reloaded between every human faction's turn effectively disabling all historic events unless a script solution is used. Accept/Decline events are also affected by this bug. this can be fixed with scripting. See below for which message scrolls survive a reload and which are closed.
Spoiler Alert, click show to read:
5. Characters w/ Same Display Name Reassigned to Same Internal Name - characters with the same display name but different internal names get reassigned to the same internal names on reloading the campaign. This is not a problem for uniquely named characters so long as only one character with the name is on the map at a time.
6. Console Commands Don't Reset - console commands (used via the in-game console or campaign_script), such as toggle_fow and bestbuy, change a setting that isn't reset when loading a new campaign. They are only reset when the game is relaunched. I.e. if you start a campaign as england, use toggle_fow to turn fog of war off, then quit that campaign and load a new campaign as france, fog of war will still be toggled off. These console commands fail to reset when reloading the campaign whereas other console commands like filter_settlement_commands reset to a default on/off value when they shouldn't. This can be addressed for individual campaigns using scripting but there is no way to address this bug for different campaigns.
7. Custom Settlement Strat Models Reset - upon reloading the campaign map (when loading a save, the bug does not appear after fighting a battle), any settlements using faction_variant strat models which are in the fog of war (visible but not within line of sight) will be appear to use the culture default strat models. This bug has been known for Third Age Total War for a long time (Minas Tirith turning into a port, etc.). If there is only one human player, this bug can be addressed by monitoring when the settlement tiles have been revealed (TileSeen, IsPositionInRect) and setting a counter. A GameReloaded monitor checks if the counter == 1 and then issues reveal_tile followed by hide_all_revealed_tiles. This script monitors when the tiles have been 'discovered naturally' and then henceforth reveals and hides these tiles every time the map is reloaded in order to 'refresh' the bugged custom settlement strat models under fog. This concept can be extended to multiplayer hotseats using character spawns instead of reveal_tile (which is not faction-specific).
8. UI Remains Hidden - scripts can hide the UI using the hide_ui command. If the campaign is reloaded while the UI is hidden, the UI will not be shown when the map is reloaded. If the user has no way to issue the show_ui command (for example, with a hotkey script), then they will be unable to continue their campaign (no way to end the turn, etc.). This can be fixed with scripting.
9. Agents Spawned with spawn_army Are Killed - It's possible to spawn agents (priests, diplomats, princesses, spies, etc.) using the spawn_army command in script. I credit this trick to Gigantus. However, the game treats the spawned character like a hybrid between an agent and a named character (which would normally be spawned with spawn_army). One of the conditions for a named character to survive is that they have a bodyguard unit. Since agents spawned with this trick do not have a bodyguard unit, they do not survive when a campaign save is reloaded. The only other aspect of a named character that the agent is known to retain, in addition to requiring a bodyguard unit, is that the game will not randomly assign a new name if the agent becomes pope, see here.
10. 'soldiers 1' Reset to Size - Spawning an elephant mount unit using the 'soldiers 1' tag in campaign_script results in the unit having only a single elephant on the battle map. However, if the unit size is large or huge, the number of elephants will 'return to normal' at 3 upon reloading the campaign. This does not happen for elephant artillery units.
11. sub_faction Tag Removed for non-slave_faction - If a non-slave faction uses the sub_faction tag in descr_strat for a non-slave_faction faction in order to get a character to use battle animations, name, strat model, and tooltip from another faction, the effect will be lost (all of these things revert to owning faction's versions) upon reloading the campaign map. One of the functions of the slave_faction tag in descr_sm_factions must be to prevent this reset upon reloading.
12. converted generals get the animation sets of their new faction - generals (named characters and presumably captains as well) that are converted from one faction to another by any means (bribery, give_everything_to_faction, revolt, etc.) will retain the animation set from their original faction until the campaign is reloaded.




Reply With Quote









































