主题
概述
hna-hot 用于给目标施加持续治疗效果(Heal Over Time)。
基本语法
yaml
- hna-hot{参数} @目标选择器核心参数
| 参数 | 别名 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
amount | a | 数值 | 0 | 每跳治疗值 |
duration | d, t | 整数 | 60 | 总持续时间(tick) |
interval | i | 整数 | 20 | 跳动间隔(tick) |
delay | dl | 整数 | 0 | 初始延迟(tick) |
mode | m | 字符串 | refresh | 重施策略 |
key | k | 字符串 | - | 实例 key |
percent | p | 布尔 | false | 是否按百分比 |
扩展参数
| 参数 | 别名 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
source-type | st | 字符串 | internal | 来源类型 |
damage-type | dt | 字符串 | internal | 伤害类型(用于标识) |
tags | t | 字符串 | - | 附加标签 |
max-stacks | ms | 整数 | 1 | 最大层数 |
stop-on-caster-death | siv | 布尔 | 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= 周期实例 +DAMAGEactionhna-hot= 周期实例 +HEALaction
默认值差异:
| 参数 | hna-dot | hna-hot |
|---|---|---|
source-type | dot | internal |
damage-type | dot | internal |
| 自动标签 | dot | hot |
注意事项
key参数用于标识 HOT 实例,建议使用有意义的名称- 不写
key时会回退到damage-type duration和interval单位都是 tick(20 tick = 1 秒)- HOT 每跳走的是普通周期治疗
- 需要明确的目标选择器
- 治疗量不会超过目标的最大生命值
调试方法
text
/hnattr periodic list
/hnattr periodic inspect <key>
/hnattr periodic debug detail <key>