| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2017-9-7 |
| 在线时间 | 12 小时 |
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 12 小时
- 注册时间
- 2006-5-21
- 回帖
- 731
|
发表于 2008-8-1 01:28:50
|
显示全部楼层
apply_variance(maxhp / 10, 10)
这个是定义过的方法
前面是生命的10% 后面是分散度
def apply_variance(damage, variance)
if damage != 0 # 伤害为 0 以外的情况
amp = [damage.abs * variance / 100, 0].max # 计算分散幅度
damage += rand(amp+1) + rand(amp+1) - amp # 执行分散
end
return damage
end
原方法是这样的 效果就是以生命值的1/10为基准浮动
这里的damage就是生命值的1/10 取绝对值乘上分散度再除以100 再和0比较大小 以大的作为amp的值
然后这个damamge加两次1-amp的随机数再减amp 得到最终结果 系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~ |
|