diff --git a/lua/app/userdata/arena/arena_data.lua b/lua/app/userdata/arena/arena_data.lua index 1eb4c4b6..96031dc7 100644 --- a/lua/app/userdata/arena/arena_data.lua +++ b/lua/app/userdata/arena/arena_data.lua @@ -211,6 +211,10 @@ function ArenaData:getGradingIdFromScore(score, isLastSeason) if isLastSeason then cfg = self:getRankCfg(self.season - 1) end + if cfg == nil then + -- 活动没开特殊处理 + cfg = self:getRankCfg(1) + end local ids = table.keys(cfg) table.sort(ids) diff --git a/lua/app/userdata/hero/hero_data.lua b/lua/app/userdata/hero/hero_data.lua index a1140b9c..44edc5e0 100644 --- a/lua/app/userdata/hero/hero_data.lua +++ b/lua/app/userdata/hero/hero_data.lua @@ -98,12 +98,16 @@ function HeroData:updateSelfHeroEquipsAndRunes(entity) Logger.logHighlight("更新英雄属性:" .. entity:getCfgId()) end - entity:setEquips(GConst.EquipConst.PART_TYPE.WEAPON, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.WEAPON)) - entity:setEquips(GConst.EquipConst.PART_TYPE.HAT, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.HAT)) - entity:setEquips(GConst.EquipConst.PART_TYPE.CLOTHES, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.CLOTHES)) - entity:setEquips(GConst.EquipConst.PART_TYPE.BELT, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.BELT)) - entity:setEquips(GConst.EquipConst.PART_TYPE.HANDGUARD, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.HANDGUARD)) - entity:setRunes(DataManager.RunesData:getRunes(entity:getCfgId())) + entity:setEquips(GConst.EquipConst.PART_TYPE.WEAPON, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.WEAPON), true) + entity:setEquips(GConst.EquipConst.PART_TYPE.HAT, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.HAT), true) + entity:setEquips(GConst.EquipConst.PART_TYPE.CLOTHES, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.CLOTHES), true) + entity:setEquips(GConst.EquipConst.PART_TYPE.BELT, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.BELT), true) + entity:setEquips(GConst.EquipConst.PART_TYPE.HANDGUARD, DataManager.EquipData:getEquip(entity:getCfgId(), GConst.EquipConst.PART_TYPE.HANDGUARD), true) + entity:setRunes(DataManager.RunesData:getRunes(entity:getCfgId()), true) + + -- 手动调用更新数据 + entity:onEquipAttrChange() + entity:onRunesAttrChange() end function HeroData:getEntity(heroStruct) diff --git a/lua/app/userdata/hero/hero_entity.lua b/lua/app/userdata/hero/hero_entity.lua index deb5bcd9..94a19ffd 100644 --- a/lua/app/userdata/hero/hero_entity.lua +++ b/lua/app/userdata/hero/hero_entity.lua @@ -594,12 +594,15 @@ function HeroEntity:getTotalBaseAtk() end -- {partType = EquipEntity} -function HeroEntity:setEquips(partType, equipEntities) +function HeroEntity:setEquips(partType, equipEntities, notNowUpdate) if self.equipEntities == nil then self.equipEntities = {} end self.equipEntities[partType] = equipEntities + if notNowUpdate then + return + end self:getTotalAttrValue() -- 防止报错 self:onEquipAttrChange() end @@ -621,8 +624,12 @@ function HeroEntity:getSkins() return self.unlockSkins end -function HeroEntity:setRunes(runesEntity) +function HeroEntity:setRunes(runesEntity, notNowUpdate) self.runesEntity = runesEntity + + if notNowUpdate then + return + end self:getTotalAttrValue() -- 防止报错 self:onRunesAttrChange() end