Commit a41b9076edc3c510531286f00685898c8aec6736
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,6 +43,8 @@ function Battle:initPlayer() | ||
43 | end | 43 | end |
44 | end | 44 | end |
45 | end | 45 | end |
46 | + local activeRelation = self.adv.owner:getHeroActiveRelation() | ||
47 | + -- todo | ||
46 | player.hp = hp | 48 | player.hp = hp |
47 | player.atk = tonumber(string.format("%0.0f", player.hp * 0.1)) --todo 系数是临时的 | 49 | player.atk = tonumber(string.format("%0.0f", player.hp * 0.1)) --todo 系数是临时的 |
48 | player.def = 0 | 50 | player.def = 0 |
src/models/RolePlugin.lua
@@ -517,6 +517,33 @@ function RolePlugin.bind(Role) | @@ -517,6 +517,33 @@ function RolePlugin.bind(Role) | ||
517 | -- self:log("gmAction",{desc = "heartWarning", count = heartWarning}) | 517 | -- self:log("gmAction",{desc = "heartWarning", count = heartWarning}) |
518 | -- end | 518 | -- end |
519 | end | 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 | end | 547 | end |
521 | 548 | ||
522 | return RolePlugin | 549 | return RolePlugin |
523 | \ No newline at end of file | 550 | \ No newline at end of file |