Open main menu

Decision modding

A decision must contain the following:

  • A unique title
  • A set of potential triggers
  • A set of conditions that allow the decision to be used
  • A set of effects

You may also include:

  • Instructions for the AI
  • A country tag to limit it to one country

Decisions use the standard conditions, commands, and scopes in their scripting stage, so check there for a reference if you need it.

Contents

Creating the decisionEdit

Decisions are found and created in the Decisions folder, any new decision you wish to make can be either made here or in your mods folder.

All decision files must begin and end in the same way:

country_decisions = {
}

Unlike with events, where country_event or province_event begins an individual event, country_decisions encapsulates absolutely everything contained within the file, which can include multiple decisions. No text which is not #notes should be contained outside these brackets.

Decision titleEdit

The title of a decision must be unique. It must not be shared with any other decision either in Paradox's script or in mods. Any alphanumeric text can be used as a decision title, though something related to the content of the decision is simplest.

my_first_decision = {
}

Within these brackets goes everything related to this new decision. Some decisions show a green background instead of a blue one, e. g. formations of nations such as Prussia, Germany, Italy, Great Britain etc. To achieve this add

major = yes

as the very first line inside your decision scope.

PotentialEdit

The potential section determines the conditions for being able to see the decision in the decisions panel of the UI. The decision cannot be used even by the AI if the potential triggers are not met, even if all the "allow" triggers are met.

potential = {
	tag = ENG
	owns_core_province = 236 # London
	exists = SCO
	NOT = { has_country_flag = mydecisionflag }
}

Usually you want to ensure that a decision, once taken, cannot be immediately taken again. The easiest way to avoid this is to demand that the country not have a country flag that will be given to it in the effects section. However, it is entirely possible to have a decision that can be taken repeatedly.

AllowEdit

The allow section determines whether the decision can be enacted by the player or AI, assuming all the potential triggers have been met. In the UI, the green tick will be highlighted when the conditions are met and an alert will be displayed indicating that a decision can be taken.

allow = {
	stability = 2
	senior_union_with = SCO
}

EffectEdit

The effect section determines what the decision will do immediately after being enacted. For example:

effect = {
	SCO = { add_manpower = -8 }
	add_prestige = 20
	set_country_flag = mydecisionflag
}

Note that the "mydecisionflag" referenced earlier is set in the effects section to prevent the decision from being indefinitely re-usable.

Ai will doEdit

This section gives the AI instructions about when to use the decision. This section is optional.

To have the AI use the decision whenever it's available, use the following script:

ai_will_do = {
	factor = 1
}

And to ensure that the AI will never take the decision, use the following:

ai_will_do = {
	factor = 0
}

It is also possible to set conditions:

ai_will_do = {
	factor = 1
	modifier = {
	 	factor = 0
	 	NOT = { prestige = 50 }
	}
}

Note: The factors of given modifiers is multiplied with the base factor, so the first factor defined in the "ai_will_do" section has to be higher than 0, if the AI should be able to enact the decision.

AI importanceEdit

The final, optional, section of the decision is AI importance. It determines how highly the AI prioritises enacting this decision. A factor of around 400 appears to be "high priority":

ai_importance = 400

LocalisationEdit

When the decision is complete, it should be localised. Decisions are localised as follows:

my_first_decision_title: "My First Decision"
my_first_decision_desc: "This is the first decision I have scripted."

"_title" is used to determine the name of the decision in the UI, while "_desc" determines its description.

Documentation EffectsTriggersModifiersScopesVariablesLocalisationCustomizable localization
Scripting AdvisorsAgesBookmarksBuildingsCasus belliColonial regionsCountriesCultureDecisionsDefinesDiplomatic actionsDisastersEstatesEventsFactionsGovernmentGreat projectsHistoryIdea groupsInstitutionsMissionsModifiersNation designerPoliciesReligionRebel typesSubject typesTechnologyTrade companiesTrade goodsUnits
Map MapRandom New WorldTrade nodes
Graphics 3D ModelsInterfaceGraphical AssetsFontsParticlesShadersUnit models
Audio MusicSound
Other Console commandsChecksumJoroDox mod making toolMod structureTroubleshootingThe Validator
Guides Adding a province