| 
 
| 赞 | 41 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 103 |  
| 经验 | 0 |  
| 最后登录 | 2025-8-30 |  
| 在线时间 | 608 小时 |  
 Lv4.逐梦者 
	梦石3 星屑7318 在线时间608 小时注册时间2019-9-15帖子113 
 | 
| 本帖最后由 Cupidk爱呗茶 于 2020-6-20 02:25 编辑 
 粗略看了一下 感觉问题出在
 
 复制代码  def stored_dmg
    0 unless can_store_damage?
    val = @stored_dmg
    @stored_dmg = 0  #执行完一次该方法后储存伤害清零
    remove_storedmg_state # 清除状态时还会在判断一次伤害清零
    val
  end
然后主楼贴出的第二个脚本def make_damage_value(user, item) 第16行中在判断技能ID在获取伤害之前 就已经执行过一次公式方法了导致这个伤害被清零
 解决思路大概就是 直接吧797号技能的伤害判定放到方法最前端执行 来试试看行不行
 
 复制代码  #--------------------------------------------------------------------------
  # ● 計算傷害
  #--------------------------------------------------------------------------
  def make_damage_value(user, item)
    if item.is_a?(RPG::Skill) and item.id == 797
      value = item.damage.eval(user, self, $game_variables)
      return @result.make_damage(value.to_i, item)
    end
    value = 2
    if user.is_a?(Game_Actor)
      value *= user.level
    else
      value *= 5
    end
    value += 10
    value *= user.atk if item.physical?
    value *= user.mat if item.magical?
    value *= item.damage.eval(user, self, $game_variables)
    value /= 250
    value /= self.def if item.physical?
    value /= self.mdf if item.magical?
    value += 2
    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
    @result.make_damage(value.to_i, item)
  end
 | 
 评分
查看全部评分
 |