Commit bfd33de587a2add46754097fe37d278c6afdbf1f
1 parent
8781e103
้้ฟๆ
Showing
2 changed files
with
20 additions
and
5 deletions
Show diff stats
src/actions/AdvAction.lua
... | ... | @@ -37,7 +37,10 @@ local function checkFormat(role, format, checkAdvTeam) |
37 | 37 | end |
38 | 38 | |
39 | 39 | if not format.leader then return end |
40 | + if format.leader2 == format.leader then return end | |
40 | 41 | local hadLeader = false |
42 | + local hadLeader2 = false | |
43 | + local heroCount = 0 | |
41 | 44 | for slot, heroId in pairs(format.heros) do |
42 | 45 | if not role.heros[heroId] or hadHero[heroId] then |
43 | 46 | return |
... | ... | @@ -45,6 +48,13 @@ local function checkFormat(role, format, checkAdvTeam) |
45 | 48 | if heroId == format.leader then |
46 | 49 | hadLeader = true |
47 | 50 | end |
51 | + if heroId == format.leader2 then | |
52 | + hadLeader2 = true | |
53 | + end | |
54 | + heroCount = heroCount + 1 | |
55 | + end | |
56 | + if not hadLeader2 and heroCount >= 2 then | |
57 | + return | |
48 | 58 | end |
49 | 59 | if not hadLeader then return end |
50 | 60 | return true |
... | ... | @@ -104,6 +114,7 @@ function _M.startAdvRpc( agent, data ) |
104 | 114 | advTeam.heros[slot] = heroId |
105 | 115 | end |
106 | 116 | advTeam.leader = format.leader |
117 | + advTeam.leader2 = format.leader2 | |
107 | 118 | role:updateProperty({field = "advTeam", value = advTeam}) |
108 | 119 | if AdvCommon.isEndless(chapterId) then |
109 | 120 | role.dailyData:updateProperty({field = "advElC", delta = 1}) |
... | ... | @@ -148,6 +159,7 @@ function _M.startHangRpc(agent, data) |
148 | 159 | local info = {} |
149 | 160 | info.format = {} |
150 | 161 | info.format.leader = format.leader |
162 | + info.format.leader2 = format.leader2 | |
151 | 163 | info.format.heros = {} |
152 | 164 | for slot, heroId in pairs(format.heros) do |
153 | 165 | info.format.heros[slot] = heroId | ... | ... |
src/adv/AdvBattle.lua
... | ... | @@ -38,6 +38,7 @@ end |
38 | 38 | function Battle:initPlayer() |
39 | 39 | local advTeam = self.adv.owner:getProperty("advTeam") |
40 | 40 | if not next(advTeam.heros) then return end |
41 | + local leaderPassive = {} | |
41 | 42 | local player = advTeam.player |
42 | 43 | if not player then |
43 | 44 | player = {} |
... | ... | @@ -48,11 +49,13 @@ function Battle:initPlayer() |
48 | 49 | player.passives = {} |
49 | 50 | |
50 | 51 | for slot, heroId in pairs(advTeam.heros) do |
51 | - local hero = self.adv.owner.heros[heroId] | |
52 | - if hero then | |
53 | - local advSkillId = csvdb["unitCsv"][self.adv.owner.heros[heroId]:getProperty("type")]["adv"] | |
54 | - if advSkillId > 1000 then | |
55 | - table.insert(player.passives, {id = advSkillId, level = hero:getSkillLevel(4)}) | |
52 | + if heroId == advTeam.leader or heroId == advTeam.leader2 then | |
53 | + local hero = self.adv.owner.heros[heroId] | |
54 | + if hero then | |
55 | + local unit = csvdb["unitCsv"][self.adv.owner.heros[heroId]:getProperty("type")] | |
56 | + if unit.advCaptain ~= 0 then | |
57 | + table.insert(player.passives, {id = unit.advCaptain, level = 1}) | |
58 | + end | |
56 | 59 | end |
57 | 60 | end |
58 | 61 | end | ... | ... |