rfvtgbzxc 发表于 2023-5-27 22:32
状态附加概率有两种,一种是基于角色角色特性计算的attackStatesRate(),一种是技能物品特效的effect.value ...
rfvtgbzxc 发表于 2023-5-27 22:32
状态附加概率有两种,一种是基于角色角色特性计算的attackStatesRate(),一种是技能物品特效的effect.value ...
ex悠米桑 发表于 2023-5-28 12:46
尝试改了一个小时……但是不怎么成功,一旦上了buff,就提示我
ReferenceError:
actor is not defined
Game_Action.prototype.itemEffectAddAttackState = function(target, effect) { for (const stateId of this.subject().attackStates()) { let chance = effect.value1; chance *= target.stateRate(stateId); // 新修改的行 chance *= this.subject().attackStatesRate(stateId) + this.subject().states().reduce((current, state)=>current + Number(state.meta["状态额外成功率"]?.match(/(.\d+)%/)[1] ?? 0), 0) / 100; chance *= this.lukEffectRate(target); if (Math.random() < chance) { target.addState(stateId); this.makeSuccess(target); } } }; Game_Action.prototype.itemEffectAddNormalState = function (target, effect) { let chance = effect.value1; // 新加入的行 chance += this.subject().states().reduce((current, state)=>current + Number(state.meta["状态额外成功率"]?.match(/(.\d+)%/)[1] ?? 0), 0) / 100; if (!this.isCertainHit()) { chance *= target.stateRate(effect.dataId); chance *= this.lukEffectRate(target); } if (Math.random() < chance) { target.addState(effect.dataId); this.makeSuccess(target); } };
rfvtgbzxc 发表于 2023-5-28 14:33
actor是泛指类型为Game_Actor的对象,需要根据语境去找。实际上如果希望这个特性更通用,不限敌我,应该 ...
ex悠米桑 发表于 2023-5-28 15:01
谢谢大佬帮忙!我尝试替换了rmmz_objects里对应的行数,但是一进入游戏就提示我
SyntaxError
missing ) a ...
rfvtgbzxc 发表于 2023-5-28 15:44
改掉了,我忘了移除掉ts的类型注释,现在应该可以了。另外攻击附带状态的逻辑比较特殊,你可能需要根据实 ...
ex悠米桑 发表于 2023-5-28 15:56
这次还是会报错233这次提示SyntaxError
Unexpected token '{'
rfvtgbzxc 发表于 2023-5-28 16:21
= = 忘了加function,代码改掉了,这次应该没问题了
两次概率是这样的,普通攻击要想附加状态,技能需要 ...
rfvtgbzxc 发表于 2023-5-28 16:21
= = 忘了加function,代码改掉了,这次应该没问题了
两次概率是这样的,普通攻击要想附加状态,技能需要 ...
rfvtgbzxc 发表于 2023-5-28 14:33
actor是泛指类型为Game_Actor的对象,需要根据语境去找。实际上如果希望这个特性更通用,不限敌我,应该 ...
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |