|
|
@@ -518,6 +518,44 @@ local function handler21(attacker,targetMode)
|
|
|
end
|
|
|
end
|
|
|
|
|
|
+
|
|
|
+--职业+攻击力排名
|
|
|
+--[[
|
|
|
+ @param2 = {
|
|
|
+ handlerID,
|
|
|
+ side
|
|
|
+ cnt,
|
|
|
+ jobs, 职业列表
|
|
|
+ }
|
|
|
+]]
|
|
|
+local function handler24(attacker,targetMode)
|
|
|
+ local targetSide = getTargetSide(attacker,targetMode)
|
|
|
+ local targetList = {}
|
|
|
+ local jobs = targetMode[4] or {}
|
|
|
+ for _,pos in ipairs(CombatDefine.DEFAULT_TARGET_POS3[targetSide]) do
|
|
|
+ local obj = getObj(pos)
|
|
|
+ if canTarget(obj) then
|
|
|
+ table.insert(targetList,obj)
|
|
|
+ end
|
|
|
+ end
|
|
|
+ local attr = RoleDefine.ATK
|
|
|
+ -- 降序排列
|
|
|
+ table.sort(targetList,function(a,b)
|
|
|
+ local a_attr = CombatObj.getValue(a,attr)
|
|
|
+ local b_attr = CombatObj.getValue(b,attr)
|
|
|
+ ret = a_attr > b_attr
|
|
|
+ if a_attr== b_attr then
|
|
|
+ local a_idx = table.find(jobs,a.job)
|
|
|
+ local b_idx = table.find(jobs,b.job)
|
|
|
+ if a_idx ~= b_idx then
|
|
|
+ return a_idx < b_idx
|
|
|
+ end
|
|
|
+ end
|
|
|
+ return ret
|
|
|
+ end)
|
|
|
+
|
|
|
+end
|
|
|
+
|
|
|
------------------------------------ 未实现功能 分界线 ------------------------------------
|
|
|
--技能目标(所有目标)
|
|
|
function handler11(attacker,targetMode,skillTargets)
|
|
|
@@ -861,26 +899,6 @@ function handler23(attacker,targetMode,skillTargets)
|
|
|
end
|
|
|
|
|
|
|
|
|
---职业+攻击力排名
|
|
|
-function handler24(attacker,targetMode)
|
|
|
- local targetSide = getTargetSide(attacker,targetMode)
|
|
|
- --if targetSide ~= CombatDefine.ATTACK_SIDE and targetSide ~= CombatDefine.DEFEND_SIDE then
|
|
|
- -- assert()
|
|
|
- --end
|
|
|
- local cnt = targetMode[3] or CombatDefine.COMBAT_HERO_ALL_CNT
|
|
|
- local atkPos = attacker.backupPos or attacker.pos
|
|
|
- atkPos = atkPos % CombatDefine.COMBAT_HERO_ALL_CNT
|
|
|
- for _,pos in ipairs(CombatDefine.DEFAULT_TARGET_POS3[targetSide]) do
|
|
|
- local obj = getObj(pos)
|
|
|
-
|
|
|
- if canTarget(obj) and obj.pos ~= attacker.pos then
|
|
|
- targets[#targets+1] = obj
|
|
|
- end
|
|
|
- if #targets >= cnt then
|
|
|
- return
|
|
|
- end
|
|
|
- end
|
|
|
-end
|
|
|
|
|
|
--职业优先
|
|
|
function handler25(attacker,targetMode)
|