Skip to content

概述

hna-hot 用于给目标施加持续治疗效果(Heal Over Time)。

基本语法

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

核心参数

参数别名类型默认值说明
amounta数值0每跳治疗值
durationd, t整数60总持续时间(tick)
intervali整数20跳动间隔(tick)
delaydl整数0初始延迟(tick)
modem字符串refresh重施策略
keyk字符串-实例 key
percentp布尔false是否按百分比

扩展参数

参数别名类型默认值说明
source-typest字符串internal来源类型
damage-typedt字符串internal伤害类型(用于标识)
tagst字符串-附加标签
max-stacksms整数1最大层数
stop-on-caster-deathsiv布尔true来源失效时是否停止

基本示例

yaml
# 最简单的 HOT:每秒 2 点治疗,持续 3 秒
- hna-hot{amount=2;duration=60;interval=20;key="regen"} @target

# 短写形式
- hna-hot{a=2;d=60;i=20;k="regen"} @target

重施策略

通过 mode 参数控制:

  • refresh:刷新时长,保持最高等级(默认)
  • stack:叠加层数
  • replace:直接替换
  • ignore:忽略新的施加
yaml
# 刷新模式
- hna-hot{a=2;d=60;i=20;m=refresh;k="regen"} @target

# 叠加模式,最多 3 层
- hna-hot{a=3;d=100;i=20;m=stack;ms=3;k="heal-over-time"} @target

实际应用场景

场景 1:治疗光环

yaml
HealingAura:
  Skills:
  - hna-hot{amount=2;duration=100;interval=20;key="healing-aura"} @PlayersInRadius{r=10}
  - effect:particles{p=HEART;a=10} @Self

场景 2:生命恢复 Buff

yaml
RegenerationBuff:
  Skills:
  - hna-buff{key="生命恢复";time=100;level=1} @target
  - hna-hot{amount=3;duration=100;interval=20;key="regen"} @target

场景 3:治疗技能

yaml
HealSpell:
  Skills:
  # 立即治疗
  - heal{amount=50} @target
  
  # 持续治疗
  - hna-hot{amount=2;duration=80;interval=20;key="heal-spell"} @target
  
  # 特效
  - effect:particles{p=VILLAGER_HAPPY;a=20} @target

场景 4:百分比 HOT

yaml
PercentHot:
  Skills:
  # 每秒恢复目标最大生命 1% 的生命值
  - hna-hot{amount=1;percent=true;duration=100;interval=20;key="percent-regen"} @target

场景 5:叠加式治疗

yaml
StackingHeal:
  Skills:
  # 可叠加 5 层的持续治疗
  - hna-hot{
      amount=1;
      duration=100;
      interval=20;
      mode=stack;
      max-stacks=5;
      key="stacking-heal"
    } @target

完整技能示例

yaml
HealingCircle:
  Cooldown: 30
  Skills:
  # 给自己施加治疗光环 Buff
  - hna-buff{key="治疗光环";time=200;level=1} @Self
  
  # 每秒给周围玩家施加 HOT
  - delay 20
  - hna-hot{amount=3;duration=40;interval=20;key="healing-circle"} @PlayersInRadius{r=8}
  - effect:particles{p=HEART;a=10;hs=0.5;vs=0.5} @PlayersInRadius{r=8}
  
  - delay 20
  - hna-hot{amount=3;duration=40;interval=20;key="healing-circle"} @PlayersInRadius{r=8}
  - effect:particles{p=HEART;a=10;hs=0.5;vs=0.5} @PlayersInRadius{r=8}
  
  # ... 重复多次

与 DOT 的核心差异

HOT 和 DOT 共用同一套周期实例系统,核心差异只有一个:

  • hna-dot = 周期实例 + DAMAGE action
  • hna-hot = 周期实例 + HEAL action

默认值差异:

参数hna-dothna-hot
source-typedotinternal
damage-typedotinternal
自动标签dothot

注意事项

  1. key 参数用于标识 HOT 实例,建议使用有意义的名称
  2. 不写 key 时会回退到 damage-type
  3. durationinterval 单位都是 tick(20 tick = 1 秒)
  4. HOT 每跳走的是普通周期治疗
  5. 需要明确的目标选择器
  6. 治疗量不会超过目标的最大生命值

调试方法

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

相关文档

HN 系列插件文档