Wiki

trigger · has_naval_control

Definition

  • Supported scope:COUNTRY
  • Supported target:THIS, ROOT, PREV, FROM, OWNER, CONTROLLER, OCCUPIED, CAPITAL

Description

Checks if friendly nations and country scope together has enough naval dominance to assert control in strategic region.

### Examples

TAG = { has_naval_control = REGION_ID }

实战 · 配合 · 坑

实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。

实战用法

has_naval_control 常用于制海权相关的决策或国策脚本中,例如判断某国是否能够对某战略海域发起登陆封锁行动、解锁特定海洋补给线决策,或在事件中根据制海权优劣触发不同分支。下面示例展示一个限制某决策只有在掌控北海制海权时才可用的写法:

some_naval_decision = {
    available = {
        has_naval_control = north_sea
    }
    # ...
}

配合关系

  • [alliance_naval_strength_ratio](/wiki/trigger/alliance_naval_strength_ratio):在判断是否拥有制海权的同时,进一步量化己方联盟与敌方的海军实力比值,可做更细粒度的条件分层。
  • [any_navy_leader](/wiki/trigger/any_navy_leader):配合使用,确认国家不仅在战略层面控制海域,且部署了符合条件的海军指挥官,常用于登陆战相关决策的双重门槛。
  • [enemies_naval_strength_ratio](/wiki/trigger/enemies_naval_strength_ratio):与 has_naval_control 组合可同时校验战略区域控制与敌方海军残余实力,避免因海军已全灭但制海权尚未更新而误触发。
  • [declare_war_on](/wiki/effect/declare_war_on):在 AI 策略或事件后果中,通过 has_naval_control 先行确认制海权再执行宣战,防止在完全没有海上优势时触发海上攻势。

常见坑

  1. 将省份/州 ID 写成 REGION_IDhas_naval_control 接受的是**战略海域(strategic region)**的 ID(如 north_sea),而非陆地 state 或 province ID,新手经常混用陆地 ID 导致 trigger 永远为假且不报错。
  2. 忽略友军贡献的计算范围:该 trigger 会把友好国家的海军合并计算,因此在多人/联盟场景下单独为某个小国写该条件时,可能因盟友海军强大而意外返回真值,需结合其他条件限定判断主体。

Hands-On Notes

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.

Hands-On Usage

has_naval_control is commonly used in naval supremacy-related decisions or national focus scripts, such as determining whether a country can launch amphibious blockades in a strategic sea zone, unlocking specific maritime supply line decisions, or triggering different event branches based on naval superiority. The following example demonstrates how to restrict a decision so it is only available when controlling naval supremacy in the North Sea:

some_naval_decision = {
    available = {
        has_naval_control = north_sea
    }
    # ...
}

Synergy

  • [alliance_naval_strength_ratio](/wiki/trigger/alliance_naval_strength_ratio): When evaluating naval control, further quantify the naval strength ratio between your alliance and the enemy for finer-grained conditional layering.
  • [any_navy_leader](/wiki/trigger/any_navy_leader): Use in combination to confirm that a country not only controls the sea zone at the strategic level, but also has deployed qualifying naval commanders; commonly used as a dual-threshold check for amphibious operation decisions.
  • [enemies_naval_strength_ratio](/wiki/trigger/enemies_naval_strength_ratio): Combine with has_naval_control to simultaneously verify both strategic area control and the enemy's remaining naval strength, preventing false triggers caused by a completely destroyed enemy navy while naval control has not yet updated.
  • [declare_war_on](/wiki/effect/declare_war_on): In AI strategies or event consequences, use has_naval_control first to confirm naval supremacy before executing a declaration of war, preventing maritime offensives from being triggered without any naval advantage.

Common Pitfalls

  1. Writing province/state IDs instead of REGION_ID: has_naval_control accepts the ID of a strategic region (such as north_sea), not a land state or province ID. Beginners often confuse the two, causing the trigger to always return false without error messages.
  2. Overlooking the calculation scope of allied contributions: This trigger merges the navies of friendly countries into the calculation, so when writing this condition for a smaller country in multiplayer or alliance scenarios, you may get unexpected true results due to an ally's strong navy. Combine with other conditions to properly limit the evaluation scope.