Commit f52efe51df9a462094f2c31748f48e555df3c85a

Authored by zhouhaihai
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
... ...