From 73db53c31e5ddcdfc54c491e7bad702ae5b1a6d7 Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Tue, 17 Nov 2020 21:00:08 +0800 Subject: [PATCH] 天赋技能 --- src/models/HeroPlugin.lua | 31 +++++++++++++++++++++++++++++++ src/models/RolePlugin.lua | 1 + 2 files changed, 32 insertions(+), 0 deletions(-) diff --git a/src/models/HeroPlugin.lua b/src/models/HeroPlugin.lua index 212562b..234715c 100644 --- a/src/models/HeroPlugin.lua +++ b/src/models/HeroPlugin.lua @@ -247,6 +247,37 @@ function HeroPlugin.bind(Hero) return level end + -- 天赋获得的技能 + function Hero:getTalentSkill() + local TalentEnum = { + [1] = 1, -- 血量 + [2] = 2, -- 攻击 + [3] = 3, -- 物理防御 + [4] = 4, -- 命中 + [5] = 5, -- 闪避 + } + local talentCsv = csvdb["unit_talent_" .. self:getProperty("type") .. "Csv"] + local curLv = self:getProperty("talent"):getv(1,1) - 1 + local curRan = self:getProperty("talent"):getv(0,1) + local skills = {} + for ran, data in ipairs(talentCsv) do + if ran <= curRan then + for lv, value in ipairs(data) do + if ran < curRan or lv <= curLv then + if not TalentEnum[value.effect] then + skills[value.strength] = true + end + else + break + end + end + else + break + end + end + return skills + end + function Hero:getSkillData(idx) local unitData = csvdb["unitCsv"][self:getProperty("type")] if idx == 1 then diff --git a/src/models/RolePlugin.lua b/src/models/RolePlugin.lua index d8bc0f6..12552fb 100644 --- a/src/models/RolePlugin.lua +++ b/src/models/RolePlugin.lua @@ -1283,6 +1283,7 @@ function RolePlugin.bind(Role) info.specialLevel = hero:getSkillLevel(1) info.passiveLevel = hero:getSkillLevel(3) info.runeSkill = hero:getRuneSkill(102) + info.talentSkills = hero:getTalentSkill() teamInfo.heros[slot] = info end for slot, id in pairs(team.supports or {}) do -- libgit2 0.21.2