Skip to content

技能配置

技能文件放在 skills/ 目录中。每个 yml 文件可以写多个技能,顶层节点就是技能 ID,菜单、指令和变量都会使用这个 ID。

基础结构

yaml
示例主动技能:
  name: "&c烈焰斩"
  type: active
  texture: "技能图标.png"
  simple-description:
    - "&7造成一次火焰伤害"
  max-level: 10
  skill-level:
    1:
      cooldown: 3000
      mana: 20
节点说明
name技能显示名。
type技能类型,active 为主动技能,passive 为被动技能。
texture技能图标路径,供 DragonCore 界面使用。
simple-description技能列表中的简短描述。
max-level基础最高等级。
extra-level-placeholder额外等级来源,可接 PAPI 或属性值。
show-condition技能显示条件。
skill-level各等级的详细配置。

主动技能触发方式

yaml
active-trigger:
  trigger: instant
触发方式说明
instant瞬间释放。
tap_cast点击后读条,读条完成释放。
hold_cast按住时读条,读条过程中可触发多次。
hold_release_cast按住蓄力,松开时释放。

读条与打断

节点说明
cast-time-tick读条时间,单位为 tick,支持变量和公式。
cast-trigger-count读条期间触发次数。
cooldown-on-cast-start是否在开始读条时进入冷却。
interrupt-when打断条件,可配置 moveattackdamaged
cast-condition释放条件,不满足时停止释放并提示失败消息。

cast-condition 可使用 {player}{skill_id}{skill_name}{skill_level}{skill_base_level}{mana_now}{mana_max} 等变量,也可以组合 PAPI 表达式。

事件脚本

主动技能和被动技能都可以配置事件脚本。常见事件如下:

事件触发时机
on-cast-start开始释放时。
on-cast-success成功释放时。
on-cast-interrupt读条被打断时。
on-cast-trigger读条过程触发时。
on-charge-recover充能恢复时。
on-mana-consume消耗蓝量时。

常用脚本动作:

动作说明
玩家消息(...)给释放者发送消息。
范围消息(...)给范围内玩家发送消息。
音效(...)播放声音。
MM技能('技能ID', '参数=值')触发 MythicMobs 技能。
减少冷却('技能ID','1')减少指定技能冷却。
增加冷却('技能ID','1')增加指定技能冷却。
减少蓝量('10')扣除蓝量。
增加蓝量('10')恢复蓝量。
执行指令('console','指令')以指定身份执行指令。

冷却、蓝量与充能

节点说明
max-stack最大充能层数。
cooldown冷却时间,单位为毫秒。
mana蓝量消耗。
gcd全局冷却,单位为毫秒。

冷却、蓝耗和读条最终值会受到玩家冷却缩减、蓝耗缩减和吟唱加速影响。

升级条件

upgrade-list 用来设置升级消耗和前置条件。

写法说明
papi:{表达式}|显示文本PAPI 条件。
item:{物品ID#数量}|显示文本扣除指定物品。
eco:{数量}|显示文本扣除金币。
point:{数量}|显示文本扣除点券。
skill-point:{数量}|显示文本扣除技能点。

示例:

yaml
upgrade-list:
  - "skill-point:{1}|&b技能点 x1"
  - "eco:{5000}|&e金币 x5000"

描述变量

技能描述中可使用以下变量:

变量说明
{level_result}最终等级。
{level_now}当前基础等级。
{level_extra}额外等级。
{level_max}最大等级。
{result_cooldown}最终冷却。
{origin_cooldown}原始冷却。
{result_mana}最终蓝耗。
{origin_mana}原始蓝耗。
{upgrade_condition}当前升级条件显示文本。

被动技能

yaml
示例被动技能:
  type: passive
  require-bind-slot: false
  passive-trigger:
    events:
      - attack
      - tick:5
节点说明
require-bind-slot是否必须绑定到技能栏才生效。主动技能固定需要绑定。
passive-trigger.events被动触发事件。
condition-list被动触发条件。
chance触发概率,1.0 为 100%。
cast-condition成功触发前的额外判断。

常见被动事件:

事件说明
attack玩家造成攻击时。
damaged玩家受到伤害时。
kill玩家击杀目标时。
cast_skill:all玩家释放任意技能时。
cast_skill:技能ID玩家释放指定技能时。
tick:5每 5 tick 检查一次。