命令百科

trigger · has_navy_size

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Checks for amount of ships, additionally of a specified type, archetype, or sub unit definition.

Examples:
	has_navy_size = { size > 10 type = convoy } # Must have more than 10 convoys.
	has_navy_size = { size < 1 archetype = ship_hull_light } # Must not have any ships with light hulls.
	has_navy_size = { size > 39 unit = heavy_cruiser } # Must have 40 or more heavy cruisers.
	has_navy_size = { size < 100 } # Must have fewer than 100 ships of any type.

实战 · 配合 · 坑

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

实战用法

has_navy_size 常用于判断某国是否达到一定海军规模,从而解锁特定国策、决议或事件选项,例如限制小国走海军强国路线,或为玩家设置"舰队成就"触发条件。也可用于 AI 策略的 available 块,在己方潜艇数量达标后才允许执行破交作战决议。

# 当玩家拥有超过 20 艘驱逐舰时,才能激活"海上霸主"决议
available = {
    has_navy_size = {
        size > 20
        type = destroyer
    }
}

配合关系

  • [has_army_size](/wiki/trigger/has_army_size) — 与 has_navy_size 并列使用,可同时检验陆海军规模,用于判断"全面武装"类条件。
  • [any_navy_leader](/wiki/trigger/any_navy_leader) — 检测是否存在海军将领,与 has_navy_size 搭配确保"有舰有将"才能触发特定海战事件。
  • [create_ship](/wiki/effect/create_ship) — 作为 has_navy_size 不满足时的补偿效果,在事件分支里给玩家补充舰船以满足后续判断。
  • [enemies_naval_strength_ratio](/wiki/trigger/enemies_naval_strength_ratio) — 在检查己方舰队数量的同时,通过此 trigger 评估相对敌方的海军强度比,构建更完整的海军优势判断逻辑。

常见坑

  1. 比较运算符方向混淆size < 1 表示"没有任何此类舰船",而非"少于 1 艘"在直觉上的含义——因为舰船数量是整数,< 1 等价于= 0,新手有时误写成 size = 0 却发现该字段不接受 = 运算符而报错。
  2. type/archetype/unit 三者混用type 对应舰船类别(如 convoydestroyer),archetype 对应船体大类(如 ship_hull_light),unit 对应具体子单位定义(如 heavy_cruiser);将三者填错字段会导致条件静默失效(始终返回 false),且不会报错,非常难以排查。