| 本帖最后由 alexncf125 于 2022-8-13 18:49 编辑 
 在rpg_objects.js的Game_BattlerBase部分可以看见
 
 // Physical Damage Ratepdr: { get: function() { return this.sparam(6); }, configurable: true },// Magical Damage Ratemdr: { 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)的“特性 - 特殊能力 - 物理伤害”
 
 |