Skip to content

技能定义

技能文件位于 skills/*.yml。EmakiSkills 负责定义技能的管理层信息,技能效果可通过原生脚本系统或 MythicMobs 执行。

字段说明

字段说明
id技能唯一 ID。
enabled是否启用。
display_name显示名。
description描述。
icon_materialGUI 图标材质。
mythic_skill对应 MythicMobs 技能 ID(mythic/hybrid 模式使用)。
trigger_typeactivepassive
passive_triggers被动触发器列表(详见触发器文档)。
skill_parameters传递给技能的参数(详见参数类型文档)。
variables运行时变量块,可在脚本动作中通过 {变量名} 引用。
script原生脚本系统配置块(详见脚本系统文档)。
upgrade升级规则。
cooldown_ticks冷却,单位 tick。
global_cooldown_ticks全局冷却,单位 tick。
resource_costs资源消耗或检查。
lore_aliases从 Lore 识别技能时使用的别名。
pdc_skill_id从 PDC 识别技能时使用的 ID。
ui_categoryGUI 分类。
sort_orderGUI 排序。
conditions / condition_type技能释放条件。

variables 字段

variables 定义运行时变量,支持 expression/string/boolean 等类型,可引用 %level%%has_target%%trigger_id% 等上下文变量:

yaml
variables:
  fire_damage:
    type: expression
    value: "10 + %level% * 5"
  is_enhanced:
    type: boolean
    value: "%level% >= 5"
  battle_cry:
    type: random_text
    values:
      - "<red>燃烧吧!"
      - "<red>烈焰之力!"

variablesskill_parameters 的区别:skill_parameters 用于升级系统和 MythicMobs 参数传递,variables 用于原生脚本系统的运行时计算。

script 字段

原生脚本系统配置块,详见脚本系统文档。简要结构:

yaml
script:
  mode: native          # native / mythic / hybrid
  stop_on_failure: true
  cast:
    actions:
      - 'damage amount=%fire_damage%'
  hit:
    actions:
      - 'ignite ticks=60'

资源消耗

resource_costs 条目通常包含:

字段说明
typeea-resourceattribute-checklocal-resource
target_id资源或属性 ID。
amount数量。
operationconsume 消耗,require 只检查。
failure_message失败提示。

升级配置

字段说明
upgrade.max_level最大等级。
upgrade.gui_template升级 GUI 模板路径(默认 upgrade/default)。
upgrade.failure_penalty升级失败惩罚:none(无惩罚)或 downgrade(降级)。
upgrade.success_rates按目标等级配置成功率 Map(如 5: 90.0)。
upgrade.economy.enabled是否启用经济消耗。
upgrade.economy.currencies货币列表,每项含 idbase_costcost_formuladisplay_name
upgrade.levels.<n>.materials该等级所需物品材料列表。
upgrade.levels.<n>.economy该等级覆盖经济配置。
upgrade.levels.<n>.parameters该等级覆盖技能参数值。
upgrade.levels.<n>.success_rate该等级覆盖成功率。
upgrade.levels.<n>.actions.success升级成功后执行的动作列表。
upgrade.levels.<n>.actions.failure升级失败后执行的动作列表。

cost_formula 支持变量:%base_cost%%level%%target_level%

最小示例

yaml
id: fireball
enabled: true
display_name: '<red>火球术'
description:
  - '<gray>向前方释放一枚火球。'
icon_material: FIRE_CHARGE
mythic_skill: EmakiFireball
trigger_type: active
cooldown_ticks: 100
global_cooldown_ticks: 20
resource_costs:
  - type: ea-resource
    target_id: mana
    amount: 20
    operation: consume
    failure_message: '<red>法力不足。'