Hands-On Usage
is_island_state is commonly used to determine whether a state consists entirely of isolated island provinces, enabling designers to implement special garrison logic, building unlock conditions, or decision availability for island regions. For example, in maritime fortress-style mods, you can restrict certain naval base decisions to apply only to pure island states, or impose special garrison penalties on isolated island states.
# Decision available only for pure island states
available = {
145 = {
is_island_state = yes
}
}
Synergy
[is_one_state_island](/wiki/trigger/is_one_state_island): Both have similar functionality but differ in evaluation perspective. is_island_state checks province-level connectivity, while is_one_state_island checks whether the state itself is an island. Using them together allows precise distinction between "a state composed entirely of isolated island provinces" and "a single island state isolated from the continent."
[is_coastal](/wiki/trigger/is_coastal): Island states are necessarily coastal. Combining the two allows further filtering to identify coastal but non-island states, useful for exclusion logic.
[any_neighbor_state](/wiki/trigger/any_neighbor_state): Commonly used after confirming a state is an island state, to further check whether it has adjacent states of specific types (such as those connected via straits), building more complex geographical condition chains.
[set_state_category](/wiki/effect/set_state_category): When used in an effect block, automatically adjusts a state's category to a specific classification when island conditions are met, enabling dynamic map effects.
Common Pitfalls
- Confusion with
is_one_state_island: Beginners often use these two interchangeably. is_island_state requires that all provinces within a state have no land adjacencies (or are connected only via straits), while is_one_state_island judges whether the state as a whole is an island. In multi-province states, results may differ completely. Always choose based on your actual requirements.
- Incorrect scope placement: This trigger's scope is STATE and must be called within a state scope context (such as
145 = { is_island_state = yes }). If written directly in a country scope trigger block without switching scopes, the script will not evaluate correctly, and debugging logs may not always provide intuitive error messages.