赞 | 673 |
VIP | 62 |
好人卡 | 144 |
积分 | 335 |
经验 | 110435 |
最后登录 | 2024-11-1 |
在线时间 | 5108 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 33488
- 在线时间
- 5108 小时
- 注册时间
- 2012-11-19
- 帖子
- 4878
|
本帖最后由 芯☆淡茹水 于 2017-4-27 12:58 编辑
add_rate = attacker.is_a?(Game_Actor) ? [$game_variables[7], 1].max : 1
变量 add_rate (新增暴击概率)赋值为:
如果攻击者是角色,那么取 $game_variables[7] 和 1 之间的最大值。(预防误操作使变量7为0或负值时,角色就没有暴击了。意思就是至少新增的概率为1倍),最后面的 1 也就是敌人的1倍,无变化。
if rand(100) < 4 * attacker.dex / self.agi * add_rate
用乘法是在原暴击率的基础上增加倍数,这个不是定数,暴击几率越高,增加的几率也就越高。 原几率 10 * 增加的20 = 200%
如果用加法:if rand(100) < 4 * attacker.dex / self.agi + add_rate ,就是给暴击率增加一个固定值。原几率 10 + 增加的20 = 30%
用乘法的话,暴击2倍,变量7调整为2; 暴击100%,变量7调整为100以上都行。 |
评分
-
查看全部评分
|