|
|
@@ -273,6 +273,48 @@ local function handler7(attacker,targetMode)
|
|
|
end
|
|
|
end
|
|
|
|
|
|
+--当前最低
|
|
|
+--[[
|
|
|
+ @param2 = {
|
|
|
+ handlerID,
|
|
|
+ side,
|
|
|
+ cnt,
|
|
|
+ hp/mp, -- 血量还是蓝量
|
|
|
+ order,
|
|
|
+ }
|
|
|
+]]
|
|
|
+local function handler8(attacker,targetMode)
|
|
|
+ local cnt = targetMode[3] or 1
|
|
|
+ local status = "hp" -- 默认是HP
|
|
|
+ if targetMode[4] == 2 then
|
|
|
+ status = "mp"
|
|
|
+ end
|
|
|
+ local order = targetMode[5] or 0 -- 默认升序
|
|
|
+ local targetSide = getTargetSide(attacker,targetMode)
|
|
|
+ local targetList = {}
|
|
|
+ for _,pos in ipairs(CombatDefine.DEFAULT_TARGET_POS3[targetSide]) do
|
|
|
+ local obj = getObj(pos)
|
|
|
+ if canTarget(obj) then
|
|
|
+ targetList[#targetList+1] = obj
|
|
|
+ end
|
|
|
+ end
|
|
|
+ table.sort(targetList,function(a,b)
|
|
|
+ local a_value = a[status] or 0
|
|
|
+ local b_value = b[status] or 0
|
|
|
+ local ret = a_value < b_value
|
|
|
+ if order ~= 0 then
|
|
|
+ ret = a_value > b_value
|
|
|
+ end
|
|
|
+ return ret
|
|
|
+ end)
|
|
|
+ for i = 1,cnt do
|
|
|
+ targets[#targets + 1] = targetList[i]
|
|
|
+ if #targets >= cnt then
|
|
|
+ break
|
|
|
+ end
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
-- 选择正前方一列的X目标
|
|
|
--[[
|
|
|
@param2 = {
|
|
|
@@ -694,28 +736,6 @@ function handler5(attacker,targetMode)
|
|
|
-- abandon
|
|
|
end
|
|
|
|
|
|
-
|
|
|
---血量最高
|
|
|
-function handler8(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
|
|
|
-
|
|
|
--攻击最高
|
|
|
--[[
|
|
|
attacker = {
|