jdog5000
Revolutionary
DynamicCivNames Description
Version 0.41
By jdog5000
For BTS 3.13
The goal:
This component renames civs based on their civics choices and other status factors. A civs names will change many times over the course of a game. While it has no actual effect on gameplay, it adds dynamic variety to the game.
How it works:
When a civ is created or changes their civics, they are potentially assigned a new name based on many factors. Civs spawned by either Revolution or BarbarianCiv will get temporary names indicating their status, like Mongolian Horde or Russian Rebels, until they're more firmly established. When a civ switches to Hereditary Rule their name will change to something like Kingdom of America, while under Representation or Universal Sufferage they would be the American Republic. Civs with only one city in the later stages of the game may have the city name included in their title, but their civ type will always be clarified as in the French Kingom of Paris. There are many different potential names, and even variations for civs with the same status to provide some flavor.
All of these civics determinations are made using the added Revolution flags in the civics xml file to support variations on the standard civics systems. Having a civic with the isCommunism bool set will cause Communist style names. In addition, some civs have special names like show up in certain circumstances, like the German Reich and Arabian Caliphate. These determinations are made by matching text in the civs adjective (ie German or Arabian).
This component has several features designed to support names of civs created by BarbarianCiv and Revolution, but will provides plenty of fun flavor name changes as a standalone mod or addition for other mods. It requires changes to the DLL to allow name changes to stick, but all name changes are generated in Python.
Feedback and suggestions for how to improve the names and add more variety would be great.
Download
Dynamic Civ Names
SDK Additions
To enable civ name changing, several new functions have been added to CvPlayer and exposed to Python in CyPlayer. The most important of these is:
setCivName(std::wstring szNewDesc, std::wstring szNewShort, std::wstring szNewAdj)
This function will assign the strings passed in to their respective fields for the player, description, short description, and adjective.
This component includes all of the SDK changes from the Revolution mod. It does not need all of them, but those it does not use have no effect on gameplay. The other changes this component makes use of are augmentation of the civics XML data to easily distinguish between different types of government and other civics without being hardcoded. Check out the Revolution mod sub-forum and help files in the Revolution download to learn about how to get custom civics to work with these new features.
The included DLL supports 34 civs.
Version 0.41
By jdog5000
For BTS 3.13
The goal:
This component renames civs based on their civics choices and other status factors. A civs names will change many times over the course of a game. While it has no actual effect on gameplay, it adds dynamic variety to the game.
How it works:
When a civ is created or changes their civics, they are potentially assigned a new name based on many factors. Civs spawned by either Revolution or BarbarianCiv will get temporary names indicating their status, like Mongolian Horde or Russian Rebels, until they're more firmly established. When a civ switches to Hereditary Rule their name will change to something like Kingdom of America, while under Representation or Universal Sufferage they would be the American Republic. Civs with only one city in the later stages of the game may have the city name included in their title, but their civ type will always be clarified as in the French Kingom of Paris. There are many different potential names, and even variations for civs with the same status to provide some flavor.
All of these civics determinations are made using the added Revolution flags in the civics xml file to support variations on the standard civics systems. Having a civic with the isCommunism bool set will cause Communist style names. In addition, some civs have special names like show up in certain circumstances, like the German Reich and Arabian Caliphate. These determinations are made by matching text in the civs adjective (ie German or Arabian).
This component has several features designed to support names of civs created by BarbarianCiv and Revolution, but will provides plenty of fun flavor name changes as a standalone mod or addition for other mods. It requires changes to the DLL to allow name changes to stick, but all name changes are generated in Python.
Feedback and suggestions for how to improve the names and add more variety would be great.
Download
Dynamic Civ Names
SDK Additions
To enable civ name changing, several new functions have been added to CvPlayer and exposed to Python in CyPlayer. The most important of these is:
setCivName(std::wstring szNewDesc, std::wstring szNewShort, std::wstring szNewAdj)
This function will assign the strings passed in to their respective fields for the player, description, short description, and adjective.
This component includes all of the SDK changes from the Revolution mod. It does not need all of them, but those it does not use have no effect on gameplay. The other changes this component makes use of are augmentation of the civics XML data to easily distinguish between different types of government and other civics without being hardcoded. Check out the Revolution mod sub-forum and help files in the Revolution download to learn about how to get custom civics to work with these new features.
The included DLL supports 34 civs.