Commit c3d5fe54a439ce6e84daae41fa11e810016bfa24
1 parent
09be9059
无战斗状态挂机清掉战斗队伍
Showing
1 changed file
with
9 additions
and
5 deletions
 
Show diff stats
src/actions/AdvAction.lua
| @@ -17,7 +17,7 @@ local table_unpack = table.unpack | @@ -17,7 +17,7 @@ local table_unpack = table.unpack | ||
| 17 | local _M = {} | 17 | local _M = {} | 
| 18 | 18 | ||
| 19 | 19 | ||
| 20 | -local function checkFormat(role, format, isHang) | 20 | +local function checkFormat(role, format, checkAdvTeam) | 
| 21 | local advHang = role:getProperty("advHang") | 21 | local advHang = role:getProperty("advHang") | 
| 22 | local hadHero = {} | 22 | local hadHero = {} | 
| 23 | for chapterId, info in pairs(advHang) do | 23 | for chapterId, info in pairs(advHang) do | 
| @@ -28,7 +28,7 @@ local function checkFormat(role, format, isHang) | @@ -28,7 +28,7 @@ local function checkFormat(role, format, isHang) | ||
| 28 | end | 28 | end | 
| 29 | end | 29 | end | 
| 30 | 30 | ||
| 31 | - if isHang then | 31 | + if checkAdvTeam then | 
| 32 | for _, heroId in pairs(role:getProperty("advTeam").heros or {}) do | 32 | for _, heroId in pairs(role:getProperty("advTeam").heros or {}) do | 
| 33 | hadHero[heroId] = true | 33 | hadHero[heroId] = true | 
| 34 | end | 34 | end | 
| @@ -82,8 +82,7 @@ function _M.startAdvRpc( agent, data ) | @@ -82,8 +82,7 @@ function _M.startAdvRpc( agent, data ) | ||
| 82 | if not checkFormat(role, format) then return end | 82 | if not checkFormat(role, format) then return end | 
| 83 | 83 | ||
| 84 | --上一个关卡结束才可以开始新的关卡 | 84 | --上一个关卡结束才可以开始新的关卡 | 
| 85 | - local advInfo = role:getProperty("advInfo") | ||
| 86 | - if next(advInfo) then return end | 85 | + if next(role:getProperty("advInfo")) then return end | 
| 87 | 86 | ||
| 88 | local advTeam = role:getProperty("advTeam") | 87 | local advTeam = role:getProperty("advTeam") | 
| 89 | table.clear(advTeam) | 88 | table.clear(advTeam) | 
| @@ -121,7 +120,7 @@ function _M.startHangRpc(agent, data) | @@ -121,7 +120,7 @@ function _M.startHangRpc(agent, data) | ||
| 121 | 120 | ||
| 122 | if role.dailyData:getProperty("advC") >= role:getAdvHangLimit() then return end -- 是否有体力 | 121 | if role.dailyData:getProperty("advC") >= role:getAdvHangLimit() then return end -- 是否有体力 | 
| 123 | 122 | ||
| 124 | - if not checkFormat(role, format, true) then return end --编队是否正确 | 123 | + if not checkFormat(role, format, next(role:getProperty("advInfo"))) then return end --编队是否正确 | 
| 125 | 124 | ||
| 126 | local battleV = 0 | 125 | local battleV = 0 | 
| 127 | for _, heroId in pairs(format.heros) do | 126 | for _, heroId in pairs(format.heros) do | 
| @@ -139,6 +138,11 @@ function _M.startHangRpc(agent, data) | @@ -139,6 +138,11 @@ function _M.startHangRpc(agent, data) | ||
| 139 | end | 138 | end | 
| 140 | info.time = skynet.timex() + chapterData.idleTime --挂机时间 | 139 | info.time = skynet.timex() + chapterData.idleTime --挂机时间 | 
| 141 | 140 | ||
| 141 | + -- 没有在战斗 用team来挂机了 把team清掉 | ||
| 142 | + if not next(role:getProperty("advInfo")) then | ||
| 143 | + role:updateProperty({field = "advTeam", value = {}}) | ||
| 144 | + end | ||
| 145 | + | ||
| 142 | role:changeUpdates({{type = "advHang", field = chapterId, value = info}}) | 146 | role:changeUpdates({{type = "advHang", field = chapterId, value = info}}) | 
| 143 | 147 | ||
| 144 | role.dailyData:updateProperty({field = "advC", delta = 1}) | 148 | role.dailyData:updateProperty({field = "advC", delta = 1}) |