trigger · ships_in_area
Definition
- Supported scope:
COUNTRY - Supported target:
none
Description
checks for amount of ships in specified area
ships_in_areaCOUNTRYnonechecks for amount of ships in specified area
实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。
ships_in_area 常用于检测某国在特定海域的海军存在,例如在海战事件或决策中判断玩家或 AI 是否已在目标海区部署足够舰队,从而触发后续剧情或解锁特定选项。典型场景包括:封锁某条航线前检测己方舰船是否就位,或在任务链中验证玩家是否完成了战略部署。
# 示例:检测本国在北海区域是否有足够舰船,作为决策的 available 条件
decision_example = {
available = {
ships_in_area = {
area = north_sea
count > 5
type = ship
}
}
}
[has_navy_size](/wiki/trigger/has_navy_size)(如果白名单中存在)→ 实际上可改为 [any_navy_leader](/wiki/trigger/any_navy_leader):检测是否存在海军指挥官,配合 ships_in_area 可以同时确认舰队部署与指挥链完整性。[controls_state](/wiki/trigger/controls_state):确认己方控制沿岸州省的同时,再用 ships_in_area 验证对应海域的舰船存在,两者联合可精确描述"沿海封锁"条件。[convoy_threat](/wiki/trigger/convoy_threat):与 ships_in_area 配合,既检查己方舰船规模,又评估对方护航压力,适用于判断是否应启动潜艇战决策。[destroy_ships](/wiki/effect/destroy_ships):在 ships_in_area 触发确认海域有船后,可在 effect 块中执行摧毁命令,形成"有则清除"的完整逻辑闭环。area 必须填写游戏内定义的战略海区 ID(如 north_sea、english_channel 等),直接填写省份 ID 或州 ID 会导致 trigger 静默失败,不报错但永远返回 false,新手很难排查。ships_in_area 只能在 COUNTRY scope 下使用,若写在 STATE scope(例如某个州的 trigger 块内)会导致脚本报错或行为异常,需要先用 owner = { ... } 等方式切换回 COUNTRY scope 再调用。