本帖最后由 alexncf125 于 2022-8-13 18:49 编辑
在rpg_objects.js的Game_BattlerBase部分可以看见
// Physical Damage Rate pdr: { get: function() { return this.sparam(6); }, configurable: true }, // Magical Damage Rate mdr: { get: function() { return this.sparam(7); }, configurable: true },
// Physical Damage Rate
pdr: { get: function() { return this.sparam(6); }, configurable: true },
// Magical Damage Rate
mdr: { get: function() { return this.sparam(7); }, configurable: true },
pdr就是“特性”的“特殊能力值里面”的“物理伤害”
mdr就是“特性”的“特殊能力值里面”的“魔法伤害”
之后查找出调用了pdr和mdr的地方, 只发现
Game_Action.prototype.makeDamageValue = function(target, critical) { var item = this.item(); var baseValue = this.evalDamageFormula(target); var value = baseValue * this.calcElementRate(target); if (this.isPhysical()) { value *= target.pdr; } if (this.isMagical()) { value *= target.mdr; } if (baseValue < 0) { value *= target.rec; } if (critical) { value = this.applyCritical(value); } value = this.applyVariance(value, item.damage.variance); value = this.applyGuard(value, target); value = Math.round(value); return value; };
Game_Action.prototype.makeDamageValue = function(target, critical) {
var item = this.item();
var baseValue = this.evalDamageFormula(target);
var value = baseValue * this.calcElementRate(target);
if (this.isPhysical()) {
value *= target.pdr;
}
if (this.isMagical()) {
value *= target.mdr;
}
if (baseValue < 0) {
value *= target.rec;
}
if (critical) {
value = this.applyCritical(value);
}
value = this.applyVariance(value, item.damage.variance);
value = this.applyGuard(value, target);
value = Math.round(value);
return value;
};
综合上述, 就是当角色A(使用者/user)用"命中类型为物理攻击"的技能打敌人B(目标/target)时, 计算伤害时会乘上敌人B(目标/target)的“特性 - 特殊能力 - 物理伤害”
|