Hello there, I try to learn how to mod in civ and RFC, this thread is very usefull.
I wonder how to make a collapsed civ to reborn as a news civ, for example in DoC Rome => Italians with new stability map, UHV, and stuff. Is it a new civ, or some tricks to recode the collapse civ ? And how to do ?
Well, not to curb your motivation but if you've never modded anything that's a quite complicated aspect to start with.
Anyway, to start, you need to know there's a difference between players and civilizations. You can understand players as "slots" for civilizations to fill in, like in a normal BtS every civ can fill one of the eight (or whatever) player slots.
Most aspects that make a civ different in BtS, like UU, UB, leaders, unit sounds etc. are tied to the Civilization. You can easily change a player's civilization before it respawns, and all the associated changes take effect.
However, most RFC features are tied to the player, not the civilization it has. This means the game needs some other way to tell if a player is reborn or not (so it can see if it's Rome or Italy, for example). I've solved this by modifying players in the DLL by adding the "reborn" attribute and corresponding methods "isReborn()" etc.
Then I've made two stability/city name maps for every civ, and the one that's used depends on the reborn status of the civ. UHV and UP can be handled simply by using "if pPlayer.isReborn()" before the relevant bits of code.
SoI does it a little different. It's using a global city name map, the province system allows it to handle the stable areas easily via Python, and respawned civs are unplayable and don't have UHVs. So there you don't need to do the complicated things I've mentioned above, simply changing a player's civilization is enough. But you won't be able to pull off a complete change of the civ like Rome -> Italy.
Edit: missed your comment above. RFC Classical World is based on SoI, so my last paragraph applies. You'd need to make the DLL changes I mentioned above to make it work there.