diff --git a/lua/app/userdata/battle/battle_base_data.lua b/lua/app/userdata/battle/battle_base_data.lua index 66b3c50b..fc66e4a0 100644 --- a/lua/app/userdata/battle/battle_base_data.lua +++ b/lua/app/userdata/battle/battle_base_data.lua @@ -165,7 +165,8 @@ function BattleBaseData:initRogueSkills(side, formation) for matchType, heroEntity in pairs(formation) do local skillId = heroEntity:getBaseSkill() local cfg = SKILL_CFG[skillId] - self.skillMap[side][cfg.position] = BATTLE_BOARD_SKILL_ENTITY:create(skillId, side) + local skillLv = heroEntity:getRogueSkillLv() + self.skillMap[side][cfg.position] = BATTLE_BOARD_SKILL_ENTITY:create(skillId, side, skillLv) -- self.skillMap[side][cfg.position]:addUpSkills(heroEntity:getRogueSkillList()) -- self.skillMap[side][cfg.position]:setUnlockId(heroEntity:getUnlockRogueId()) -- for _, id in ipairs(heroEntity:getActiveRogueSkills()) do diff --git a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua index 22b0eff4..4f83eb77 100644 --- a/lua/app/userdata/battle/skill/battle_board_skill_entity.lua +++ b/lua/app/userdata/battle/skill/battle_board_skill_entity.lua @@ -1,7 +1,7 @@ local BattleBoardSkillEntity = class("BattleBoardSkillEntity", BaseData) local BattleBuffEntity = require "app/userdata/battle/skill/battle_buff_entity" -function BattleBoardSkillEntity:ctor(skillId, side) +function BattleBoardSkillEntity:ctor(skillId, side, skillLv) self:refreshSkillId(skillId) self.side = side self.curEnergy = 0 @@ -18,7 +18,7 @@ function BattleBoardSkillEntity:ctor(skillId, side) self.originSkillId = skillId self.upSkillIdMap = {} - self.getUpSkillKind = 0 + self.getUpSkillKind = skillLv end function BattleBoardSkillEntity:refreshSkillId(skillId) diff --git a/lua/app/userdata/hero/hero_entity.lua b/lua/app/userdata/hero/hero_entity.lua index 488fcd66..f5fe944b 100644 --- a/lua/app/userdata/hero/hero_entity.lua +++ b/lua/app/userdata/hero/hero_entity.lua @@ -408,12 +408,14 @@ end function HeroEntity:getRogueSkillList() if not self.rogueSkillList then self.rogueSkillList = {} + self.skillLv = 0 local count = 1 while true do local ids = self.config["rouge_skill_" .. count] if ids then for i = #ids, 1, -1 do if self.data.lv >= ids[i][1] or i == 1 then + self.skillLv = self.skillLv + i table.insert(self.rogueSkillList, ids[i]) break end @@ -428,6 +430,13 @@ function HeroEntity:getRogueSkillList() return self.rogueSkillList end +function HeroEntity:getRogueSkillLv() + if not self.skillLv then + self:getRogueSkillList() + end + return self.skillLv +end + function HeroEntity:getNextRougeLvUp(idx) local ids = self.config["rouge_skill_" .. idx] if ids then