赞 | 1 |
VIP | 16 |
好人卡 | 23 |
积分 | 0 |
经验 | 49509 |
最后登录 | 2016-1-9 |
在线时间 | 2459 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 48
- 在线时间
- 2459 小时
- 注册时间
- 2011-12-18
- 帖子
- 1484
|
不妨将- damage += user.atk * 4 * obj.atk_f / 100 # 使用者攻击力关系度
- damage += user.spi * 2 * obj.spi_f / 100 # 使用者精神力关系度
- unless obj.ignore_defense # 除非无视防御力
- damage -= self.def * 2 * obj.atk_f / 100 # 目标攻击力关系度
- damage -= self.spi * 1 * obj.spi_f / 100 # 目标精神力关系度
- end
复制代码 写成- if obj.ignore_defense
- damage += (user.atk*4*obj.atk_f/100.0).round
- damage += (user.spi*2*obj.spi_f/100.0).round
- else
- damage += ((user.atk*4 - self.def*2)*obj.atk_f/100.0).round
- damage += ((user.spi*2 - self.spi)*obj.spi_f/100.0).round
- end
复制代码 试试。
因为原计算公式中只要user.atk * 4 * obj.atk_f小于100,最后的计算结果都是0,会造成很大的误差。
至于atk_f可以将它合到atk_f/100中一起看,
相当于技能对于普通攻击的伤害倍数。 |
评分
-
查看全部评分
|