Commit 7efe52757435c83b3d894bc2fb0daf94c133d97f
1 parent
43716efb
检查leader
Showing
1 changed file
with
10 additions
and
1 deletions
Show diff stats
src/actions/HangAction.lua
| @@ -202,6 +202,13 @@ function _M.endBattleRpc(agent, data) | @@ -202,6 +202,13 @@ function _M.endBattleRpc(agent, data) | ||
| 202 | return true | 202 | return true |
| 203 | end | 203 | end |
| 204 | 204 | ||
| 205 | +local function checkLeader(heros, leader) | ||
| 206 | + if not leader then return end | ||
| 207 | + for slot, heroId in pairs(heros) do | ||
| 208 | + if heroId == leader then return true end | ||
| 209 | + end | ||
| 210 | +end | ||
| 211 | + | ||
| 205 | function _M.roleFormatRpc(agent , data) | 212 | function _M.roleFormatRpc(agent , data) |
| 206 | local role = agent.role | 213 | local role = agent.role |
| 207 | local msg = MsgPack.unpack(data) | 214 | local msg = MsgPack.unpack(data) |
| @@ -219,6 +226,7 @@ function _M.roleFormatRpc(agent , data) | @@ -219,6 +226,7 @@ function _M.roleFormatRpc(agent , data) | ||
| 219 | if level <= 0 then return end | 226 | if level <= 0 then return end |
| 220 | supports[slot] = support | 227 | supports[slot] = support |
| 221 | end | 228 | end |
| 229 | + if not checkLeader(hangTeam.heros, hangTeam.leader) then return end | ||
| 222 | 230 | ||
| 223 | table.clear(hangTeam) | 231 | table.clear(hangTeam) |
| 224 | hangTeam.heros = {} | 232 | hangTeam.heros = {} |
| @@ -377,7 +385,8 @@ function _M.bonusFormatRpc(agent , data) | @@ -377,7 +385,8 @@ function _M.bonusFormatRpc(agent , data) | ||
| 377 | if level <= 0 then return end | 385 | if level <= 0 then return end |
| 378 | supports[slot] = support | 386 | supports[slot] = support |
| 379 | end | 387 | end |
| 380 | - | 388 | + if not checkLeader(msg.heros, msg.leader) then return end |
| 389 | + | ||
| 381 | table.clear(bTeam) | 390 | table.clear(bTeam) |
| 382 | bTeam.heros = {} | 391 | bTeam.heros = {} |
| 383 | for slot, heroId in pairs(msg.heros) do | 392 | for slot, heroId in pairs(msg.heros) do |