1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Dynamic Civ Names

Discussion in 'Civ4 - Mod Components' started by platyping, Nov 20, 2015.

  1. platyping

    platyping Sleeping Dragon

    Joined:
    Oct 22, 2010
    Messages:
    4,626
    Location:
    Emerald Dreams
    Dynamic Civ Names

    Features:
    Civs change name over time due to different conditions such as civics, religions, golden age.

    Format
    Code:
    ##########################################################################################
    ##					Conditions					##
    ## Religions:	"RELIGION_HINDUISM":	Requires Specific Religion      		##
    ##		"RELIGION_NONE":	Requires No State Religion       		##
    ## Civics:	"CIVIC_DESPOTISM":	Requires Specific Civics			##
    ## Era: 	"ERA_MODERN":		Current Era >= Specific Era			##
    ## States:	"STATE_GOLDEN":		Golden Age					##
    ##		"STATE_ANARCHY":	Anarchy						##
    ##		"STATE_VASSAL":		Vassal States					##
    ##		"STATE_MINOR":		Minor Civ					##
    ## Cities:	"CITY_MAX_050":		At Most 50 Cities				##
    ##		"CITY_MIN_020":		At Least 20 Cities				##
    ##########################################################################################
    ##					Name Change					##
    ## [Prefix, Desc, Short, Adj						   		##
    ## Prefix will be added in front of Desc and Short			     		##
    ## ["AAA", "", "", ""] will just add a Prefix of "AAA" without changing the rest		##
    ## ["", "BBB", "CCC", ""] will just change the Desc and Short without changing Adj	##
    ##########################################################################################
    Guidelines
    1) Conditions can be defined for specific Civs or all other civs using "CIVILIZATION_OTHERS".
    2) Each condition can have multiple requirements such as Religion + Civic or 5 Civics.
    3) Prefix will be added before Desc and Short, separated by a " ".
    4) When no conditions fulfilled, default names will be used.
    5) Priority goes top down, so if 2 different conditions are fulfilled which affects the same thing (Eg Prefix), the first condition fulfilled takes effect.
    6) Conditions which add Prefix should be placed on top. Because once a Desc is found, the system stops searching.
    7) CITY_MAX_XXX and CITY_MIN_XXX: XXX is a 3 digit number, inclusive.
    CITY_MAX_020 means 0 to 20 cities.

    Sample Conditions:
    Code:
    "CIVILIZATION_OTHERS":[		[["RELIGION_HINDUISM"],			## Requires Hinduism Only
    				["Holy", "", "", ""]],			## Just adding a Prefix to Desc
    
    				[["CIVIC_DESPOTISM", "RELIGION_NONE"],	## Requires Depotism and No State Religion
    				["", "Platy", "", ""]],			## Prefix, Desc, Short, Adj
    
    				[["STATE_VASSAL"],
    				["", "Vassal", "", ""]],
    			],
    
    ## Specific Civilizations ##
    "CIVILIZATION_SPAIN": [		[["CITY_MAX_005],
    				["", "Small Spain", "", ""]],
    
    				[["CITY_MIN_030"],
    				["", "Big Spain", "", ""]],
    			],
    
    "CIVILIZATION_JAPAN": [		[["STATE_GOLDEN"],
    				["Great", "", "", ""]],
    
    				[["RELIGION_HINDUISM"],
    				["Holy", "", "", ""]],
    			],
    Japan under normal conditions will simply be default BTS names.
    Japan adopting Hinduism will become Holy Japan.
    Japan during Golden Age will become Great Japan.
    Japan during Golden Age and adopting Hinduism will become Great Japan because of priority.

    Spain having 0 to 5 cities will be Small Spain.
    Spain having 6 to 29 cities will be Spain.
    Spain having 30 or more cities will be Big Spain.

    China being non vassal and no religion and not Despotism will be China.
    China being non vassal and no religion and Despotism will be Platy.
    China being non vassal and Hindusim and Despotism will be Holy China.
    China being vassal and Hindusim and Despotism will be Holy Vassal.

    Python Modding:
    List your requirements within Dynamic ={XXXXXXXX} in DynamicCivNames.py.
    Edit anything else at your own risk.
     
    Dumanios likes this.
  2. platyping

    platyping Sleeping Dragon

    Joined:
    Oct 22, 2010
    Messages:
    4,626
    Location:
    Emerald Dreams
    1) Added Suffix

    2) Added 3 input keys:
    "KEY_SHORT", "KEY_DESC", "KEY_ADJ"

    The new input keys allow you to simplify changes to just CIVILIZATION_OTHERS to affect all civs in the same way.

    "Ancient", "KEY_DESC", "of Glory", "KEY_SHORT", "" will yield the following results:
    China will become Ancient Chinese Empire of Glory.
    England will be Ancient English Empire of Glory.

    "Ancient", "", "of Glory", "", "" will yield the same results
     
    Dumanios likes this.
  3. Civciv5

    Civciv5 Grand Emperor

    Joined:
    Aug 14, 2011
    Messages:
    2,103
    Location:
    Nergenshuizen, Belgium
    This looks extremely useful for my Ancient Middle East mod!
    Good job! :D
    EDIT:I see you use a custom DLL
    Would this mod work with custom civs? I mean civs not in the base game.
     

Share This Page