Skip to content

概述

hna-triggerot 用于立即触发目标身上的周期效果,让其额外跳动一次。

核心语义

  • 立刻多跳一次
  • 正常扣掉 1 次 repeat
  • 不是"提前清算后面全部"

基本语法

yaml
- hna-triggerot{参数} @目标选择器

参数列表

参数别名类型默认值说明
all-布尔false是否忽略 key,处理所有匹配实例
keyk字符串-只处理某个 key(支持 * 前缀匹配)
source-字符串all来源过滤(caster/trigger/all
type-字符串all动作类型过滤(all/dot/hot
amp-attr-字符串-DOT 放大参数(仅 DAMAGE 生效)
amp-owner-字符串-DOT 放大参数(仅 DAMAGE 生效)
amp-base-数值-DOT 放大参数(仅 DAMAGE 生效)

基本示例

yaml
# 触发目标的所有周期效果
- hna-triggerot{all=true;type=all} @target

# 触发目标的所有 DOT
- hna-triggerot{all=true;type=dot} @target

# 触发施法者施加的周期效果
- hna-triggerot{source=caster} @target

# 触发指定 key 的周期效果
- hna-triggerot{key="burn-dot"} @target

实际应用场景

场景 1:DOT 引爆技能

yaml
DetonateDots:
  Skills:
  # 立即触发目标的所有 DOT
  - hna-triggerot{all=true;type=dot} @target
  - effect:particles{p=EXPLOSION_NORMAL;a=20} @target
  - message{m="&c持续伤害引爆!"} @target

场景 2:加速 HOT

yaml
AccelerateHeal:
  Skills:
  # 立即触发目标的所有 HOT
  - hna-triggerot{all=true;type=hot} @target
  - effect:particles{p=HEART;a=10} @target

场景 3:触发特定 DOT

yaml
TriggerBurn:
  Skills:
  # 只触发灼烧效果
  - hna-triggerot{key="burn-dot"} @target
  - effect:particles{p=FLAME;a=10} @target

场景 4:触发施法者的效果

yaml
TriggerMyEffects:
  Skills:
  # 触发施法者施加的所有周期效果
  - hna-triggerot{source=caster;all=true} @target

完整技能示例

yaml
DotBurst:
  Cooldown: 15
  Skills:
  # 检查目标是否有 DOT
  - hna-hasot{tag="dot"} true
  
  # 立即触发所有 DOT
  - hna-triggerot{all=true;type=dot} @target
  
  # 特效
  - effect:particles{p=EXPLOSION_LARGE;a=30} @target
  - sound{s=entity.generic.explode} @target
  - message{m="&c持续伤害爆发!"} @target
  
  # 如果目标没有 DOT
  - hna-hasot{tag="dot"} false
  - message{m="&e目标没有持续伤害效果!"} @Self

与 hna-detonateot 的区别

特性hna-triggerothna-detonateot
语义立刻多跳一次提前清算未来若干跳
repeat 消耗扣掉 1 次stacks 参数扣除
伤害/治疗1 次跳动的量多次跳动的合并量
使用场景加速效果引爆/清算

注意事项

  1. 只是"补跳一跳",不是"提前清算后面全部"
  2. 会正常扣掉 1 次 repeat
  3. amp-* 参数只对 DAMAGE 生效
  4. 需要明确的目标选择器
  5. 如果周期效果已经结束,不会有任何效果

调试方法

text
/hnattr periodic list
/hnattr periodic inspect <key>
/hnattr periodic debug detail <key>

相关文档

HN 系列插件文档