Where do I find the function that assigns starting positions? I'm less than novice at modding, can you please give a brief walk through of how to make the change. If to involved to explain than don't worry about it. I'm assuming I just need to adjust the values of 1,5*civs in the code, but I don't where or how to find it.
it's not that easy.
the *1.5 is hardcoded, when you launch a game the slots for civilizations and CS are reserved this way, AFAIK there is no possibility to change that using a mods.
but if you really want it, we can hook/hack assign starting plots to use less slots that the game has opened.
let's take an example, you select 10 civs on the setup screen, the game will launch with 10 slots reserved for majors civs and 15 for CS.
we can't open more slots in assignstartingplot (well, maybe we can using the playerconfigurations functions, but I've not tried because I suppose they will fail those far in the game's initialization) but we can make sure less are used.
in my example above, you could for example only set 5 starting positions for the majors and still 15 for CS.
or keep 10 majors and only place 5 CS
Now the maximum number of "players" (majors + CS) is 62, which means the maximum slots we can reserve for CS using this hack is 37 (open 25 majors civs slots in setting, the game will reserve 25*1.5 = 37 slots for CS and 25+37 = 62)
So if you want to play with (for example) 5 major civs and 25 CS, you'll have to edit AssignStartingPlots.lua (search it in the game's installation folder) this way:
search for
Code:
self.iNumMajorCivs = PlayerManager.GetAliveMajorsCount();
self.iNumMinorCivs = PlayerManager.GetAliveMinorsCount();
and replace it with
Code:
self.iNumMajorCivs = 5;
self.iNumMinorCivs = 25;
save, then launch a game but don't forget to open 17 civilizations slots in the advanced setup screen
with the change above, only the 5 first civilizations of the 17 slots opened should be be in game, with 25 CS (17*1.5 = 25.5)
you may have to edit the map size to allow enough major civilizations slots for the higher number or if you want a high number of CS on a small map, and the game may fail to place all CS if the map is too small for the requested number.