赞 | 40 |
VIP | 559 |
好人卡 | 234 |
积分 | 47 |
经验 | 251834 |
最后登录 | 2024-12-5 |
在线时间 | 5240 小时 |
Lv3.寻梦者 (版主) 八宝粥的基叔
- 梦石
- 0
- 星屑
- 4699
- 在线时间
- 5240 小时
- 注册时间
- 2009-4-29
- 帖子
- 14318
|
本帖最后由 protosssonny 于 2012-8-14 23:32 编辑
我知道问题的所在,因为普通攻击评价也调用了make_attack_damage_value
方法:Game_BattleAction类下316行,找到类似的定义变成这样- #--------------------------------------------------------------------------
- # ● 普通攻击评价(指定目标)
- # target : 目标战斗者
- #--------------------------------------------------------------------------
- def evaluate_attack_with_target(target)
- target.clear_action_results
- target.make_attack_damage_value(battler,false) #改这里
- return target.hp_damage.to_f / [target.hp, 1].max
- end
复制代码 Game_Battler类下def make_attack_damage_value(attacker)改成def make_attack_damage_value(attacker,value=true)
再把你的@critical = (rand(100) < attacker.cri) 改成 @critical = ((rand(100) < attacker.cri) and value==true)
应该就可以了! |
评分
-
查看全部评分
|