Is there a way to change a civ's core and historical provinces? Whether it's in the files or in the WB.
Depends what you want to achieve.
The lists of Core, Normal (historical), etc provinces are found about halfway down in
Assets\Python\consts.py. Editing the lists is straight-forward and works just fine as long as you are careful with the syntax and avoid duplicating entries.
For example, here is the top of the core section:
Code:
# Core (spawn) regions = RFC tCoreAreasTL/BR and AIWars +10
lCoreRegions = [
[rThrace, rAsia], # Byzantium
[rMakuria], # Makuria
You can edit this by adding or deleting regions from the relevant civ's core array, e.g. to add Nobatia to Makuria's core:
Code:
# Core (spawn) regions = RFC tCoreAreasTL/BR and AIWars +10
lCoreRegions = [
[rThrace, rAsia], # Byzantium
[rMakuria, rNobatia], # Makuria
The complete list of defined regions is found immediately above this section in
consts.py.
Note that these edits should be done before you start a game. It is possible to edit the lists "on the fly" and the changes will indeed show up in the colour overlay, but it's not completely clear to me that the game will always recognise the on-the-fly changes. RFCEurope, by contrast, dynamically updates provinces and uses a utility (setProvinceType) to do this. SoI doesn't work this way; instead provinces switch on and off automaticaly as civs reach their spawn and die dates. What this means is that if you e.g. define a province as core before starting a SoI game, everything works as expected, but the game is sometimes whimsical if you change a region's type in mid-game.
Region and Settler maps are in
Assets\Python\maps.py. Editing these is more complex, but if you work carefully and, where necessary, co-ordinate with edits to
consts.py and
Middle East 750 CE.CivBeyondSwordWBSave, you can achieve very fine control over where civs and cities spawn and how they grow.
Take backups of everything, before and after, and enjoy your custom games, but remember to always put everything back the way it was before you play a "real" game.