Project1
标题:
幸运到底有啥用?怎么才能利用好幸运这个属性?
[打印本页]
作者:
nhycs01
时间:
2023-9-22 20:15
标题:
幸运到底有啥用?怎么才能利用好幸运这个属性?
我把鼠标停留在幸运栏,显示的是“影响负面状态发生的概率”
我的理解是,幸运越高,越不容易中负面状态,比如中毒,黑暗一类的
但是,实际操作中,我发现一个问题。
就是怎样利用这个属性?
我做了一个实验,把敌人的幸运调到1,我的幸运是10,整整多了10倍。
按理说我应该很不容易中这个敌人的负面状态了吧?
但是,我在这个敌人的攻击中,加入了中毒。设置为:附加状态 中毒100%
我挨打一样100% 中毒!
问题就来了,如果我把这个附加状态改为50%,则我有50%几率中毒,
那我还要幸运这个属性干什么?
请大佬们帮我解解惑,如何设置幸运与敌人状态攻击之间的联系呢?
作者:
RyanYe
时间:
2023-9-22 21:18
这是官方自己的贴:
https://www.rpgmakerweb.com/blog/ways-to-make-luck-matter
作者:
alexncf125
时间:
2023-9-22 21:36
本帖最后由 alexncf125 于 2023-9-22 23:49 编辑
Game_Action.prototype.itemEffectAddNormalState = function(target, effect) {
var chance = effect.value1;
if (!this.isCertainHit()) {
chance *= target.stateRate(effect.dataId);
chance *= this.lukEffectRate(target);
}
if (Math.random() < chance) {
target.addState(effect.dataId);
this.makeSuccess(target);
}
};
复制代码
Game_Action.prototype.lukEffectRate = function(target) {
return Math.max(1.0 + (this.subject().luk - target.luk) * 0.001, 0.0);
};
复制代码
敌人的幸运调到1,我的幸运是10
敌人攻击我挨打,所以this.subject().luk是1,而target.luk是10
敌人攻击设置为:附加状态 中毒100%,所以effect.value1是1
因为有行if (!this.isCertainHit()) {}
所以敌人攻击的命中类型得不是"必定命中"才会计算幸运影响与target.stateRate(effect.dataId)(我对中毒的状态抗性)
那假如敌人攻击的命中类型不是"必定命中"而我对中毒的状态抗性是1(100%)
lukEffectRate计算:Math.max(1.0 + (this.subject().luk - target.luk) * 0.001, 0.0) = 1.0 + (1 - 10) * 0.001与0.0取最大值 = 0.991
itemEffectAddNormalState计算:effect.value1 * target.stateRate(effect.dataId) * this.lukEffectRate(target) = 1 x 1 x 0.991 = 0.991
结论就是你测说的100%其实不对,而是99.1%
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1