Commit 42dcb7da068acd98806c651965e7c663fffa3fc0
merge code
Showing
13 changed files
with
273 additions
and
120 deletions
 
Show diff stats
src/actions/GmAction.lua
| @@ -419,7 +419,6 @@ end | @@ -419,7 +419,6 @@ end | ||
| 419 | 419 | ||
| 420 | table.insert(helpDes, {"挂机清除" , "idlec"}) | 420 | table.insert(helpDes, {"挂机清除" , "idlec"}) | 
| 421 | function _M.idlec(role, pms) | 421 | function _M.idlec(role, pms) | 
| 422 | - role:updateProperty({field = "hangTeam", value = {}}) | ||
| 423 | role:updateProperty({field = "hangInfo", value = {}}) | 422 | role:updateProperty({field = "hangInfo", value = {}}) | 
| 424 | role:updateProperty({field = "hangBag", value = {}}) | 423 | role:updateProperty({field = "hangBag", value = {}}) | 
| 425 | role:mylog("gm_action", {desc = "idlec", key1 = pms.sender}) | 424 | role:mylog("gm_action", {desc = "idlec", key1 = pms.sender}) | 
src/actions/HangAction.lua
| @@ -347,7 +347,9 @@ function _M.roleFormatRpc(agent , data) | @@ -347,7 +347,9 @@ function _M.roleFormatRpc(agent , data) | ||
| 347 | team.leader = msg.leader | 347 | team.leader = msg.leader | 
| 348 | team.supports = supports | 348 | team.supports = supports | 
| 349 | team.title = title | 349 | team.title = title | 
| 350 | - team.tactics = tactics | 350 | + if msg.tactics and globalCsv.tactics_skill_passive_cell[msg.tactics] then | 
| 351 | + team.tactics = msg.tactics | ||
| 352 | + end | ||
| 351 | 353 | ||
| 352 | role:setTeamFormat(index, team) | 354 | role:setTeamFormat(index, team) | 
| 353 | 355 | ||
| @@ -461,36 +463,6 @@ function _M.quickRpc(agent , data) | @@ -461,36 +463,6 @@ function _M.quickRpc(agent , data) | ||
| 461 | return true | 463 | return true | 
| 462 | end | 464 | end | 
| 463 | 465 | ||
| 464 | -function _M.bonusFormatRpc(agent , data) | ||
| 465 | - local role = agent.role | ||
| 466 | - local msg = MsgPack.unpack(data) | ||
| 467 | - local bTeam = role:getProperty("bTeam") | ||
| 468 | - for slot, heroId in pairs(msg.heros) do | ||
| 469 | - if not role.heros[heroId] then | ||
| 470 | - return | ||
| 471 | - end | ||
| 472 | - end | ||
| 473 | - local supports = {} | ||
| 474 | - for slot, support in pairs(msg.supports) do | ||
| 475 | - if slot ~= 1 and slot ~= 2 then return end | ||
| 476 | - local level = role.dinerData:getProperty("dishTree"):getv(support, 0) | ||
| 477 | - if level <= 0 then return end | ||
| 478 | - supports[slot] = support | ||
| 479 | - end | ||
| 480 | - if not checkLeader(msg.heros, msg.leader) then return end | ||
| 481 | - | ||
| 482 | - table.clear(bTeam) | ||
| 483 | - bTeam.heros = {} | ||
| 484 | - for slot, heroId in pairs(msg.heros) do | ||
| 485 | - bTeam.heros[slot] = heroId | ||
| 486 | - end | ||
| 487 | - bTeam.leader = msg.leader | ||
| 488 | - bTeam.supports = supports | ||
| 489 | - | ||
| 490 | - role:updateProperty({field = "bTeam", value = bTeam}) | ||
| 491 | - SendPacket(actionCodes.Hang_bonusFormatRpc, '') | ||
| 492 | - return true | ||
| 493 | -end | ||
| 494 | 466 | ||
| 495 | function _M.buyBonusCountRpc(agent, data) | 467 | function _M.buyBonusCountRpc(agent, data) | 
| 496 | local role = agent.role | 468 | local role = agent.role | 
| @@ -713,4 +685,4 @@ function _M.selectTeamRpc(agent, data) | @@ -713,4 +685,4 @@ function _M.selectTeamRpc(agent, data) | ||
| 713 | return true | 685 | return true | 
| 714 | end | 686 | end | 
| 715 | 687 | ||
| 716 | -return _M | ||
| 717 | \ No newline at end of file | 688 | \ No newline at end of file | 
| 689 | +return _M | 
src/actions/PvpAction.lua
| @@ -50,6 +50,9 @@ function _M.formatCommonRpc(agent , data) | @@ -50,6 +50,9 @@ function _M.formatCommonRpc(agent , data) | ||
| 50 | end | 50 | end | 
| 51 | pvpTC.leader = msg.leader | 51 | pvpTC.leader = msg.leader | 
| 52 | pvpTC.supports = supports | 52 | pvpTC.supports = supports | 
| 53 | + if msg.tactics and globalCsv.tactics_skill_passive_cell[msg.tactics] then | ||
| 54 | + pvpTC.tactics = msg.tactics | ||
| 55 | + end | ||
| 53 | 56 | ||
| 54 | role:savePvpCTeam(pvpTC) | 57 | role:savePvpCTeam(pvpTC) | 
| 55 | SendPacket(actionCodes.Pvp_formatCommonRpc, '') | 58 | SendPacket(actionCodes.Pvp_formatCommonRpc, '') | 
| @@ -92,6 +95,9 @@ function _M.formatHighRpc(agent , data) | @@ -92,6 +95,9 @@ function _M.formatHighRpc(agent , data) | ||
| 92 | curTeam.heros = team.heros | 95 | curTeam.heros = team.heros | 
| 93 | curTeam.leader = team.leader | 96 | curTeam.leader = team.leader | 
| 94 | curTeam.supports = supports | 97 | curTeam.supports = supports | 
| 98 | + if team.tactics and globalCsv.tactics_skill_passive_cell[team.tactics] then | ||
| 99 | + curTeam.tactics = team.tactics | ||
| 100 | + end | ||
| 95 | 101 | ||
| 96 | table.insert(pvpTH, curTeam) | 102 | table.insert(pvpTH, curTeam) | 
| 97 | end | 103 | end | 
| @@ -462,6 +468,10 @@ function _M.startBattleHRpc(agent, data) | @@ -462,6 +468,10 @@ function _M.startBattleHRpc(agent, data) | ||
| 462 | curTeam.heros = team.heros | 468 | curTeam.heros = team.heros | 
| 463 | curTeam.leader = team.leader | 469 | curTeam.leader = team.leader | 
| 464 | curTeam.supports = supports | 470 | curTeam.supports = supports | 
| 471 | + if team.tactics and globalCsv.tactics_skill_passive_cell[team.tactics] then | ||
| 472 | + curTeam.tactics = team.tactics | ||
| 473 | + end | ||
| 474 | + | ||
| 465 | 475 | ||
| 466 | table.insert(pvpTH, curTeam) | 476 | table.insert(pvpTH, curTeam) | 
| 467 | end | 477 | end | 
src/actions/RoleAction.lua
| @@ -291,7 +291,7 @@ function _M.loginRpc( agent, data ) | @@ -291,7 +291,7 @@ function _M.loginRpc( agent, data ) | ||
| 291 | 291 | ||
| 292 | 292 | ||
| 293 | -- 玩家登陆做的一些操作 | 293 | -- 玩家登陆做的一些操作 | 
| 294 | - role:saveHangTeam() | 294 | + role:updateHangTeamInfo() | 
| 295 | role:savePvpCTeam() | 295 | role:savePvpCTeam() | 
| 296 | role:savePvpHTeam() | 296 | role:savePvpHTeam() | 
| 297 | 297 | 
src/actions/TowerAction.lua
| @@ -8,36 +8,6 @@ local MsgPack = MsgPack | @@ -8,36 +8,6 @@ local MsgPack = MsgPack | ||
| 8 | local _M = {} | 8 | local _M = {} | 
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | -function _M.roleFormatRpc(agent , data) | ||
| 12 | - local role = agent.role | ||
| 13 | - local msg = MsgPack.unpack(data) | ||
| 14 | - local towerTeam = role:getProperty("towerF") | ||
| 15 | - for slot, heroId in pairs(msg.heros) do | ||
| 16 | - if not role.heros[heroId] then | ||
| 17 | - return | ||
| 18 | - end | ||
| 19 | - end | ||
| 20 | - local supports = {} | ||
| 21 | - for slot, support in pairs(msg.supports) do | ||
| 22 | - if slot ~= 1 and slot ~= 2 then return end | ||
| 23 | - local level = role.dinerData:getProperty("dishTree"):getv(support, 0) | ||
| 24 | - if level <= 0 then return end | ||
| 25 | - supports[slot] = support | ||
| 26 | - end | ||
| 27 | - table.clear(towerTeam) | ||
| 28 | - towerTeam.heros = {} | ||
| 29 | - for slot, heroId in pairs(msg.heros) do | ||
| 30 | - towerTeam.heros[slot] = heroId | ||
| 31 | - end | ||
| 32 | - towerTeam.leader = msg.leader | ||
| 33 | - towerTeam.supports = supports | ||
| 34 | - | ||
| 35 | - | ||
| 36 | - role:updateProperty({field = "towerF", value = towerTeam}) | ||
| 37 | - SendPacket(actionCodes.Tower_roleFormatRpc, '') | ||
| 38 | - return true | ||
| 39 | -end | ||
| 40 | - | ||
| 41 | 11 | ||
| 42 | local function getUpdateTime(lastCount, lastTime) | 12 | local function getUpdateTime(lastCount, lastTime) | 
| 43 | local nextCount, nextTime = lastCount, skynet.timex() | 13 | local nextCount, nextTime = lastCount, skynet.timex() | 
src/adv/Adv.lua
| @@ -102,6 +102,9 @@ function Adv:initByChapter(params) | @@ -102,6 +102,9 @@ function Adv:initByChapter(params) | ||
| 102 | self.cacheUnlock = self.cacheUnlock or {} | 102 | self.cacheUnlock = self.cacheUnlock or {} | 
| 103 | self.shopStatus = self.shopStatus or {} | 103 | self.shopStatus = self.shopStatus or {} | 
| 104 | self.support = self.support or {} | 104 | self.support = self.support or {} | 
| 105 | + if self.battle then | ||
| 106 | + self.battle:overBattle() | ||
| 107 | + end | ||
| 105 | self.battle = nil -- 清掉 老的 battle | 108 | self.battle = nil -- 清掉 老的 battle | 
| 106 | self.logid = self.owner:getActionUcode() | 109 | self.logid = self.owner:getActionUcode() | 
| 107 | 110 | ||
| @@ -211,7 +214,7 @@ function Adv:saveDB(notNotify) | @@ -211,7 +214,7 @@ function Adv:saveDB(notNotify) | ||
| 211 | advInfo.logid = self.logid | 214 | advInfo.logid = self.logid | 
| 212 | advInfo.maps = {} | 215 | advInfo.maps = {} | 
| 213 | 216 | ||
| 214 | - self.battle:saveDB() | 217 | + self.battle:saveDB(advInfo) | 
| 215 | 218 | ||
| 216 | for id , map in ipairs(self.maps) do | 219 | for id , map in ipairs(self.maps) do | 
| 217 | advInfo.maps[id] = map:getDB() | 220 | advInfo.maps[id] = map:getDB() | 
| @@ -468,6 +471,11 @@ function Adv:initBattle(notDb) | @@ -468,6 +471,11 @@ function Adv:initBattle(notDb) | ||
| 468 | if notDb and self.level ~= 1 then | 471 | if notDb and self.level ~= 1 then | 
| 469 | self.battle.player:attrChangeCondBuffCheck(1) | 472 | self.battle.player:attrChangeCondBuffCheck(1) | 
| 470 | end | 473 | end | 
| 474 | + | ||
| 475 | + -- 初始化 | ||
| 476 | + if notDb then | ||
| 477 | + self.battle:newBattle() | ||
| 478 | + end | ||
| 471 | end | 479 | end | 
| 472 | 480 | ||
| 473 | function Adv:triggerPassive(condType, params) | 481 | function Adv:triggerPassive(condType, params) | 
| @@ -1029,7 +1037,7 @@ function Adv:useItem(itemId, count, target) | @@ -1029,7 +1037,7 @@ function Adv:useItem(itemId, count, target) | ||
| 1029 | if itemData["function"] == 0 or itemData["function"] == 2 then count = 1 end | 1037 | if itemData["function"] == 0 or itemData["function"] == 2 then count = 1 end | 
| 1030 | 1038 | ||
| 1031 | if itemId == 5020 then | 1039 | if itemId == 5020 then | 
| 1032 | - role:finishGuide(53) | 1040 | + self.owner:finishGuide(53) | 
| 1033 | end | 1041 | end | 
| 1034 | 1042 | ||
| 1035 | self:checkAchievement(self.AchievType.UseItem, count, itemId) | 1043 | self:checkAchievement(self.AchievType.UseItem, count, itemId) | 
| @@ -1084,7 +1092,9 @@ local function clickOut(self, room, block, params, isExit) | @@ -1084,7 +1092,9 @@ local function clickOut(self, room, block, params, isExit) | ||
| 1084 | end | 1092 | end | 
| 1085 | 1093 | ||
| 1086 | if #self.mapStack > 1 then -- 处于夹层中 | 1094 | if #self.mapStack > 1 then -- 处于夹层中 | 
| 1095 | + local oldMapIdx = self:getCurMapIdx() | ||
| 1087 | table.remove(self.mapStack) --退出夹层 | 1096 | table.remove(self.mapStack) --退出夹层 | 
| 1097 | + self.battle:iLayerChange(oldMapIdx) | ||
| 1088 | self:backLayer(-1) | 1098 | self:backLayer(-1) | 
| 1089 | else --处于底层 | 1099 | else --处于底层 | 
| 1090 | 1100 | ||
| @@ -1119,7 +1129,6 @@ local function clickOut(self, room, block, params, isExit) | @@ -1119,7 +1129,6 @@ local function clickOut(self, room, block, params, isExit) | ||
| 1119 | end | 1129 | end | 
| 1120 | local isHaveRelay = self:isHaveRelay(self.level) | 1130 | local isHaveRelay = self:isHaveRelay(self.level) | 
| 1121 | 1131 | ||
| 1122 | - self.owner:getProperty("advTeam").player = self.battle.player:getDB() -- 临时缓存住 battle 的player | ||
| 1123 | if isHaveRelay and not self.isRelay then | 1132 | if isHaveRelay and not self.isRelay then | 
| 1124 | self:initByChapter({ | 1133 | self:initByChapter({ | 
| 1125 | chapterId = self.chapterId, | 1134 | chapterId = self.chapterId, | 
| @@ -1562,6 +1571,7 @@ local function clickClick(self, room, block, params) | @@ -1562,6 +1571,7 @@ local function clickClick(self, room, block, params) | ||
| 1562 | end | 1571 | end | 
| 1563 | 1572 | ||
| 1564 | local function clickLayer(self, room, block, params) | 1573 | local function clickLayer(self, room, block, params) | 
| 1574 | + local oldMapIdx = self:getCurMapIdx() | ||
| 1565 | if block.event.mapIdx then | 1575 | if block.event.mapIdx then | 
| 1566 | table.insert(self.mapStack, block.event.mapIdx) --进入夹层 | 1576 | table.insert(self.mapStack, block.event.mapIdx) --进入夹层 | 
| 1567 | else | 1577 | else | 
| @@ -1577,6 +1587,7 @@ local function clickLayer(self, room, block, params) | @@ -1577,6 +1587,7 @@ local function clickLayer(self, room, block, params) | ||
| 1577 | self.maps[mapIdx]:initBattleAfter() | 1587 | self.maps[mapIdx]:initBattleAfter() | 
| 1578 | self:checkAchievement(Adv.AchievType.EnterILayer, 1, mapId) | 1588 | self:checkAchievement(Adv.AchievType.EnterILayer, 1, mapId) | 
| 1579 | end | 1589 | end | 
| 1590 | + self.battle:iLayerChange(oldMapIdx) | ||
| 1580 | self:backLayer(1) | 1591 | self:backLayer(1) | 
| 1581 | return true | 1592 | return true | 
| 1582 | end | 1593 | end | 
| @@ -2101,21 +2112,11 @@ function Adv:scoreChange(scoreType, score) | @@ -2101,21 +2112,11 @@ function Adv:scoreChange(scoreType, score) | ||
| 2101 | end | 2112 | end | 
| 2102 | 2113 | ||
| 2103 | function Adv:getScore() | 2114 | function Adv:getScore() | 
| 2104 | - self.score[AdvScoreType.Level] = math.floor(self.score[AdvScoreType.Level] or 0) | ||
| 2105 | - self.score[AdvScoreType.Task] = math.floor(self.score[AdvScoreType.Task] or 0) | ||
| 2106 | - self.score[AdvScoreType.Kill] = math.floor(self.score[AdvScoreType.Kill] or 0) | ||
| 2107 | - self.score[AdvScoreType.KillBoss] = math.floor(self.score[AdvScoreType.KillBoss] or 0) | ||
| 2108 | - self.score[AdvScoreType.ItemBack] = math.floor(self.score[AdvScoreType.ItemBack] or 0) | ||
| 2109 | - self.score[AdvScoreType.Event] = math.floor(self.score[AdvScoreType.Event] or 0) | ||
| 2110 | - self.score[AdvScoreType.Story] = math.floor(self.score[AdvScoreType.Story] or 0) | ||
| 2111 | - | ||
| 2112 | - return self.score[AdvScoreType.Level] | ||
| 2113 | - + self.score[AdvScoreType.Task] | ||
| 2114 | - + self.score[AdvScoreType.Kill] | ||
| 2115 | - + self.score[AdvScoreType.KillBoss] | ||
| 2116 | - + self.score[AdvScoreType.ItemBack] | ||
| 2117 | - + self.score[AdvScoreType.Event] | ||
| 2118 | - + self.score[AdvScoreType.Story] | 2115 | + local allScore = 0 | 
| 2116 | + for _, score in pairs(self.score) do | ||
| 2117 | + allScore = allScore + math.floor(score) | ||
| 2118 | + end | ||
| 2119 | + return allScore | ||
| 2119 | end | 2120 | end | 
| 2120 | 2121 | ||
| 2121 | function Adv:popBackEvents() | 2122 | function Adv:popBackEvents() | 
src/adv/AdvBattle.lua
| @@ -8,6 +8,7 @@ function Battle:ctor(adv) | @@ -8,6 +8,7 @@ function Battle:ctor(adv) | ||
| 8 | self.isNewPlayer = false | 8 | self.isNewPlayer = false | 
| 9 | self.enemys = {} --怪 | 9 | self.enemys = {} --怪 | 
| 10 | self.builds = {} -- 建筑 | 10 | self.builds = {} -- 建筑 | 
| 11 | + self.auras = {} -- 光环 | ||
| 11 | self.cachePassiveEvent = {} | 12 | self.cachePassiveEvent = {} | 
| 12 | self:initPlayer() | 13 | self:initPlayer() | 
| 13 | self:initEnemys() | 14 | self:initEnemys() | 
| @@ -198,8 +199,10 @@ function Battle:addEnemy(room, block, mapIdx, init) | @@ -198,8 +199,10 @@ function Battle:addEnemy(room, block, mapIdx, init) | ||
| 198 | end | 199 | end | 
| 199 | 200 | ||
| 200 | for _, buff in ipairs(buffs) do | 201 | for _, buff in ipairs(buffs) do | 
| 201 | - enemy:addBuff(buff) | 202 | + player:addBuff(buff) | 
| 202 | end | 203 | end | 
| 204 | + -- 新生成的怪 加上 已有的光环buff | ||
| 205 | + player:checkAuraBuff(self:checkDiffAuraBuff({}, self:getAurasByMap())) | ||
| 203 | end | 206 | end | 
| 204 | end | 207 | end | 
| 205 | return player | 208 | return player | 
| @@ -347,6 +350,8 @@ function Battle:afterRound() | @@ -347,6 +350,8 @@ function Battle:afterRound() | ||
| 347 | 350 | ||
| 348 | self.player:triggerPassive(Passive.AFTER_ROUND) | 351 | self.player:triggerPassive(Passive.AFTER_ROUND) | 
| 349 | 352 | ||
| 353 | + self:checkAura() | ||
| 354 | + | ||
| 350 | if self.player.isDead then | 355 | if self.player.isDead then | 
| 351 | self.adv:over(false, nil, -2) | 356 | self.adv:over(false, nil, -2) | 
| 352 | end | 357 | end | 
| @@ -435,8 +440,116 @@ function Battle:initMapEffect(ilayer) | @@ -435,8 +440,116 @@ function Battle:initMapEffect(ilayer) | ||
| 435 | end | 440 | end | 
| 436 | 441 | ||
| 437 | 442 | ||
| 443 | +-- 夹层 进入退出 接口 清理玩家身上的老光环 添加新的光环 | ||
| 444 | +function Battle:iLayerChange(oldMapIdx) | ||
| 445 | + local auras = self:getActiveAuras() | ||
| 446 | + local playerBuffs = self:checkDiffAuraBuff(self:getAurasByMap(oldMapIdx), auras) | ||
| 447 | + local enemyBuffs = self:checkDiffAuraBuff(self:getAurasByMap(), auras) | ||
| 448 | + self.player:checkAuraBuff(playerBuffs) | ||
| 449 | + for _, enemy in pairs(self.player:getTeam(2)) do | ||
| 450 | + enemy:checkAuraBuff(enemyBuffs) | ||
| 451 | + end | ||
| 452 | + self:setMapAuras(auras) | ||
| 453 | +end | ||
| 454 | + | ||
| 455 | +-- 新的 关卡 关闭旧的战斗模块 清理 玩家身上的光环效果 | ||
| 456 | +function Battle:overBattle() | ||
| 457 | + local buffs = self:checkDiffAuraBuff(self:getAurasByMap(), {}) | ||
| 458 | + self.player:checkAuraBuff(buffs) | ||
| 459 | + self.adv.owner:getProperty("advTeam").player = self.player:getDB() -- 临时缓存住 battle 的player | ||
| 460 | +end | ||
| 461 | + | ||
| 462 | +-- 初始化 新的 关卡 | ||
| 463 | +function Battle:newBattle() | ||
| 464 | + local auras = self:getActiveAuras() | ||
| 465 | + local buffs = self:checkDiffAuraBuff({}, auras) | ||
| 466 | + self:setMapAuras(auras) | ||
| 467 | +end | ||
| 468 | + | ||
| 469 | +-- 过了回合 检查光环 | ||
| 470 | +function Battle:checkAura() | ||
| 471 | + local auras = self:getActiveAuras() | ||
| 472 | + local buffs = self:checkDiffAuraBuff(self:getAurasByMap(), auras) | ||
| 473 | + self.player:checkAuraBuff(buffs) | ||
| 474 | + for _, enemy in pairs(self.player:getTeam(2)) do | ||
| 475 | + enemy:checkAuraBuff(buffs) | ||
| 476 | + end | ||
| 477 | + self:setMapAuras(auras) | ||
| 478 | +end | ||
| 479 | + | ||
| 480 | +-- 查找差异buff | ||
| 481 | +function Battle:checkDiffAuraBuff(oldAuras, newAuras) | ||
| 482 | + local auras = {} | ||
| 483 | + for aurasId , count in pairs(oldAuras) do | ||
| 484 | + auras[aurasId] = -count | ||
| 485 | + end | ||
| 486 | + for aurasId , count in pairs(newAuras) do | ||
| 487 | + auras[aurasId] = (auras[aurasId] or 0) + count | ||
| 488 | + end | ||
| 489 | + | ||
| 490 | + local buffs = {} | ||
| 491 | + for aurasId , count in pairs(auras) do | ||
| 492 | + local auraData = csvdb["adv_map_haloCsv"][aurasId] | ||
| 493 | + if auraData then | ||
| 494 | + for _, effect in ipairs(auraData.effect:toTableArray(true)) do | ||
| 495 | + temp = buffs | ||
| 496 | + for i = 1, #effect do | ||
| 497 | + temp[effect[i]] = temp[effect[i]] or {} | ||
| 498 | + temp = temp[effect[i]] | ||
| 499 | + end | ||
| 500 | + temp.count = (temp.count or 0) + count | ||
| 501 | + if newAuras[aurasId] then | ||
| 502 | + -- 加上 未消失标记 | ||
| 503 | + temp.exist = true | ||
| 504 | + end | ||
| 505 | + end | ||
| 506 | + end | ||
| 507 | + end | ||
| 508 | + return buffs | ||
| 509 | +end | ||
| 510 | + | ||
| 511 | +-- 获取所有生效的 光环 | ||
| 512 | +function Battle:getActiveAuras() | ||
| 513 | + local auras = {} | ||
| 514 | + for _, one in pairs(self.player:getAuras()) do | ||
| 515 | + auras[one] = (auras[one] or 0) + 1 | ||
| 516 | + end | ||
| 517 | + for _, enemy in pairs(self.player:getTeam(2)) do | ||
| 518 | + for _, one in pairs(enemy:getAuras()) do | ||
| 519 | + auras[one] = (auras[one] or 0) + 1 | ||
| 520 | + end | ||
| 521 | + end | ||
| 522 | + for _, build in pairs(self:getBuilds()) do | ||
| 523 | + for _, one in pairs(build:getAuras()) do | ||
| 524 | + auras[one] = (auras[one] or 0) + 1 | ||
| 525 | + end | ||
| 526 | + end | ||
| 527 | + return auras | ||
| 528 | +end | ||
| 529 | + | ||
| 530 | +function Battle:setMapAuras(auras) | ||
| 531 | + self.auras[self.adv:getCurMapIdx()] = auras | ||
| 532 | +end | ||
| 533 | + | ||
| 534 | +function Battle:getAurasByMap(mapIdx) | ||
| 535 | + mapIdx = mapIdx or self.adv:getCurMapIdx() | ||
| 536 | + local auras = self.auras[mapIdx] or {} | ||
| 537 | + return auras | ||
| 538 | +end | ||
| 539 | + | ||
| 540 | +function Battle:getBuilds() | ||
| 541 | + local team = {} | ||
| 542 | + for _, build in pairs(self.builds[self.adv:getCurMapIdx()]) do | ||
| 543 | + if not build.isDead and not build.lock then -- 已经翻开的 | ||
| 544 | + table.insert(team, build) | ||
| 545 | + end | ||
| 546 | + end | ||
| 547 | + return team | ||
| 548 | +end | ||
| 549 | + | ||
| 550 | + | ||
| 438 | --写入数据 | 551 | --写入数据 | 
| 439 | -function Battle:saveDB() | 552 | +function Battle:saveDB(advInfo) | 
| 440 | for idx, mapEnemys in pairs(self.enemys) do | 553 | for idx, mapEnemys in pairs(self.enemys) do | 
| 441 | for _, enemy in ipairs(mapEnemys) do | 554 | for _, enemy in ipairs(mapEnemys) do | 
| 442 | local block = self.adv:getBlock(enemy.roomId, enemy.blockId, idx) | 555 | local block = self.adv:getBlock(enemy.roomId, enemy.blockId, idx) | 
| @@ -453,6 +566,7 @@ function Battle:saveDB() | @@ -453,6 +566,7 @@ function Battle:saveDB() | ||
| 453 | end | 566 | end | 
| 454 | end | 567 | end | 
| 455 | end | 568 | end | 
| 569 | + advInfo.auras = self.auras | ||
| 456 | end | 570 | end | 
| 457 | 571 | ||
| 458 | return Battle | 572 | return Battle | 
| 459 | \ No newline at end of file | 573 | \ No newline at end of file | 
src/adv/AdvBlock.lua
| @@ -70,7 +70,7 @@ function Block:updateEvent(event, isInit) | @@ -70,7 +70,7 @@ function Block:updateEvent(event, isInit) | ||
| 70 | em[oldet] =1 | 70 | em[oldet] =1 | 
| 71 | end | 71 | end | 
| 72 | if newet then | 72 | if newet then | 
| 73 | - em[oldet] =1 | 73 | + em[newet] =1 | 
| 74 | end | 74 | end | 
| 75 | 75 | ||
| 76 | local player = self.room.map.adv.battle.player | 76 | local player = self.room.map.adv.battle.player | 
src/adv/AdvBuff.lua
| @@ -460,7 +460,18 @@ function Buff:initNew(release, data) | @@ -460,7 +460,18 @@ function Buff:initNew(release, data) | ||
| 460 | end | 460 | end | 
| 461 | end | 461 | end | 
| 462 | 462 | ||
| 463 | -function Buff:createAfter() | 463 | +function Buff:createAfter(layer) | 
| 464 | + layer = layer or 1 | ||
| 465 | + local otype, maxLayer = self:getOverlay() | ||
| 466 | + if otype then | ||
| 467 | + self.layer = layer | ||
| 468 | + if maxLayer ~= 0 then | ||
| 469 | + self.layer = math.min(maxLayer, self.layer) | ||
| 470 | + end | ||
| 471 | + else | ||
| 472 | + self.layer = 1 | ||
| 473 | + end | ||
| 474 | + | ||
| 464 | if self._init then | 475 | if self._init then | 
| 465 | self:_init() | 476 | self:_init() | 
| 466 | end | 477 | end | 
| @@ -647,12 +658,13 @@ function Buff:getOverlay() | @@ -647,12 +658,13 @@ function Buff:getOverlay() | ||
| 647 | end | 658 | end | 
| 648 | 659 | ||
| 649 | -- 叠加 | 660 | -- 叠加 | 
| 650 | -function Buff:overlay(releaser, data) | 661 | +function Buff:overlay(releaser, data, layer) | 
| 651 | local otype, maxLayer = self:getOverlay() | 662 | local otype, maxLayer = self:getOverlay() | 
| 652 | if self.isDel or not otype then -- 新获得的 (不可叠加相当于新获得的) | 663 | if self.isDel or not otype then -- 新获得的 (不可叠加相当于新获得的) | 
| 653 | - self.isDel = false | ||
| 654 | self:endBuff() | 664 | self:endBuff() | 
| 665 | + self.isDel = false | ||
| 655 | self:initNew(releaser, data) | 666 | self:initNew(releaser, data) | 
| 667 | + self:createAfter(layer) | ||
| 656 | else | 668 | else | 
| 657 | -- 重置回合 次数 | 669 | -- 重置回合 次数 | 
| 658 | self.roundSpace = 0 | 670 | self.roundSpace = 0 | 
| @@ -665,7 +677,7 @@ function Buff:overlay(releaser, data) | @@ -665,7 +677,7 @@ function Buff:overlay(releaser, data) | ||
| 665 | 677 | ||
| 666 | self.release = releaser or self.release | 678 | self.release = releaser or self.release | 
| 667 | -- 叠加层数 | 679 | -- 叠加层数 | 
| 668 | - self.layer = self.layer + 1 | 680 | + self.layer = self.layer + layer | 
| 669 | if maxLayer ~= 0 then | 681 | if maxLayer ~= 0 then | 
| 670 | self.layer = math.min(maxLayer, self.layer) | 682 | self.layer = math.min(maxLayer, self.layer) | 
| 671 | end | 683 | end | 
| @@ -676,14 +688,32 @@ function Buff:overlay(releaser, data) | @@ -676,14 +688,32 @@ function Buff:overlay(releaser, data) | ||
| 676 | end | 688 | end | 
| 677 | 689 | ||
| 678 | -- 扣减层数 | 690 | -- 扣减层数 | 
| 679 | -function Buff:uncover() | ||
| 680 | - if self.layer <= 1 then | 691 | +function Buff:uncover(layer, isAura) | 
| 692 | + layer = layer or 1 | ||
| 693 | + local oldLayer = self.layer | ||
| 694 | + | ||
| 695 | + self.layer = self.layer - layer | ||
| 696 | + | ||
| 697 | + if self.layer <= 0 then | ||
| 681 | self.isDel = true | 698 | self.isDel = true | 
| 682 | end | 699 | end | 
| 683 | 700 | ||
| 684 | - self.layer = self.layer - 1 | ||
| 685 | - if self._uncover then | ||
| 686 | - self:_uncover() | 701 | + if isAura then | 
| 702 | + if layer == -1 then | ||
| 703 | + self.layer = 0 | ||
| 704 | + self.isDel = true | ||
| 705 | + else | ||
| 706 | + self.layer = math.max(1, self.layer) | ||
| 707 | + self.isDel = false | ||
| 708 | + end | ||
| 709 | + end | ||
| 710 | + | ||
| 711 | + if self.isDel then return end | ||
| 712 | + | ||
| 713 | + if oldLayer ~= self.layer then | ||
| 714 | + if self._uncover then | ||
| 715 | + self:_uncover() | ||
| 716 | + end | ||
| 687 | end | 717 | end | 
| 688 | end | 718 | end | 
| 689 | 719 | 
src/adv/AdvPlayer.lua
| @@ -143,7 +143,8 @@ function BaseObject:getDisablePassiveCount() | @@ -143,7 +143,8 @@ function BaseObject:getDisablePassiveCount() | ||
| 143 | return count | 143 | return count | 
| 144 | end | 144 | end | 
| 145 | 145 | ||
| 146 | -function BaseObject:addBuff(buffId, releaser) | 146 | +function BaseObject:addBuff(buffId, releaser, layer) | 
| 147 | + layer = layer or 1 | ||
| 147 | local buffData = csvdb["adv_map_buffCsv"][buffId] | 148 | local buffData = csvdb["adv_map_buffCsv"][buffId] | 
| 148 | if not buffData then return end | 149 | if not buffData then return end | 
| 149 | for _, buff in ipairs(self.buffs) do | 150 | for _, buff in ipairs(self.buffs) do | 
| @@ -157,7 +158,7 @@ function BaseObject:addBuff(buffId, releaser) | @@ -157,7 +158,7 @@ function BaseObject:addBuff(buffId, releaser) | ||
| 157 | local oldBuff = self:getBuffById(buffId) | 158 | local oldBuff = self:getBuffById(buffId) | 
| 158 | if oldBuff then | 159 | if oldBuff then | 
| 159 | if not oldBuff:checkKeep() then return end | 160 | if not oldBuff:checkKeep() then return end | 
| 160 | - oldBuff:overlay(releaser, {}) -- 叠加 | 161 | + oldBuff:overlay(releaser, {}, layer) -- 叠加 | 
| 161 | else | 162 | else | 
| 162 | -- 不能保持的buff 也加不上去 | 163 | -- 不能保持的buff 也加不上去 | 
| 163 | if not Buff.checkKeep({ | 164 | if not Buff.checkKeep({ | 
| @@ -167,7 +168,7 @@ function BaseObject:addBuff(buffId, releaser) | @@ -167,7 +168,7 @@ function BaseObject:addBuff(buffId, releaser) | ||
| 167 | }) then return end | 168 | }) then return end | 
| 168 | local buff = Buff.create(self, releaser, {id = buffId}) | 169 | local buff = Buff.create(self, releaser, {id = buffId}) | 
| 169 | table.insert(self.buffs, buff) | 170 | table.insert(self.buffs, buff) | 
| 170 | - buff:createAfter() | 171 | + buff:createAfter(layer) | 
| 171 | end | 172 | end | 
| 172 | self:triggerPassive(Passive.GET_BUFF, {trigger = releaser, buffId = buffId}) | 173 | self:triggerPassive(Passive.GET_BUFF, {trigger = releaser, buffId = buffId}) | 
| 173 | self:triggerPassive(Passive.PLAYER_BUFF_CLASSIFY, {trigger = releaser, classify = buffData.classify}) | 174 | self:triggerPassive(Passive.PLAYER_BUFF_CLASSIFY, {trigger = releaser, classify = buffData.classify}) | 
| @@ -224,6 +225,30 @@ end | @@ -224,6 +225,30 @@ end | ||
| 224 | function BaseObject:reSetSpMax() | 225 | function BaseObject:reSetSpMax() | 
| 225 | end | 226 | end | 
| 226 | 227 | ||
| 228 | +function BaseObject:checkAuraBuff(buffs) | ||
| 229 | +end | ||
| 230 | + | ||
| 231 | +function BaseObject:getAuras() | ||
| 232 | + local auras = {} | ||
| 233 | + if self:is("Enemy") then | ||
| 234 | + local halo = csvdb["event_monsterCsv"][self.monsterId].halo | ||
| 235 | + if halo then | ||
| 236 | + for _, one in ipairs(halo:toArray(true, "=")) do | ||
| 237 | + table.insert(auras, one) | ||
| 238 | + end | ||
| 239 | + end | ||
| 240 | + elseif self:is("Build") then | ||
| 241 | + local halo = csvdb["event_buildingCsv"][self.id].halo | ||
| 242 | + if halo then | ||
| 243 | + for _, one in ipairs(halo:toArray(true, "=")) do | ||
| 244 | + table.insert(auras, one) | ||
| 245 | + end | ||
| 246 | + end | ||
| 247 | + end | ||
| 248 | + | ||
| 249 | + return auras | ||
| 250 | +end | ||
| 251 | + | ||
| 227 | 252 | ||
| 228 | -- 通用的buff 效果汇总 -- 0 固定 1百分比 两种分类 | 253 | -- 通用的buff 效果汇总 -- 0 固定 1百分比 两种分类 | 
| 229 | function BaseObject:getCommonBuffEffect(bType, otherCond) | 254 | function BaseObject:getCommonBuffEffect(bType, otherCond) | 
| @@ -625,6 +650,33 @@ function Enemy:getClassify() | @@ -625,6 +650,33 @@ function Enemy:getClassify() | ||
| 625 | return csvdb["event_monsterCsv"][self.monsterId].classify | 650 | return csvdb["event_monsterCsv"][self.monsterId].classify | 
| 626 | end | 651 | end | 
| 627 | 652 | ||
| 653 | +-- 0=所有 1=怪物 2=玩家 | ||
| 654 | +function Enemy:checkAuraBuff(buffs) | ||
| 655 | + local needBuffs = {} | ||
| 656 | + | ||
| 657 | + for buffId, info in pairs(buffs[0] or {}) do | ||
| 658 | + needBuffs[buffId] = needBuffs[buffId] or {} | ||
| 659 | + needBuffs[buffId].count = (needBuffs[buffId].count or 0) + info.count | ||
| 660 | + needBuffs[buffId].exist = info.exist | ||
| 661 | + end | ||
| 662 | + | ||
| 663 | + for buffId, info in pairs(buffs[1] or {}) do | ||
| 664 | + needBuffs[buffId] = needBuffs[buffId] or {} | ||
| 665 | + needBuffs[buffId].count = (needBuffs[buffId].count or 0) + info.count | ||
| 666 | + needBuffs[buffId].exist = info.exist | ||
| 667 | + end | ||
| 668 | + | ||
| 669 | + for buffId, info in pairs(needBuffs) do | ||
| 670 | + if info.count < 0 then | ||
| 671 | + local buff = self:getBuffById(buffId) | ||
| 672 | + if buff then | ||
| 673 | + buff:uncover(info.exist and -info.count or -1, true) | ||
| 674 | + end | ||
| 675 | + elseif count > 0 then | ||
| 676 | + self:addBuff(buffId, nil, info.count) | ||
| 677 | + end | ||
| 678 | + end | ||
| 679 | +end | ||
| 628 | 680 | ||
| 629 | function Enemy:kill() | 681 | function Enemy:kill() | 
| 630 | self:hurt(self.hp, self.battle.player, {hurtType = 5}) | 682 | self:hurt(self.hp, self.battle.player, {hurtType = 5}) | 
| @@ -775,6 +827,33 @@ function Player:addBuff(buffId, releaser) | @@ -775,6 +827,33 @@ function Player:addBuff(buffId, releaser) | ||
| 775 | end | 827 | end | 
| 776 | return status | 828 | return status | 
| 777 | end | 829 | end | 
| 830 | +-- 0=所有 1=怪物 2=玩家 | ||
| 831 | +function Player:checkAuraBuff(buffs) | ||
| 832 | + local needBuffs = {} | ||
| 833 | + | ||
| 834 | + for buffId, info in pairs(buffs[0] or {}) do | ||
| 835 | + needBuffs[buffId] = needBuffs[buffId] or {} | ||
| 836 | + needBuffs[buffId].count = (needBuffs[buffId].count or 0) + info.count | ||
| 837 | + needBuffs[buffId].exist = info.exist | ||
| 838 | + end | ||
| 839 | + | ||
| 840 | + for buffId, info in pairs(buffs[2] or {}) do | ||
| 841 | + needBuffs[buffId] = needBuffs[buffId] or {} | ||
| 842 | + needBuffs[buffId].count = (needBuffs[buffId].count or 0) + info.count | ||
| 843 | + needBuffs[buffId].exist = info.exist | ||
| 844 | + end | ||
| 845 | + | ||
| 846 | + for buffId, info in pairs(needBuffs) do | ||
| 847 | + if info.count < 0 then | ||
| 848 | + local buff = self:getBuffById(buffId) | ||
| 849 | + if buff then | ||
| 850 | + buff:uncover(info.exist and -info.count or -1, true) | ||
| 851 | + end | ||
| 852 | + elseif info.count > 0 then | ||
| 853 | + self:addBuff(buffId, nil, info.count) | ||
| 854 | + end | ||
| 855 | + end | ||
| 856 | +end | ||
| 778 | 857 | ||
| 779 | function Player:isPlayer() | 858 | function Player:isPlayer() | 
| 780 | return true | 859 | return true | 
src/models/Role.lua
| @@ -103,7 +103,6 @@ Role.schema = { | @@ -103,7 +103,6 @@ Role.schema = { | ||
| 103 | --挂机相关 | 103 | --挂机相关 | 
| 104 | hangPass = {"table", {}}, -- 挂机通过的最大关卡 | 104 | hangPass = {"table", {}}, -- 挂机通过的最大关卡 | 
| 105 | hangGift = {"table", {}}, -- 挂机奖励 {id = 1} | 105 | hangGift = {"table", {}}, -- 挂机奖励 {id = 1} | 
| 106 | - hangTeam = {"table", {}}, -- 挂机队伍 | ||
| 107 | hangTS = {"table", {}}, -- 挂机队伍他人可读的队伍信息 | 106 | hangTS = {"table", {}}, -- 挂机队伍他人可读的队伍信息 | 
| 108 | hangTB = {"table", {}}, -- 挂机队伍他人可用的战斗信息mao | 107 | hangTB = {"table", {}}, -- 挂机队伍他人可用的战斗信息mao | 
| 109 | hangTBV = {"number", 0}, -- 挂机队伍他人可用的战斗力 | 108 | hangTBV = {"number", 0}, -- 挂机队伍他人可用的战斗力 | 
| @@ -111,7 +110,6 @@ Role.schema = { | @@ -111,7 +110,6 @@ Role.schema = { | ||
| 111 | hangInfo = {"table", {}}, -- 当前挂机信息 | 110 | hangInfo = {"table", {}}, -- 当前挂机信息 | 
| 112 | hangBag = {"table", {}}, -- 背包 | 111 | hangBag = {"table", {}}, -- 背包 | 
| 113 | hangBagLimit = {"number", globalCsv.idle_field_origin}, --背包上限 | 112 | hangBagLimit = {"number", globalCsv.idle_field_origin}, --背包上限 | 
| 114 | - bTeam = {"table", {}}, -- 奖励副本队伍 | ||
| 115 | hangTeams = {"table", {}}, -- pve自选编队 | 113 | hangTeams = {"table", {}}, -- pve自选编队 | 
| 116 | teamIndex = {"table", {}}, -- 各个系统使用的编队索引 type->index 见TeamSystemType | 114 | teamIndex = {"table", {}}, -- 各个系统使用的编队索引 type->index 见TeamSystemType | 
| 117 | advTeams = {"table", {}}, -- 拾荒自选编队 | 115 | advTeams = {"table", {}}, -- 拾荒自选编队 | 
| @@ -145,7 +143,6 @@ Role.schema = { | @@ -145,7 +143,6 @@ Role.schema = { | ||
| 145 | boxL = {"table", {}}, -- boxList 正开启的箱子 -- {[1] = {id = 1010, gem = 101, time = 1313}} | 143 | boxL = {"table", {}}, -- boxList 正开启的箱子 -- {[1] = {id = 1010, gem = 101, time = 1313}} | 
| 146 | 144 | ||
| 147 | towerInfo = {"table", {c = globalCsv.tower_count_limit, l = 1}}, -- 当天爬塔消耗的次数 -- {t = time, c = count, l = layer, k = battleKey} | 145 | towerInfo = {"table", {c = globalCsv.tower_count_limit, l = 1}}, -- 当天爬塔消耗的次数 -- {t = time, c = count, l = layer, k = battleKey} | 
| 148 | - towerF = {"table", {}}, -- 爬塔阵容 | ||
| 149 | 146 | ||
| 150 | spTask = {"table", {}}, -- 特殊任务 -- {id = status} | 147 | spTask = {"table", {}}, -- 特殊任务 -- {id = status} | 
| 151 | 148 | ||
| @@ -357,11 +354,9 @@ function Role:data() | @@ -357,11 +354,9 @@ function Role:data() | ||
| 357 | 354 | ||
| 358 | hangPass = self:getProperty("hangPass"), | 355 | hangPass = self:getProperty("hangPass"), | 
| 359 | hangGift = self:getProperty("hangGift"), | 356 | hangGift = self:getProperty("hangGift"), | 
| 360 | - hangTeam = self:getProperty("hangTeam"), | ||
| 361 | hangInfo = self:getProperty("hangInfo"), | 357 | hangInfo = self:getProperty("hangInfo"), | 
| 362 | hangBag = self:getProperty("hangBag"), | 358 | hangBag = self:getProperty("hangBag"), | 
| 363 | hangBagLimit = self:getProperty("hangBagLimit"), | 359 | hangBagLimit = self:getProperty("hangBagLimit"), | 
| 364 | - bTeam = self:getProperty("bTeam"), | ||
| 365 | hangTeams = self:getProperty("hangTeams"), | 360 | hangTeams = self:getProperty("hangTeams"), | 
| 366 | teamIndex = self:getProperty("teamIndex"), | 361 | teamIndex = self:getProperty("teamIndex"), | 
| 367 | advTeams = self:getProperty("advTeams"), | 362 | advTeams = self:getProperty("advTeams"), | 
| @@ -380,7 +375,6 @@ function Role:data() | @@ -380,7 +375,6 @@ function Role:data() | ||
| 380 | equips = self:getProperty("equips"), | 375 | equips = self:getProperty("equips"), | 
| 381 | boxL = self:getProperty("boxL"), | 376 | boxL = self:getProperty("boxL"), | 
| 382 | towerInfo = self:getProperty("towerInfo"), | 377 | towerInfo = self:getProperty("towerInfo"), | 
| 383 | - towerF = self:getProperty("towerF"), | ||
| 384 | spTask = self:getProperty("spTask"), | 378 | spTask = self:getProperty("spTask"), | 
| 385 | dTask = self:getProperty("dTask"), | 379 | dTask = self:getProperty("dTask"), | 
| 386 | wTask = self:getProperty("wTask"), | 380 | wTask = self:getProperty("wTask"), | 
src/models/RoleBattle.lua
| @@ -57,7 +57,6 @@ function Role:checkBattle(battleType, params) | @@ -57,7 +57,6 @@ function Role:checkBattle(battleType, params) | ||
| 57 | end | 57 | end | 
| 58 | end, | 58 | end, | 
| 59 | tower = function() | 59 | tower = function() | 
| 60 | - --local towerF = self:getProperty("towerF") | ||
| 61 | local towerF = self:getTeamFormatByType(TeamSystemType.Tower) | 60 | local towerF = self:getTeamFormatByType(TeamSystemType.Tower) | 
| 62 | for slot, hero in pairs(self:getTeamHerosInfo(towerF.heros)) do | 61 | for slot, hero in pairs(self:getTeamHerosInfo(towerF.heros)) do | 
| 63 | selflist[slot] = hero.type | 62 | selflist[slot] = hero.type | 
| @@ -73,7 +72,6 @@ function Role:checkBattle(battleType, params) | @@ -73,7 +72,6 @@ function Role:checkBattle(battleType, params) | ||
| 73 | end | 72 | end | 
| 74 | end, | 73 | end, | 
| 75 | bonus = function() | 74 | bonus = function() | 
| 76 | - --local bTeam = self:getProperty("bTeam") | ||
| 77 | local bTeam = self:getTeamFormatByType(TeamSystemType.BonusBattle) | 75 | local bTeam = self:getTeamFormatByType(TeamSystemType.BonusBattle) | 
| 78 | for slot, hero in pairs(self:getTeamHerosInfo(bTeam.heros)) do | 76 | for slot, hero in pairs(self:getTeamHerosInfo(bTeam.heros)) do | 
| 79 | selflist[slot] = hero.type | 77 | selflist[slot] = hero.type | 
src/models/RolePlugin.lua
| @@ -1135,7 +1135,6 @@ function RolePlugin.bind(Role) | @@ -1135,7 +1135,6 @@ function RolePlugin.bind(Role) | ||
| 1135 | local now = skynet.timex() | 1135 | local now = skynet.timex() | 
| 1136 | local ct = math.ceil((now - StdTowerRankTime) / 86400) --按天计算 365 * 27 < 10000 可以维持 27 年 | 1136 | local ct = math.ceil((now - StdTowerRankTime) / 86400) --按天计算 365 * 27 < 10000 可以维持 27 年 | 
| 1137 | local ct = 10000 - ct -- 越早的排名越靠前 | 1137 | local ct = 10000 - ct -- 越早的排名越靠前 | 
| 1138 | - --local towerTeam = self:getProperty("towerF") | ||
| 1139 | local towerTeam = self:getTeamFormatByType(TeamSystemType.Tower) | 1138 | local towerTeam = self:getTeamFormatByType(TeamSystemType.Tower) | 
| 1140 | local battleV = self:getTeamBattleValue(towerTeam.heros) | 1139 | local battleV = self:getTeamBattleValue(towerTeam.heros) | 
| 1141 | local score = (level * 10000 + ct) * 10000000 + battleV | 1140 | local score = (level * 10000 + ct) * 10000000 + battleV | 
| @@ -1289,6 +1288,7 @@ function RolePlugin.bind(Role) | @@ -1289,6 +1288,7 @@ function RolePlugin.bind(Role) | ||
| 1289 | for slot, id in pairs(team.supports or {}) do | 1288 | for slot, id in pairs(team.supports or {}) do | 
| 1290 | teamInfo.supports[slot] = {id, self.dinerData:getProperty("dishTree"):getv(id, 0)} | 1289 | teamInfo.supports[slot] = {id, self.dinerData:getProperty("dishTree"):getv(id, 0)} | 
| 1291 | end | 1290 | end | 
| 1291 | + teamInfo.tactics = globalCsv.tactics_skill_passive_cell[team.tactics] and team.tactics or nil | ||
| 1292 | return teamInfo | 1292 | return teamInfo | 
| 1293 | end | 1293 | end | 
| 1294 | 1294 | ||
| @@ -1315,20 +1315,6 @@ function RolePlugin.bind(Role) | @@ -1315,20 +1315,6 @@ function RolePlugin.bind(Role) | ||
| 1315 | return self:getRealBattleValue(heros) | 1315 | return self:getRealBattleValue(heros) | 
| 1316 | end | 1316 | end | 
| 1317 | 1317 | ||
| 1318 | - -- 不传参数 只修改保存的阵容信息 | ||
| 1319 | - function Role:saveHangTeam(team) | ||
| 1320 | - if not team then | ||
| 1321 | - team = self:getProperty("hangTeam") | ||
| 1322 | - else | ||
| 1323 | - self:updateProperty({field = "hangTeam", value = team}) | ||
| 1324 | - end | ||
| 1325 | - self:setProperties({ | ||
| 1326 | - hangTS = self:getTeamHerosInfo(team.heros), | ||
| 1327 | - hangTB = self:getTeamBattleInfo(team), | ||
| 1328 | - hangTBV = self:getTeamBattleValue(team.heros), | ||
| 1329 | - }) | ||
| 1330 | - end | ||
| 1331 | - | ||
| 1332 | function Role:updateHangTeamInfo() | 1318 | function Role:updateHangTeamInfo() | 
| 1333 | local team = self:getTeamFormatByType(TeamSystemType.Hang) | 1319 | local team = self:getTeamFormatByType(TeamSystemType.Hang) | 
| 1334 | if not team then return end | 1320 | if not team then return end |