CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Scripted effect

commander_trait_lvling_ai_effect

commander_trait_lvling_ai_effect = yes

game/common/scripted_effects/00_commander_effects.txt, line 611 (192 lines). No parameters.

commander_trait_lvling_ai_effect is a scripted effect in Crusader Kings III, written at line 611 of its file. It takes no parameters: commander_trait_lvling_ai_effect = yes. The game's script calls it in 1 place, among them random_yearly_playable_pulse (on action). Patch 1.20.1.2, from game/common/scripted_effects/00_commander_effects.txt.

What it does

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.

The script as written (120 lines of game script)
commander_trait_lvling_ai_effect = {
	save_scope_as = root_scope
	random_list = {
		1 = {
			trigger = { has_trait = logistician }
			add_trait_xp = {
				trait = logistician
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(logistician)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = military_engineer }
			add_trait_xp = {
				trait = military_engineer
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(military_engineer)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = aggressive_attacker }
			add_trait_xp = {
				trait = aggressive_attacker
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(aggressive_attacker)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = unyielding_defender }
			add_trait_xp = {
				trait = unyielding_defender
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(unyielding_defender)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = forder }
			add_trait_xp = {
				trait = forder
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(forder)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = flexible_leader }
			add_trait_xp = {
				trait = flexible_leader
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(flexible_leader)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = desert_warrior }
			add_trait_xp = {
				trait = desert_warrior
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(desert_warrior)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = jungle_stalker }
			add_trait_xp = {
				trait = jungle_stalker
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(jungle_stalker)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = reaver }
			add_trait_xp = {
				trait = reaver
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(reaver)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = reckless }
			add_trait_xp = {
				trait = reckless
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(reckless)"
					divide = 100
				}
			}
		}
		1 = {
			trigger = { has_trait = holy_warrior }
			add_trait_xp = {
				trait = holy_warrior
				value = {
					value = 100
					subtract = "scope:root_scope.has_trait_xp(holy_warrior)"

As written in game/common/scripted_effects/00_commander_effects.txt.

The first 120 of its 192 lines; the rest is in game/common/scripted_effects/00_commander_effects.txt from line 611.

Where it is used

Every place in common/, events/ and history/ that calls commander_trait_lvling_ai_effect.

On actions (the game's own hooks) (1)

  • random_yearly_playable_pulse

Source: game/common/scripted_effects/00_commander_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.

Spotted a mistake on this page?