What is expected behavior of changing units during a game?

planetfall

Emperor
Joined
Jan 18, 2002
Messages
1,351
Location
California
Changed some name-value pairs during a custom game in progress. I expected the new values to be read at the start of the next turn just as changes to buildings. However noticed
-- civpedia settings for changes were not reflected til many turns
-- already created units had the old values
-- new units had the new values

Is this normal behavior?
 
Vanilla works like this. Say we create a unit. It is then granted a visual range of 1. It gains a promotion, which grants +1 visual range, which gives it a total of 2. When the game is saved it will save the integer 2. On load it will load 2. This means it will not load the xml values on load. The game knows the visual range is 2, but it has no idea why, meaning it can't figure out how to modify to match changed xml values. In short the game saves the cache and has no check if the cache is outdated. I suspect this is to make it faster to code and faster to load vanilla. It's good for the player who doesn't mod the files and doesn't update mods mid game, but it's not good for playing your own mod while updating it or just updating mid game because there just happened to be a new release.

It is possible to mod the DLL to not save data like this and instead calculate on load. It makes the game a lot more xml modding friendly, but it requires a lot of work with the DLL. There are other issues with savegames, which too can be modded, like not being able to load savegames if a new unit is added to xml. We have plans for a major overhaul of the savegame format for WTP, but it will have to wait for quite a while because currently we want to stay savegame compatible with previous releases.

I can't really tell what the issue is with pedia. It should reflect how xml were at the time the game started. Note that vanilla loads some xml files before main menu and some after. Going to main menu and loading the game again will reload some files while some other files require a complete restart of the game.
 
Ok, thanks. I'm just experimenting with different values, so it's not much of an issue, just curious on how it worked
 
Top Bottom