属性类型
简介
目前,脚本属性由以下几种属性类型组成,分别是:ATTACK、DEFENSE、UPDATE、RUNTIME、EXTRA,后续考虑加入更多属性类型。
介绍
除
EXTRA外的其他属性,都对应各自的触发器。
| 属性类型 | 触发器 | 描述 |
|---|---|---|
| ATTACK | onAttack(data) | 实体攻击时触发 |
| DEFENSE | onDefense(data) | 实体受到攻击时触发 |
| UPDATE | onUpdate(data) | 实体属性更新时触发 |
| RUNTIME | onTask(data) | 根据配置定时触发 |
| EXTRA | NONE | 无触发器 |
EXTRA 类型,主要为属性容器,该类型主要是为了给其他拥有触发器的属性提供计算数值。
脚本结构
INFO
优先级: 越小越高,
推荐将拥有触发器的属性设置为高优先级,频繁触发的理论优先级最高。
Attack类型
js
const id = "属性id"
const placeholder = "placeholder占位符"
const display = "测试攻击属性"
const combat_value = 5.0
const priority = 2
const type = "ATTACK"
function onAttack(data) {}Defense类型
js
const id = "属性id"
const placeholder = "placeholder占位符"
const display = "测试防御属性"
const combat_value = 5.0
const priority = 2
const type = "DEFENSE"
function onDefense(data) {}Update类型
js
const id = "属性id"
const placeholder = "placeholder占位符"
const display = "测试更新属性"
const combat_value = 30.0
const priority = 10
const type = "UPDATE"
function onUpdate(data) {}Runtime类型
js
const id = "属性id"
const placeholder = "placeholder占位符"
const display = "测试定时调度属性"
const combat_value = 30.0
const priority = 10
const type = "RUNTIME"
function onUpdate(data) {}Extra类型
js
const id = "属性id"
const placeholder = "placeholder占位符"
const display = "测试其他属性"
const combat_value = 96.0
const priority = 96
const type = "EXTRA"关于占位符
任何属性注册好了你都能使用 axh_attr:属性占位符_后缀 获取到对应属性的值。
后缀可选: min(最小值)、max(最大值)、random(随机值)
参数解释
在属性触发器的内部拥有一个很重要的参数 data,里面包括了战斗时产生的数据,以及触发者的实体数据。比如 onAttack 触发器,里面就包括了攻击者的属性数据以及防守者的属性数据,onDefense 触发器与 onAttack 触发器内容一致,onUpdate只能获取到触发者自身的属性数据。
TIP
即战斗时参数的数据,你可以修改配置文件开启debug模式或使用/axh debug开启debug模式,然后攻击一下怪,在控制台就能看到当前战斗产生的数据,这些数据都能在脚本中获取使用。(源自FightSystem)

可用变量
拿 type::default-result 举例,default就是只当前的伤害类型,result表示本次攻击造成的最终伤害。获取result 你可以在脚本中这样做: data["result"]
