赞 | 0 |
VIP | 0 |
好人卡 | 7 |
积分 | 1 |
经验 | 43463 |
最后登录 | 2017-9-10 |
在线时间 | 1019 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1019 小时
- 注册时间
- 2012-4-25
- 帖子
- 799
|
我给你我的做法吧。其实在救世小树里的计算公式我也问过了
# ■ Game_Battler
#==============================================================================- class Game_Battler < Game_BattlerBase
- def make_damage_value(user, item)
- value = item.damage.eval(user, self, $game_variables)
-
- if item.is_a?(RPG::Skill)
- case item.id
- when 83,84,88
- if user.agi >= (self.agi + 20) && !self.guard? && (user.agi - self.agi + 20)* user.level/2.5 <= user.level * 15
- value += (user.agi - self.agi + 20)* user.level/2.5
- elsif user.agi >= (self.agi + 20) && !self.guard? && (user.agi - self.agi + 20)* user.level/2.5 > user.level * 15
- value += user.level * 15
- elsif user.agi >= (self.agi + 20) && self.guard?
- value += (user.agi - self.agi + 20)* user.level/2.5
- value *= 0.5
- elsif user.agi < (self.agi + 20) && self.guard?
- value *= 0.5
- end
- #############################################
- when 245
- if user.mdf >= 85 && user.mdf <= 155
- value *= ( 1 + (user.mdf - 85) * 0.01)
- elsif user.mdf >= 155
- value *= 1.7
- end
- if user.state?(269)
- if user.luk >= 100
- $game_variables[101] = rand(1000)
- elsif user.luk >= 92
- $game_variables[101] = rand(850)
- elsif user.luk >= 86
- $game_variables[101] = rand(500)
- elsif user.luk >= 70
- $game_variables[101] = rand(300)
- end
- if $game_variables[101] >= 150
- $game_variables[121] = 1
- value *= 2
- end
- end
-
- 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
复制代码 这两个举例的计算公式够长了吧 |
评分
-
查看全部评分
|