Project1

标题: 伤害判断先后的问题求解 [打印本页]

作者: 负零    时间: 2015-5-26 19:07
标题: 伤害判断先后的问题求解
问题描述如下,请见图:

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 计算伤害
  3.   #--------------------------------------------------------------------------
  4.   def make_damage_value(user, item)
  5.     value = item.damage.eval(user, self, $game_variables)
  6.     value *= item_element_rate(user, item)
  7.     value *= pdr if item.physical?
  8.     value *= mdr if item.magical?
  9.     value *= rec if item.damage.recover?
  10.     value = apply_critical(value) if @result.critical
  11.     value = apply_variance(value, item.damage.variance)
  12.     value = apply_guard(value)
  13.     @result.make_damage(value.to_i, item)
  14. #-------------------------
  15. # ● 祈祷
  16. #-------------------------       
  17. if self.skills.include?($data_skills[300])&&self.is_a?(Game_Actor)
  18.   if rand(100)<100
  19.         p "被攻击后有HP:#{$game_party.members[0].hp}"
  20.         $game_party.members.each {|actor| actor.hp += 5000}
  21.         p"├祈祷发动,生命值增加5000"
  22.         p "回复后HP:#{$game_party.members[0].hp}"
  23.   else
  24. p"├×祈祷#{bcf}"
  25.   end
  26.   end
  27. end

作者: tan12345    时间: 2015-5-26 20:28
从你改的这个脚本来看,触发顺序是:计算人物受到的伤害时,先回复了血量,然后才减去受到的伤害,既先人物HP+5000,然后再人物HP-受到的伤害
作者: 三途亚梦    时间: 2015-5-26 20:31
make_damage_value的方法是计算这次技能伤害的值,还没把伤害实际作用出去哦。
作者: jianyulei    时间: 2015-5-28 13:18
请问你是怎么让控制台显示出这些判断来的?我打开控制台进行游戏测试,全程只有一句日文




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