Hands-On Usage
every_other_country is commonly used in events or decisions where you need to apply effects to all other countries in bulk — for example, reducing war support for all belligerents or major powers after a global event fires, or adding threat to every other country when a nation declares a new order. The example below shows the Soviet Union activating a decision that reduces war support and adds threat for all other major belligerents:
SOV = {
every_other_country = {
limit = {
has_war = yes
is_major = yes
}
add_war_support = -0.05
add_named_threat = {
threat = 2
name = SOV_global_pressure_threat
}
}
}
Synergy
- has_war: Used inside a
limit block to filter for countries currently at war — the most common filtering condition, preventing effects from accidentally hitting peaceful nations.
- is_major: Paired with
every_other_country to narrow the scope strictly to major powers, reducing unnecessary performance overhead.
- add_named_threat: Frequently used while iterating over all other countries to simultaneously raise threat values, simulating global alarm triggered by one nation's expansion.
- set_country_flag: Used during iteration to tag countries that meet certain conditions, so that subsequent
limit blocks or event triggers can reference those flags for multi-step logic.
Common Pitfalls
- Forgetting
limit causes iteration over the entire map: Without a limit, the effect applies to every other country in the game (including nations not yet released), which can cause unintended game-state changes and serious performance issues. Always use limit to narrow the scope.
- Writing effects intended for the current scope inside the iterated scope: Once inside an
every_other_country block, the scope has switched to the target country being iterated. If you still need to perform operations on the original country (e.g. SOV), you must reference it explicitly with ROOT = { ... } — otherwise the command will incorrectly execute on the iterated country instead.