Hands-On Usage
is_on_same_continent_as is commonly used to restrict the availability of certain decisions, diplomatic actions, or focuses—for example, allowing only countries on the same continent to demand cores, establish spheres of influence, or limiting colonial expansion events to states on the same landmass. A typical scenario is in regional alliance mods, where you ensure only nations sharing the target country's continent can join a specific faction.
# available block in a decision: only usable if the target nation is on the same continent
available = {
GER = {
is_on_same_continent_as = FROM
}
}
Synergy
[any_neighbor_state](/wiki/trigger/any_neighbor_state) — Often nested with this trigger to first filter by continent, then further narrow down to states that border a specific neighboring state, precisely pinpointing geographic scope.
[controls_state](/wiki/trigger/controls_state) — Used together to achieve the condition "only when we control a state on the same continent," commonly seen in colonial or regional occupation logic.
[distance_to](/wiki/trigger/distance_to) — Pairing these two adds a distance threshold on top of the same-continent premise, preventing transcontinental landmass blocks from being mistakenly judged as "nearby neighbors."
[any_owned_state](/wiki/trigger/any_owned_state) — Iterates through owned states and combines with this trigger to verify whether at least one territory exists on the target continent; frequently used in colonial unlock checks.
Common Pitfalls
- Confusing scope objects: When applied to a country tag, the game uses the capital state's continent, not all its territories. If the target nation has been partitioned or its capital relocated, results may be unexpected. Always clarify whether you truly want to compare "the continent where the capital sits" or a specific territory.
- Incorrect invocation outside STATE scope: This trigger can also be used in COUNTRY scope (taking the capital state), but if written inside a nested scope that is neither STATE nor COUNTRY (such as unit leader scope), the script will silently fail or throw an error. Beginners often lose track of their actual scope due to deeply nested scope chains.