Project1

标题: 状态效果如何独立? [打印本页]

作者: 入坑小萌新    时间: 3 天前
标题: 状态效果如何独立?
本帖最后由 入坑小萌新 于 2024-9-22 23:17 编辑

如状态A效果为减少敌人10%防御,
然后此状态效果受角色等级影响.
角色A,等级1,对敌人使用后 敌人A 减少10%防御,
角色B,等级5,对敌人使用后 敌人B 减少50%防御.

因为修改了状态效果,导致敌人A的状态也变为减少50%防御了

这种情况要如何调整?







作者: 余杭    时间: 3 天前
入坑小萌新 发表于 2024-9-22 11:08
好像还是不行,因为我是直接改$dataStates的,效果如下
用了yep的状态核心,和YEP_ExtraParamFormula插件
// ...

你这是每次添加状态的时候都直接修改了data里的数据,这种写法,不变才奇怪,你找个其他插件做你想要的功能吧
作者: 余杭    时间: 3 天前
如果你用的是yep做的这个,
yep的状态代码里有个   origin   代指状态添加人,
你把等级和这个添加人挂钩就行
作者: 入坑小萌新    时间: 3 天前
余杭 发表于 2024-9-22 09:58
如果你用的是yep做的这个,
yep的状态代码里有个   origin   代指状态添加人,
你把等级和这个添加人挂钩就 ...

好像还是不行,因为我是直接改$dataStates[id]的,效果如下
用了yep的状态核心,和YEP_ExtraParamFormula插件
//状态添加时候执行 命中率 + 15% + x
<Custom Apply Effect>
$dataStates[状态id].plusXParams[0] =0.15+ (user.level/10);
</Custom Apply Effect>
当有多个这个状态时候,就会出问题
作者: 寒椿相逢    时间: 3 天前
从根本解决的原理是
搞明白 什么叫【基本类型】 什么叫【引用类型】
把【单位类】上的【状态数组】里的【状态】改成, 需要【实例】的【状态类】 就可以了
作者: 余杭    时间: 前天 19:03
本帖最后由 余杭 于 2024-9-23 19:05 编辑
入坑小萌新 发表于 2024-9-22 11:08
好像还是不行,因为我是直接改$dataStates的,效果如下
用了yep的状态核心,和YEP_ExtraParamFormula插件
// ...


去找论坛里KRZ佬的插件合集里21楼那个插件,
emmmm
发现那个插件不支持 origin 的写法
作者: 入坑小萌新    时间: 昨天 12:40
余杭 发表于 2024-9-23 18:59
你这是每次添加状态的时候都直接修改了data里的数据,这种写法,不变才奇怪,你找个其他插件做你想要的功 ...

解决了,用了额外一组数据来记录改动的部分.
就是额外的数据记录在状态上还是角色身上还在纠结..
两种方法都有有利有弊





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1