支持自定义评分规则、支持动态选用、更新相关文档

This commit is contained in:
UCPr 2025-03-27 01:31:46 +08:00
parent 06ec5152a0
commit 504d2792a8
11 changed files with 217 additions and 114 deletions

View file

@ -1,3 +1,51 @@
# 词条权重自定义
## 方法一:预设方法(推荐)
### 基础步骤
1. 复制模板文件:[ZZZ-plugin/model/damage/character/模板/score.js](./character/模板/score.js)
2. 进入角色数据文件夹:[ZZZ-plugin/model/damage/character/角色名](./character/)
3. 粘贴文件,并将粘贴的模板文件重命名为**score_user.js**
4. 打开**score_user.js**,根据需要调整权重数值
5. 保存并重启
示例图:
<p align="center">
<img width=800 src="https://s2.loli.net/2025/03/27/OcuIPDyE5sHSJZw.jpg" title="词条权重自定义基础步骤">
</p>
### 进阶操作
> 将崽底层日志模式切换为**debug**模式,可在控制台查看评分计算详细过程;且会自动监听现有评分计算文件实时热更新。可按需开启
在函数体中,可根据玩家角色数据**动态选用**不同的权重方案
- 函数参数:[ZZZAvatarInfo](../avatar.js#L173)(角色数据)
- 函数返回值:
- 元组:[评分规则名, 权重数据]
- 类型:**[string, { [词条名: string]: number }]**
- 若返回其他类型,会自动选择默认评分规则
## 方法二:直接修改默认权重
> 注意:直接修改插件所属文件,将会导致后续该文件更新冲突。若你不清楚如何解决冲突,请使用[方法一](#方法一预设方法推荐)
打开插件默认词条权重文件直接修改相应权重保存即可,重启生效
文件路径:[ZZZ-plugin/resources/map/EquipScore.json](../../resources/map/EquipScore.json)
## 鸣谢
感谢**银狐**对评分计算规则的指导建议
[点此查看](./Score.ts)评分计算规则源码如果有任何对评分计算的想法建议欢迎与我联系ucpr251@gmail.com
# 伤害计算自定义
@ -7,7 +55,7 @@
后文将带你入门插件伤害计算逻辑,只要你需要自定义伤害计算,都建议你完整阅读:
> 底层已对伤害计算进行了规范化、模块化,只需要填参数就可以实现常见的伤害计算逻辑,即使不懂代码也可以参考模板独立完成。若存在问题、建议,可于插件群内询问,或联系我的邮箱UCPr251@gmail.com
> 底层已对伤害计算进行了规范化、模块化,只需要填参数就可以实现常见的伤害计算逻辑,即使不懂代码也可以参考模板独立完成。若存在问题、建议,可于插件群内询问,或与我沟通ucpr251@gmail.com
伤害计算需要明确这几部分:**初始属性**、**局内Buff**、**技能属性**、**敌方属性**,后文将分别说明
@ -231,6 +279,7 @@ Buff来源可分为三大类武器、套装、角色影画、核心被动
> - 追加攻击
> - 直接以“追加攻击”命名
> - 追加攻击不被认为是一种新的输出手段(技能),它更类似于原直伤输出的一个特殊属性,使该伤害能同时享受对其**原所属技能类型**的增益和**仅对追加攻击生效**的增益,故一般不将其单独作为技能类型而是在技能属性的重定向参数中添加**追加攻击**参数,请参考[技能重定向说明注意事项](#技能类型命名对Buff作用的影响)
#### 技能类型命名解释说明
@ -281,6 +330,7 @@ buff作用范围将以技能类型命名为依据向后覆盖。以上述[艾莲
- 对于`“X"(造成的伤害)被视为“Y”(伤害)`此类特殊技能,需要指定技能**重定向参数**同时上述buff覆盖规则会发生变化具体请参考[源码内描述](./Calculator.ts#L22)
> 需要注意的是:即使出现`“X"(造成的伤害)被视为“Y”(伤害)`,对**Y**类型的增益**X**不一定能吃到,视具体情况变化
> 对于被视为**追加攻击**伤害的技能,其重定向参数一般为包含其**原技能类型**和**追加攻击**的数组,因为它可以享受到分别对两者生效的不同增益(以游戏内具体情况为准),参考[**零号·安比**伤害计算文件](./character/零号·安比/calc.js#L51)
### 技能倍率