升级升星属性
This commit is contained in:
parent
887400cb76
commit
ec8344394d
@ -685,6 +685,14 @@ GConst.MATCH_ALL_ATKP_NAME = {
|
|||||||
[5] = "attr_atkp_purple_all",
|
[5] = "attr_atkp_purple_all",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GConst.MATCH_ALL_HPP_NAME = {
|
||||||
|
[1] = "attr_hpp_red_all",
|
||||||
|
[2] = "attr_hpp_yellow_all",
|
||||||
|
[3] = "attr_hpp_green_all",
|
||||||
|
[4] = "attr_hpp_blue_all",
|
||||||
|
[5] = "attr_hpp_purple_all",
|
||||||
|
}
|
||||||
|
|
||||||
GConst.ALL_ATTR = {
|
GConst.ALL_ATTR = {
|
||||||
ATTR_ATK_ALL = "atk_all", -- 全体英雄攻击(固定值)
|
ATTR_ATK_ALL = "atk_all", -- 全体英雄攻击(固定值)
|
||||||
ATTR_HP_ALL = "attr_hp_all", -- 全体英雄生命(固定值)
|
ATTR_HP_ALL = "attr_hp_all", -- 全体英雄生命(固定值)
|
||||||
|
|||||||
@ -85,7 +85,7 @@ function GMToolUI:onRefresh()
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
skipTutorialCheck:setVisible(LocalData:getTutorialSkip() > 0)
|
skipTutorialCheck:setActive(LocalData:getTutorialSkip() > 0)
|
||||||
skipTutorialBtn:addClickListener(function()
|
skipTutorialBtn:addClickListener(function()
|
||||||
if LocalData:getTutorialSkip() == 0 then
|
if LocalData:getTutorialSkip() == 0 then
|
||||||
LocalData:setTutorialSkip(1)
|
LocalData:setTutorialSkip(1)
|
||||||
@ -95,7 +95,7 @@ function GMToolUI:onRefresh()
|
|||||||
skipTutorialCheck:setActive(LocalData:getTutorialSkip() > 0)
|
skipTutorialCheck:setActive(LocalData:getTutorialSkip() > 0)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
skipPopCheck:setVisible(LocalData:getTutorialSkip() > 0)
|
skipPopCheck:setActive(LocalData:getTutorialSkip() > 0)
|
||||||
skipPopBtn:addClickListener(function()
|
skipPopBtn:addClickListener(function()
|
||||||
if LocalData:getFuncOpenPopSkip() == 0 then
|
if LocalData:getFuncOpenPopSkip() == 0 then
|
||||||
LocalData:setFuncOpenPopSkip(1)
|
LocalData:setFuncOpenPopSkip(1)
|
||||||
@ -207,7 +207,7 @@ function GMToolUI:updateTime()
|
|||||||
-- if not DataManager.PlayerData or not DataManager.PlayerData:getServerOpenTime() then
|
-- if not DataManager.PlayerData or not DataManager.PlayerData:getServerOpenTime() then
|
||||||
-- return
|
-- return
|
||||||
-- end
|
-- end
|
||||||
if not DataManager.PlayerData then
|
if not DataManager.PlayerData or not Time.serverTimeZone then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local uiMap = self.root:genAllChildren()
|
local uiMap = self.root:genAllChildren()
|
||||||
|
|||||||
@ -342,13 +342,12 @@ function HeroData:setTalentAttr(attr)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function HeroData:calcAttr()
|
function HeroData:calcAttr()
|
||||||
self.allAtkpAttr = {}
|
self.allAtkpAttr = {{}, {}, {}, {}, {}}
|
||||||
for heroId, attrs in pairs(self.allAtkpAttrByHero) do
|
for heroId, attrs in pairs(self.allAtkpAttrByHero) do
|
||||||
-- self.baseAttrOriginal[ATTR_NAME.ATK_RED] = 0
|
for matchType, v in ipairs(self.allAtkpAttr) do
|
||||||
local matchType = self.heroes[heroId]:getMatchType()
|
for k, vv in pairs(attrs) do
|
||||||
self.allAtkpAttr[matchType] = self.allAtkpAttr[matchType] or {}
|
self.allAtkpAttr[matchType][k] = (self.allAtkpAttr[matchType][k] or 0) + vv
|
||||||
for k,v in pairs(attrs) do
|
end
|
||||||
self.allAtkpAttr[matchType][k] = (self.allAtkpAttr[matchType][k] or 0) + v
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -94,34 +94,45 @@ function HeroEntity:_updateAllAttr()
|
|||||||
|
|
||||||
-- 同属性通用加成
|
-- 同属性通用加成
|
||||||
self.allAttr[GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]] = nil
|
self.allAttr[GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_ATK_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_ATK_ALL] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_HP_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_HP_ALL] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_DMGDEC_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_DMGDEC_ALL] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_CRIT_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_CRIT_ALL] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_CRIT_TIME_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_CRIT_TIME_ALL] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_NORMAL_HURTP_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_NORMAL_HURTP_ALL] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_SKILL_HURTP_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_SKILL_HURTP_ALL] = nil
|
||||||
self.allAttr[GConst.ALL_ATTR.ATTR_ATKP_ALL] = nil
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_ATKP_ALL] = nil
|
||||||
|
-- self.allAttr[GConst.ALL_ATTR.ATTR_HPP_ALL] = nil
|
||||||
|
for _, v in pairs(GConst.ALL_ATTR) do
|
||||||
|
self.allAttr[v] = nil
|
||||||
|
end
|
||||||
|
|
||||||
-- 攻击力(百分比)
|
-- 攻击力(百分比)
|
||||||
local atkType = GConst.MATCH_ATTACK_NAME[self:getMatchType()]
|
local atkType = GConst.MATCH_ATTACK_NAME[self:getMatchType()]
|
||||||
local allAtk = DataManager.HeroData:getAttrByMatchType(self:getMatchType(), GConst.ALL_ATTR.ATTR_ATK_ALL)
|
-- 全局增加攻击力
|
||||||
local atkpType = GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]
|
local allAtk = self:getGlobalAttrByType(GConst.ALL_ATTR.ATTR_ATK_ALL)
|
||||||
local allFactorValue = DataManager.HeroData:getAttrByMatchType(self:getMatchType(), atkpType)
|
|
||||||
local factorValue = self.allAttr[GConst.MATCH_ATTACK_ADD_NAME[self:getMatchType()]] or 0
|
|
||||||
local allAtkP = self:getGlobalAttrByType(GConst.ALL_ATTR.ATTR_ATKP_ALL)
|
|
||||||
local atk = self.allAttr[atkType] + allAtk
|
local atk = self.allAttr[atkType] + allAtk
|
||||||
|
-- 全局元素攻击力百分比加成
|
||||||
|
local allFactorValue = self:getGlobalAttrByType(GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()])
|
||||||
|
-- 个人攻击力百分比加成
|
||||||
|
local factorValue = self.allAttr[GConst.MATCH_ATTACK_ADD_NAME[self:getMatchType()]] or 0
|
||||||
|
-- 全局攻击力百分比加成
|
||||||
|
local allAtkP = self:getGlobalAttrByType(GConst.ALL_ATTR.ATTR_ATKP_ALL)
|
||||||
self.allAttr[atkType] = math.floor(atk * (1 + (factorValue + allFactorValue + allAtkP) / GConst.DEFAULT_FACTOR) + 0.0000001)
|
self.allAttr[atkType] = math.floor(atk * (1 + (factorValue + allFactorValue + allAtkP) / GConst.DEFAULT_FACTOR) + 0.0000001)
|
||||||
self.allAttr[GConst.MATCH_ATTACK_ADD_NAME[self:getMatchType()]] = nil
|
self.allAttr[GConst.MATCH_ATTACK_ADD_NAME[self:getMatchType()]] = nil
|
||||||
|
|
||||||
-- 生命(百分比)
|
-- 生命(百分比)
|
||||||
local hpType = GConst.MATCH_HP_NAME[self:getMatchType()]
|
local hpType = GConst.MATCH_HP_NAME[self:getMatchType()]
|
||||||
local allHp = DataManager.HeroData:getAttrByMatchType(self:getMatchType(), GConst.ALL_ATTR.ATTR_HP_ALL)
|
-- 全局增加生命
|
||||||
-- local atkpType = GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]
|
local allHp = self:getGlobalAttrByType(GConst.ALL_ATTR.ATTR_HP_ALL)
|
||||||
-- local allFactorValue = DataManager.HeroData:getAttrByMatchType(self:getMatchType(), atkpType)
|
|
||||||
local factorValue = self.allAttr[GConst.MATCH_HP_ADD_NAME[self:getMatchType()]] or 0
|
|
||||||
local hp = self.allAttr[hpType] + allHp
|
local hp = self.allAttr[hpType] + allHp
|
||||||
self.allAttr[hpType] = math.floor(hp * (1 + factorValue / GConst.DEFAULT_FACTOR) + 0.0000001)
|
-- 全局元素生命百分比加成
|
||||||
|
local allFactorValue = self:getGlobalAttrByType(GConst.MATCH_ALL_HPP_NAME[self:getMatchType()])
|
||||||
|
-- 个人生命百分比加成
|
||||||
|
local factorValue = self.allAttr[GConst.MATCH_HP_ADD_NAME[self:getMatchType()]] or 0
|
||||||
|
-- 全局生命百分比加成
|
||||||
|
local allHpP = self:getGlobalAttrByType(GConst.ALL_ATTR.ATTR_HPP_ALL)
|
||||||
|
self.allAttr[hpType] = math.floor(hp * (1 + (factorValue + allFactorValue + allHpP) / GConst.DEFAULT_FACTOR) + 0.0000001)
|
||||||
self.allAttr[GConst.MATCH_HP_ADD_NAME[self:getMatchType()]] = nil
|
self.allAttr[GConst.MATCH_HP_ADD_NAME[self:getMatchType()]] = nil
|
||||||
|
|
||||||
self.allAttr[ATTR_NAME.DMGDEC] = (self.allAttr[ATTR_NAME.DMGDEC] or 0) + self:getGlobalAttrByType(GConst.ALL_ATTR.ATTR_DMGDEC_ALL)
|
self.allAttr[ATTR_NAME.DMGDEC] = (self.allAttr[ATTR_NAME.DMGDEC] or 0) + self:getGlobalAttrByType(GConst.ALL_ATTR.ATTR_DMGDEC_ALL)
|
||||||
@ -148,8 +159,9 @@ end
|
|||||||
-- 更新所有属性(自己)
|
-- 更新所有属性(自己)
|
||||||
function HeroEntity:_updateAllBaseAttr()
|
function HeroEntity:_updateAllBaseAttr()
|
||||||
self:_updateBaseAttr()
|
self:_updateBaseAttr()
|
||||||
|
self:_updateLvAttr()
|
||||||
self:_updateStarAttr()
|
self:_updateStarAttr()
|
||||||
self:_updateSkinAttr()
|
-- self:_updateSkinAttr()
|
||||||
self:_updateTotalAttr()
|
self:_updateTotalAttr()
|
||||||
|
|
||||||
-- 处理全局属性
|
-- 处理全局属性
|
||||||
@ -158,15 +170,18 @@ function HeroEntity:_updateAllBaseAttr()
|
|||||||
attr[GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]] = self.allBaseAttr[GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]]
|
attr[GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]] = self.allBaseAttr[GConst.MATCH_ALL_ATKP_NAME[self:getMatchType()]]
|
||||||
end
|
end
|
||||||
|
|
||||||
attr[GConst.ALL_ATTR.ATTR_ATK_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_ATK_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_ATK_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_ATK_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_HP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_HP_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_HP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_HP_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_DMGDEC_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_DMGDEC_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_DMGDEC_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_DMGDEC_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_CRIT_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_CRIT_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_CRIT_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_CRIT_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_CRIT_TIME_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_CRIT_TIME_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_CRIT_TIME_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_CRIT_TIME_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_NORMAL_HURTP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_NORMAL_HURTP_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_NORMAL_HURTP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_NORMAL_HURTP_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_SKILL_HURTP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_SKILL_HURTP_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_SKILL_HURTP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_SKILL_HURTP_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_ATKP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_ATKP_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_ATKP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_ATKP_ALL]
|
||||||
attr[GConst.ALL_ATTR.ATTR_ATK_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_ATK_ALL]
|
-- attr[GConst.ALL_ATTR.ATTR_HPP_ALL] = self.allBaseAttr[GConst.ALL_ATTR.ATTR_HPP_ALL]
|
||||||
|
for _, v in pairs(GConst.ALL_ATTR) do
|
||||||
|
attr[v] = self.allBaseAttr[v]
|
||||||
|
end
|
||||||
|
|
||||||
DataManager.HeroData:setHeroAttr(self:getCfgId(), attr)
|
DataManager.HeroData:setHeroAttr(self:getCfgId(), attr)
|
||||||
end
|
end
|
||||||
@ -182,7 +197,19 @@ function HeroEntity:_updateBaseAttr()
|
|||||||
self.baseAttrOriginal[GConst.MATCH_ATTACK_NAME[self.config.position]] = self:getCfgAtk()
|
self.baseAttrOriginal[GConst.MATCH_ATTACK_NAME[self.config.position]] = self:getCfgAtk()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- 更新皮肤属性
|
-- 更新升级属性
|
||||||
|
function HeroEntity:_updateLvAttr()
|
||||||
|
self.lvAttr = {}
|
||||||
|
local lvPoint = self:getLvAttrPointList()
|
||||||
|
for i = 1, #lvPoint do
|
||||||
|
if self.data.lv >= lvPoint[i] then
|
||||||
|
local attr = self:getLvAttrCfg(i)
|
||||||
|
self.lvAttr[attr.type] = (self.lvAttr[attr.type] or 0) + attr.num
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 更新升星属性
|
||||||
function HeroEntity:_updateStarAttr()
|
function HeroEntity:_updateStarAttr()
|
||||||
self.starAttr = {}
|
self.starAttr = {}
|
||||||
for i = 1, self.data.star do
|
for i = 1, self.data.star do
|
||||||
@ -244,6 +271,9 @@ function HeroEntity:_updateTotalAttr()
|
|||||||
for k, v in pairs(self.baseAttrOriginal) do
|
for k, v in pairs(self.baseAttrOriginal) do
|
||||||
self.allBaseAttr[k] = (self.allBaseAttr[k] or 0) + v
|
self.allBaseAttr[k] = (self.allBaseAttr[k] or 0) + v
|
||||||
end
|
end
|
||||||
|
for k, v in pairs(self.lvAttr) do
|
||||||
|
self.allBaseAttr[k] = (self.allBaseAttr[k] or 0) + v
|
||||||
|
end
|
||||||
for k, v in pairs(self.starAttr) do
|
for k, v in pairs(self.starAttr) do
|
||||||
self.allBaseAttr[k] = (self.allBaseAttr[k] or 0) + v
|
self.allBaseAttr[k] = (self.allBaseAttr[k] or 0) + v
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user