Commit f52efe51df9a462094f2c31748f48e555df3c85a
1 parent
922ce27a
符文升级
Showing
2 changed files
with
24 additions
and
2 deletions
Show diff stats
src/actions/CarAction.lua
... | ... | @@ -103,7 +103,7 @@ function _M.runeUpRpc( agent, data ) |
103 | 103 | local uid = msg.uid |
104 | 104 | local ownRune = role.runeBag[uid] |
105 | 105 | if not ownRune then return 1 end |
106 | - if ownRune:getProperty("refer") ~= 0 then return 2 end | |
106 | + | |
107 | 107 | |
108 | 108 | local typ = ownRune:getProperty("type") |
109 | 109 | local id = ownRune:getProperty("id") |
... | ... | @@ -126,6 +126,12 @@ function _M.runeUpRpc( agent, data ) |
126 | 126 | ownRune:updateProperty({field = "level",value = level+1}) |
127 | 127 | role:checkTaskEnter("RuneUp") |
128 | 128 | |
129 | + if ownRune:getProperty("refer") ~= 0 then | |
130 | + local hero = role.heros[ownRune:getProperty("refer")] | |
131 | + if hero then | |
132 | + hero:updateProperty({field = "battleV", value = hero:getBattleValue()}) | |
133 | + end | |
134 | + end | |
129 | 135 | ownRune:log({desc = "runeUp", int1 = level + 1}) |
130 | 136 | |
131 | 137 | SendPacket(actionCodes.Car_runeUpRpc, '') | ... | ... |
src/actions/HeroAction.lua
... | ... | @@ -536,13 +536,29 @@ function _M.referRunesRpc(agent, data) |
536 | 536 | local runes = msg.runes |
537 | 537 | if not runes or not next(runes) then return 11 end |
538 | 538 | |
539 | + local used = {} | |
539 | 540 | for typ = 1, 6 do |
540 | 541 | if runes[typ] and runes[typ] ~= 0 then |
541 | 542 | local ownRune = role.runeBag[runes[typ]] |
542 | 543 | if not ownRune then return end |
543 | - if ownRune:getProperty("refer") ~= 0 then return end | |
544 | + if ownRune:getProperty("refer") ~= 0 then | |
545 | + used[ownRune:getProperty("refer")] = used[ownRune:getProperty("refer")] or {} | |
546 | + used[ownRune:getProperty("refer")][runes[typ]] = 1 | |
547 | + end | |
548 | + end | |
549 | + end | |
550 | + | |
551 | + for cheroId, cIds in pairs(used) do | |
552 | + local chero = role.heros[cheroId] | |
553 | + local hrunes = chero:getProperty("rune") | |
554 | + for slot, rId in pairs(hrunes:toNumMap()) do | |
555 | + if cIds[rId] then | |
556 | + hrunes = hrunes:delk(slot) | |
557 | + end | |
544 | 558 | end |
559 | + chero:updateProperty({field = "rune", value = hrunes}) | |
545 | 560 | end |
561 | + | |
546 | 562 | local curRune = hero:getProperty("rune") |
547 | 563 | for typ = 1, 6 do |
548 | 564 | if runes[typ] then | ... | ... |