| 
 
| 赞 | 0 |  
| VIP | 1 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 1773 |  
| 最后登录 | 2014-4-18 |  
| 在线时间 | 8 小时 |  
 Lv1.梦旅人 ℃ake
	梦石0 星屑50 在线时间8 小时注册时间2009-6-6帖子787 | 
| 哦,原来状态是额外算命中几率的。 您的意思就是说,状态需要计算3次命中率。
 普通非状态特技只需要计算2次命中率。
 必须全部都等于true才算命中。是这个意思吗?
 按照原来计算的,我测试的时候300灵巧,如果特技的命中率是70%,那么第一命中一定会通过。
 意思我们一句一句来分析。复制代码      # 第二命中判定
      eva = 8 * self.agi / user.dex + self.eva
      hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
      hit = self.cant_evade? ? 100 : hit
      hit_result = (rand(100) < hit)
      # 不确定的特技的情况下设置为有效标志
      effective |= hit < 100
    end
eva = 8 * self.agi / user.dex + self.eva
 回避 = 8 * 自己的速度 / 使用者的灵巧 + 自己的回避
 hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100
 命中率 = 自己的威力 < 0 吗?如果是,就100。:否则 100 - 之前算出的回避。
 OK,下面的我也看不懂了,不过问题就出来了。
 经过我的测试,我那存档300灵巧,加上一个命中率70%,威力为-100的恢复特技。
 第一命中率应该是可以完全超过100%的。
 而第二命中命中率 = 自己的威力 < 0 吗?如果是,就100。
 由于恢复招式威力是负数,所以无论如何,命中率都是100%。
 按照您的意思,只要恢复类招式通过这两个命中率返回true就可以命中了吧?
 但是,经过我的测试,推气过宫的特技的命中率仍然接近70%,仍然有可能不命中。
 意思也就是说第一命中并没有生效?
 | 
 |