Hands-On Usage
every_subject_country is most commonly used when a overlord needs to apply effects to all its subjects in bulk — for example, clearing war goals for all puppets after a war ends, granting national focus trees, or syncing technology bonuses to every subject when the overlord completes a research project. The example below demonstrates the Soviet Union adding war support and setting a country flag on all subjects currently at war:
SOV = {
every_subject_country = {
limit = {
has_war = yes
}
add_war_support = 0.05
set_country_flag = received_soviet_support
}
}
Synergy
- is_subject_of: Use inside a
limit block to further filter for a specific subject type (e.g. puppets only, excluding dominions), making the effect more targeted.
- has_war: Filters down to only those subjects currently at war, preventing wartime effects from being applied to non-belligerent subjects.
- add_ideas: Bulk-adds national ideas or advisor ideologies to all qualifying subjects — the most common pairing for mass state modification.
- set_autonomy: Combined with
every_subject_country to adjust the autonomy level of subjects in bulk; frequently seen in scripted events that trigger mass liberation or tighten overlord control.
Common Pitfalls
- Forgetting that the scope has already switched: Inside the
every_subject_country block, the scope is already each individual subject country. If you need to reference the overlord itself (e.g. to declare war or transfer a state), you must explicitly use ROOT or PREV — otherwise the operation will be executed on the subject instead.
- Writing
limit conditions at the wrong scope level: Triggers inside the limit block are evaluated from the subject country's scope. A common beginner mistake is writing overlord-side conditions (such as the overlord's has_war) directly inside limit, causing the logic to evaluate against the wrong country. Use a nested form like ROOT = { has_war = yes } to reference overlord properties correctly.