| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2015-10-31 |
| 在线时间 | 466 小时 |
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 466 小时
- 注册时间
- 2006-2-25
- 回帖
- 1778
|
发表于 2011-6-2 18:38:08
|
显示全部楼层
在Game_Battler第518行eva = self.eva
加一句
eva = 0 if obj.is_a?(RPG::Item)
就行了
原理如下:
Game_Battler第932行开始
if rand(100) >= calc_hit(user, item) # 计算命中率
@missed = true
return
end
物品的calc_hit = 100
所以物品这里是绝对能命中的
问题在计算回避率eva这里
第874行开始
if rand(100) < calc_eva(user, skill) # 计算闪躲率
@evaded = true
return
end
你可以找一下def calc_eva 方法就明白了...
每个敌人或者角色都有回避率eva...
例如内置敌人史莱姆的回避率是5%...所以就有5%机率回避物品的攻击 |
评分
-
查看全部评分
|