From c5fe43c2b0b215e641f80517398530177872dd92 Mon Sep 17 00:00:00 2001 From: zqj <582132116@qq.com> Date: Wed, 27 Oct 2021 10:31:55 +0800 Subject: [PATCH] fix: 活动派遣不占用正常讨伐电台派遣队伍数量 --- src/actions/RadioAction.lua | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/actions/RadioAction.lua b/src/actions/RadioAction.lua index 852fb4f..93c8b2b 100644 --- a/src/actions/RadioAction.lua +++ b/src/actions/RadioAction.lua @@ -113,14 +113,29 @@ function _M.startQuestRpc(agent, data) local msg = MsgPack.unpack(data) local id = msg.id local heros = msg.heros - local result = {} - local radioTask = role:getProperty("radioTask") - if table.numbers(radioTask) >= getQuestMax(role) then - return 1 - end + -- check id local config = csvdb["crusadeCsv"][id] - if not config then return 2 end + if not config then return 1 end + + local radioTask = role:getProperty("radioTask") + + local getTaskNum = function () + local num = 0 + for _, v in pairs(radioTask or {}) do + if (v.actid or 0) == 0 then + num = num + 1 + end + end + return num + end + + if config.activity_ctrl_id == 0 then + if getTaskNum() >= getQuestMax(role) then + return 2 + end + end + if not role:checkHangPass(config.unlock) then return 3 end if radioTask[id] then return 4 end -- check hero @@ -172,6 +187,7 @@ function _M.startQuestRpc(agent, data) local taskData = {} taskData["time"] = skynet.timex() + config.time + timeSub taskData["heros"] = heros + taskData["actid"] = config.activity_ctrl_id radioTask[id] = taskData role:updateProperty({field="radioTask", value=radioTask, notNotify=true}) -- libgit2 0.21.2