Project1

标题: 技能的命中率与敏捷有关系吗? [打印本页]

作者: 其一    时间: 2012-8-25 17:41
标题: 技能的命中率与敏捷有关系吗?
本帖最后由 其一 于 2012-8-25 18:01 编辑

技能的命中率到底是如何判定的?
只是a的物理命中率和b的物理闪避率吗?dsu_plus_rewardpost_czw
作者: feizhaodan    时间: 2012-8-25 18:01
显示按照成功率来判定有没有成功,然后按照你设置的命中类型来判断。
如果设置的是物理,则使用使用方命中率来判断是否命中,被攻击方回避率判断是否回避。
如果设置的是魔法,则使用被攻击方德魔法回避率来判断是否回避。
作者: lirn    时间: 2012-8-26 00:25
本帖最后由 lirn 于 2012-8-26 00:40 编辑

这样的,默认的命中率是这样计算的。

首先是技能成功率,技能成功之后再计算命中率,技能命中之后再计算回避率。只要随机数少于回避,就当这次攻击被回避掉,也就是说,只要回避率是100,恐怕是必中攻击,也都打不中。

我的话,对脚本做了些修改,实际命中率在计算技能成功率之后,再计算物理系是(命中率-回避率),魔法系是(命中率-魔法回避率)

自己找找在Game_Battler的490+
  1. #--------------------------------------------------------------------------
  2.   # ● 计算技能/物品的命中率
  3.   #--------------------------------------------------------------------------
  4.   def item_hit(user, item)
  5.        rate = item.success_rate * 0.01         # 取得成功率
  6.     rate *= (user.hit-eva) if item.physical?      # 物理攻击:计算命中率的乘积(改变,将回避率改到这里)
  7.     rate *= (user.hit-mev) if item.magical?  #魔法攻击:计算命中率的乘积(新增)
  8.       return rate                             # 返回计算后的命中率
  9.   end
复制代码
  1.   #--------------------------------------------------------------------------
  2.   # ● 应用技能/物品的效果
  3.   #--------------------------------------------------------------------------
  4.   def item_apply(user, item)
  5.     @result.clear
  6.     @result.used = item_test(user, item)
  7.     @result.missed = (@result.used && rand >= item_hit(user, item))  # 命中判定
  8.     @result.evaded = false#(因为前面调用了,所以在这里取消掉)
复制代码

作者: lirn    时间: 2012-8-26 11:46
直接在原脚本修改,可以通过重复赋予特性将命中提高到100以上,及时回避率100,你命中达到200的话还是必能命中。

另外,必中的技能是无视回避率的。
作者: lirn    时间: 2012-8-26 14:35
lirn 发表于 2012-8-26 11:46
直接在原脚本修改,可以通过重复赋予特性将命中提高到100以上,及时回避率100,你命中达到200的话还是必能 ...

至少我目前用的是后知后觉的横版,暂时没发现任何问题。
作者: lirn    时间: 2012-8-27 20:01



作者: 其一    时间: 2012-8-27 22:05
lirn 发表于 2012-8-27 20:01

太感谢了。。。。可是我发现好像在战斗测试里面不管用。。。只有在实际游戏里管用。。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1