|
|
@@ -706,28 +706,37 @@ local function isShanbi(attacker, index, targets)
|
|
|
local jingzhun = CombatObj.getValue(attacker, RoleDefine.JINGZHUN) + CombatPosLogic.getRestrict(attacker,defender,RoleDefine.JINGZHUN)
|
|
|
local shanbi = CombatObj.getValue(defender, RoleDefine.SHANBI)
|
|
|
|
|
|
- if jingzhun >= 10000 then
|
|
|
- local mingZhong = jingzhun - 10000
|
|
|
- mingZhong = mingZhong < 0 and 0 or mingZhong
|
|
|
- -- 强制设定额外命中不超过 99%
|
|
|
- if mingZhong >= 9900 then
|
|
|
- mingZhong = 9900
|
|
|
- end
|
|
|
+ -- if jingzhun >= 10000 then
|
|
|
+ -- local mingZhong = jingzhun - 10000
|
|
|
+ -- mingZhong = mingZhong < 0 and 0 or mingZhong
|
|
|
+ -- -- 强制设定额外命中不超过 99%
|
|
|
+ -- if mingZhong >= 9900 then
|
|
|
+ -- mingZhong = 9900
|
|
|
+ -- end
|
|
|
|
|
|
- local shanbiRatio = 10000 - mingZhong
|
|
|
- shanbiRatio = shanbiRatio < 0 and 0 or shanbiRatio
|
|
|
+ -- local shanbiRatio = 10000 - mingZhong
|
|
|
+ -- shanbiRatio = shanbiRatio < 0 and 0 or shanbiRatio
|
|
|
|
|
|
|
|
|
- shanbi = math.floor(shanbi *(shanbiRatio / 10000))
|
|
|
- else
|
|
|
- shanbi = 10000 - jingzhun + shanbi
|
|
|
- end
|
|
|
-
|
|
|
+ -- shanbi = math.floor(shanbi *(shanbiRatio / 10000))
|
|
|
+ -- else
|
|
|
+ -- shanbi = 10000 - jingzhun + shanbi
|
|
|
+ -- end
|
|
|
+
|
|
|
+ -- local r = math.random(1, 10000)
|
|
|
+ -- if r < shanbi then
|
|
|
+ -- return true
|
|
|
+ -- end
|
|
|
+ -- return false
|
|
|
+
|
|
|
+ -- 修改
|
|
|
+ local hitVal = math.max(jingzhun - shanbi, 0)
|
|
|
local r = math.random(1, 10000)
|
|
|
- if r < shanbi then
|
|
|
- return true
|
|
|
+ if r <= hitVal then
|
|
|
+ return false
|
|
|
end
|
|
|
- return false
|
|
|
+
|
|
|
+ return true
|
|
|
end
|
|
|
|
|
|
function calcHurt(attacker, index, targets, skillConfig)
|