trigger · has_idea
Definition
- Supported scope:
COUNTRY - Supported target:
none
Description
check if country has idea
has_ideaCOUNTRYnonecheck if country has idea
Hands-on notes are AI-generated and checked against the vanilla command vocabulary — treat them as a starting point, not authoritative reference. The definition above is the game's own documentation.
has_idea is commonly used to check whether a nation possesses a specific national focus ideology, advisor, or spirit buff, thereby determining whether subsequent events or decisions are available. For example, in a custom focus tree, you can restrict the next phase of options to only nations that have acquired a certain economic law idea, or in an event, branch dialogue based on whether a specific military advisor idea is present.
# Decision is only available if the nation has the "war_economy" idea
available = {
has_idea = war_economy
}
[has_completed_focus](/wiki/trigger/has_completed_focus): First check whether a specific focus has been completed, then use has_idea to confirm that the idea granted by that focus is actually in effect. This double verification prevents logical gaps caused by ideas being removed through other means.[add_ideas](/wiki/effect/add_ideas): Add ideas to a nation within an effect block. Typically, first check in a trigger block using has_idea to ensure the idea does not already exist before execution, preventing duplicate stacking.[remove_ideas](/wiki/effect/remove_ideas) (paired removal operations corresponding to add_ideas entries): First confirm the idea's existence using has_idea, then safely remove it to avoid errors or silent failures when attempting to remove non-existent ideas.[has_dynamic_modifier](/wiki/trigger/has_dynamic_modifier): has_idea checks static ideas while has_dynamic_modifier checks dynamic modifiers. Used together, they provide complete coverage for evaluating all bonus/penalty states of a nation.has_idea must match the idea token in the ideas = { ... } definition block exactly. Even a single underscore difference will silently return false without error, making it extremely difficult to debug.has_idea on such advisors will always return false. Use [has_character](/wiki/trigger/has_character) or [has_country_leader](/wiki/trigger/has_country_leader) instead.