战斗伤害为0时,强制结算的战斗伤害为1
以RMMZ为例,在object.js中,找到下面这一部分:Game_Action.prototype.executeDamage = function(target, value) {const result = target.result();
if (value === 0) {
result.critical = false;
}
if (this.isHpEffect()) {
this.executeHpDamage(target, value);
}
if (this.isMpEffect()) {
this.executeMpDamage(target, value);
}
};
其中的value就是结算值,只需要增加一小段代码即可:
if (value === 0) {
value = 1
}
但这样的书写方式其实是有问题的,比如一些无伤害的技能、也会出现伤害为1的情况。所以需要再优化一下,留个空子:
if (this.isPhysical() && value === 0) {
value = 1;
}
if (this.isMagical() && value === 0) {
value = 1;
}
这样就将物理攻击、魔法攻击的伤害进行了修正。对于治疗、BUFF之类的”必中类技能“,就不受强制1点伤害的影响了。
页:
[1]