Project1

标题: 請教如何讓勾選實體攻擊的技能擁有暴擊能力? [打印本页]

作者: 妖精蕾贝卡    时间: 2015-5-13 09:19
标题: 請教如何讓勾選實體攻擊的技能擁有暴擊能力?
默認設置下只有普通攻擊才擁有暴擊能力?
請問怎麼樣讓勾選實體攻擊的技能也擁有暴擊能力?

作者: crow2006    时间: 2015-5-13 19:24
  1. class Game_Battler
  2.   def make_obj_damage_value(user, obj)
  3.     damage = obj.base_damage                        # 基础计算
  4.     if damage > 0                                   # 若伤害为正
  5.       damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  6.       damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  7.       unless obj.ignore_defense                     # 除非无视防御力
  8.         damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
  9.         damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
  10.       end
  11.       ###########################################在这里加上(开始)
  12.       @critical = (rand(100) < user.cri)        # 会心一击判断
  13.       @critical = false if prevent_critical         # 防止会心一击判断
  14.       damage *= 3 if @critical                      # 会心一击校正
  15.       ############################################(结束)
  16.       damage = 0 if damage < 0                      # 设负数伤害为0
  17.     elsif damage < 0                                # 若伤害为负
  18.       damage -= user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  19.       damage -= user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  20.     end
  21.     damage *= elements_max_rate(obj.element_set)    # 属性校正
  22.     damage /= 100
  23.     damage = apply_variance(damage, obj.variance)   # 分散度
  24.     damage = apply_guard(damage)                    # 防御校正
  25.     if obj.damage_to_mp  
  26.       @mp_damage = damage                           # 伤害魔力
  27.     else
  28.       @hp_damage = damage                           # 伤害体力
  29.     end
  30.   end
  31. end
复制代码

作者: 妖精蕾贝卡    时间: 2015-5-14 07:27
crow2006 发表于 2015-5-13 19:24

謝謝幫助,但是非勾選實體攻擊的技能也具有暴擊能力了。
我是只想讓勾選實體攻擊的技能有暴擊能力就足夠了。
作者: 怪蜀黍    时间: 2015-5-14 14:22
妖精蕾贝卡 发表于 2015-5-14 07:27
謝謝幫助,但是非勾選實體攻擊的技能也具有暴擊能力了。
我是只想讓勾選實體攻擊的技能有暴擊能力就足夠 ...
  1. @critical = false if prevent_critical and not obj.physical_attack  # 防止会心一击判断
复制代码

作者: 妖精蕾贝卡    时间: 2015-5-15 07:19
怪蜀黍 发表于 2015-5-14 14:22

感謝補充,語句上是沒有問題。
但實測發現依舊是非實體攻擊會有暴擊效果。
能請看看是什麼問題嗎?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1