Commit a41b9076edc3c510531286f00685898c8aec6736

Authored by zhouhaihai
1 parent 79d6af45

增加羁绊方法

Showing 2 changed files with 29 additions and 0 deletions   Show diff stats
src/adv/AdvBattle.lua
... ... @@ -43,6 +43,8 @@ function Battle:initPlayer()
43 43 end
44 44 end
45 45 end
  46 + local activeRelation = self.adv.owner:getHeroActiveRelation()
  47 + -- todo
46 48 player.hp = hp
47 49 player.atk = tonumber(string.format("%0.0f", player.hp * 0.1)) --todo 系数是临时的
48 50 player.def = 0
... ...
src/models/RolePlugin.lua
... ... @@ -517,6 +517,33 @@ function RolePlugin.bind(Role)
517 517 -- self:log("gmAction",{desc = "heartWarning", count = heartWarning})
518 518 -- end
519 519 end
  520 +
  521 + function Role:getHeroActiveRelation(heros)
  522 + local relations = {}
  523 + for _, id in pairs(heros or {}) do
  524 + local hero = self.heros[id]
  525 + if hero then
  526 + local job = csvdb["unitCsv"][hero:getProperty("type")].job
  527 + relations[job] = (relations[job] or 0) + 1
  528 + end
  529 + end
  530 + if not next(relations) then return {} end
  531 + local result = {}
  532 + for _, data in ipairs(csvdb["unit_relationCsv"]) do
  533 + local ok = true
  534 + for typ, count in pairs(data.relation:toNumMap()) do
  535 + if (relations[typ] or 0) < count then
  536 + ok = false
  537 + end
  538 + end
  539 + if ok then
  540 + for attr, value in pairs(data.effect:toNumMap()) do
  541 + result[AttsEnumEx[attr]] = (result[AttsEnumEx[attr]] or 0) + value
  542 + end
  543 + end
  544 + end
  545 + return result
  546 + end
520 547 end
521 548  
522 549 return RolePlugin
523 550 \ No newline at end of file
... ...