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}) |