diff --git a/src/actions/AdvAction.lua b/src/actions/AdvAction.lua index fca3dce..acd68ae 100644 --- a/src/actions/AdvAction.lua +++ b/src/actions/AdvAction.lua @@ -17,7 +17,7 @@ local table_unpack = table.unpack local _M = {} -local function checkFormat(role, format, isHang) +local function checkFormat(role, format, checkAdvTeam) local advHang = role:getProperty("advHang") local hadHero = {} for chapterId, info in pairs(advHang) do @@ -28,7 +28,7 @@ local function checkFormat(role, format, isHang) end end - if isHang then + if checkAdvTeam then for _, heroId in pairs(role:getProperty("advTeam").heros or {}) do hadHero[heroId] = true end @@ -82,8 +82,7 @@ function _M.startAdvRpc( agent, data ) if not checkFormat(role, format) then return end --上一个关卡结束才可以开始新的关卡 - local advInfo = role:getProperty("advInfo") - if next(advInfo) then return end + if next(role:getProperty("advInfo")) then return end local advTeam = role:getProperty("advTeam") table.clear(advTeam) @@ -121,7 +120,7 @@ function _M.startHangRpc(agent, data) if role.dailyData:getProperty("advC") >= role:getAdvHangLimit() then return end -- 是否有体力 - if not checkFormat(role, format, true) then return end --编队是否正确 + if not checkFormat(role, format, next(role:getProperty("advInfo"))) then return end --编队是否正确 local battleV = 0 for _, heroId in pairs(format.heros) do @@ -139,6 +138,11 @@ function _M.startHangRpc(agent, data) end info.time = skynet.timex() + chapterData.idleTime --挂机时间 + -- 没有在战斗 用team来挂机了 把team清掉 + if not next(role:getProperty("advInfo")) then + role:updateProperty({field = "advTeam", value = {}}) + end + role:changeUpdates({{type = "advHang", field = chapterId, value = info}}) role.dailyData:updateProperty({field = "advC", delta = 1}) -- libgit2 0.21.2