Colonial regions modding

From Europa Universalis 4 Wiki
Jump to navigation Jump to search

This page is an explanation of how to mod colonial regions. The relevant folder is /Europa Universalis IV/common/colonial_regions. In the vanilla game, this folder only contains one file 00_colonial_regions.txt. This is the file that must be edited when modifying existing colonial regions, unless the mod replaces the path. If the mod replaces the colonial regions path (or the entire common path), or if you are adding entirely new colonial regions, a new file with any name can be created in the colonial regions folder.

Colonial region name[edit | edit source]

Every colonial region needs a unique name, and this name begins the entry for each region. For example:

colonial_alaska = {
}

The rest of the script for this entry is contained within these tags.

Localising colonial region names[edit | edit source]

Localisation is handled in the same way as any other localisation string. For example:

colonial_alaska:0 "Colonial Alaska"

Color[edit | edit source]

The color line determines both how the region displays in the colonial regions map mode, as well as the right half of flags for colonial nations spawned in this region. It uses the rgb color model. For example:

color = { 225 225 225 }

Random new world[edit | edit source]

There are a variety of settings that determine how the colonial region manifests if the random new world option is used in the game. You can ignore this section if your mod is not compatible with this option.

Province attributes[edit | edit source]

The basic province attributes are averages across the generated region. They represent base tax, number of natives (each point representing 100 natives), native ferocity, and native hostility. For example:

tax_income = 0
native_size = 8
native_ferocity = 1
native_hostileness = 4

Trade goods[edit | edit source]

The entries in this section are proportional.

trade_goods = {
        fur = 10
        fish = 3
}

In this example, the rate of fish to fur provinces is 10:3.

Culture[edit | edit source]

Like trade goods, culture is proportional.

culture = {
        inuit = 10
        aleutian = 8
}

Here the rate of Inuit to Aleutian culture is 10:8 (or 5:4).

Religion[edit | edit source]

Again, this is proportional.

religion = {
        shamanism = 10
        animism = 10
}

Member provinces[edit | edit source]

In the provinces section, list all of the provinces that should be in the colonial region. Make sure that no provinces are in more than one (1) colonial region, as this can cause the game to crash. Below is the province list for colonial_alaska:

provinces = {
        979 978 977 976 975 974 972 2022 2609 2610 2611 2612 2613
}

Colonial nation names[edit | edit source]

There is no real distinction between generic and specific names; both use the same script. However, the distinction may be useful for organisational purposes, as the game will pick the first name on the list for which the triggers are met when a colonial nation is created. These names work like any other localisation strings, but it is useful to follow existing naming conventions.

Any valid triggers that scope to a country (ROOT being the overlord of the colonial nation) can be used.

Generic names[edit | edit source]

A generic name either has no trigger, or has a trigger depending on ownership of a specific province. By convention, generic names are listed after specific names.

names = {
        name = "COLONIAL_ALASKA_Alaska"
}

This example of a generic name has no trigger. Any spawned colonial nation that does not meet the requirements for a specific name can use this name.

names = {
        trigger = {
                owns = 1010 # Manitoba
        }
        name = "PROV1010"
}

The above is an example of a trigger based on province ownership. If the trigger is true, the name of the nation will be the name of province 1010 (Manitoba). This name does not need to be localised, because PROV1010 is already a defined localisation string.

Specific names[edit | edit source]

Specific names have triggers that depend on attributes of the nation being spawned, such as tag or primary culture. A specific name can and sometimes does also include province ownership triggers.

names = {
        trigger = {
                OR = {
                        tag = SPA
                        tag = CAS
                        tag = ARA
                }
        }
        name = "COLONIAL_ALASKA_Pacifico_Norte"
}

In this example, the Pacifico Norte name is used if the colonial overlord's tag is Spain, Aragon, or Castile.

Localising colonial nation names[edit | edit source]

Both the name and an adjective need to be localised. These are very simple localisation strings:

COLONIAL_ALASKA_Alaska:0 "Alaska"
COLONIAL_ALASKA_Alaska_ADJ:0 "Alaskan"

Some more complex strings:

COLONIAL_CANADA_Root_Culture_GetGroupName_Canada:0 "[Root.GetAdjective] Canada"
COLONIAL_CANADA_Root_Culture_GetGroupName_Canada_ADJ:0 "[Root.GetAdjective] Canadian"

In the above examples, [Root.GetAdjective] will find the national adjective of the colonial overlord (English, British, French etc.) and use that as the first word in the name. Many vanilla strings seem strange because in previous patches localisation would generate the first word of the name based on the primary culture or culture group of the colonial overlord rather than the national adjective. The actual localisation generates the correct names, but the reference in 00_colonial_regions.txt still uses the old description. This is merely a cosmetic discrepancy, but may be confusing.

Documentation EffectsTriggersModifiersScopesVariablesLocalisationCustomizable localizationRun files
Scripting Scripted functionAdvisorsAgesBookmarksBuildingsCasus belliColonial regionsCountriesCultureDecisionsDefinesDiplomatic actionsDisastersEmpire of ChinaEstatesEventsFactionsGovernmentGreat projectsHistoryHoly Roman EmpireIdea groupsInstitutionsMercenariesMissionsModifiersNation designerOn ActionsParliamentPeace treatiesPoliciesRebel typesReligionSubject typesTechnologyTrade companiesTrade goodsUnits
Map MapNation designerRandom New WorldTrade nodes
Graphics 3D ModelsInterfaceGraphical AssetsFontsParticlesShadersUnit models
Audio MusicSound
Other Console commandsChecksumJoroDox mod making toolMod structureTroubleshootingThe ValidatorRun files
Guides Adding a provinceSave-game editingScripting Tutorial