| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 1 |  
| 积分 | 4 |  
| 经验 | 868 |  
| 最后登录 | 2014-6-14 |  
| 在线时间 | 628 小时 |  
 Lv2.观梦者 
	梦石0 星屑448 在线时间628 小时注册时间2011-9-27帖子3996 | 
| 公式在脚本Game_Battler的648行开始,公式表明技能伤害和防御有关 复制代码 #--------------------------------------------------------------------------
  # ● 计算技能/物品伤害
  #     user : 技能或物品的使用者
  #     obj  : 使用的技能或物品
  #    计算结果赋值入 @hp_damage
  #--------------------------------------------------------------------------
  def make_obj_damage_value(user, obj)
    damage = obj.base_damage                        # 基础计算
    if damage > 0                                   # 若伤害为正
      damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
      damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
      unless obj.ignore_defense                     # 除非无视防御力
        damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
        damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
      end
      damage = 0 if damage < 0                      # 设负数伤害为0
    elsif damage < 0                                # 若伤害为负
      damage -= user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
      damage -= user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
    end
    damage *= elements_max_rate(obj.element_set)    # 属性校正
    damage /= 100
    damage = apply_variance(damage, obj.variance)   # 分散度
    damage = apply_guard(damage)                    # 防御校正
    if obj.damage_to_mp  
      @mp_damage = damage                           # 伤害魔力
    else
      @hp_damage = damage                           # 伤害体力
    end
  end
 | 
 |