【皮肤】添加皮肤属性加成
parent
e92e63444b
commit
1fcdf5b2a6
|
@ -1547,6 +1547,7 @@ function this.GetProAndValByFormula(proTable, specialProVal, curProId, curProVal
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
--团队加成
|
||||
function this.GetAllHeroTeamAddProVal(teamHeroInfos,curteamHeroDid)
|
||||
local teamProVal = {}
|
||||
|
@ -1558,9 +1559,11 @@ function this.GetAllHeroTeamAddProVal(teamHeroInfos,curteamHeroDid)
|
|||
local falismanSingleHeroProVal, falismanLvProVal, falismanAllHeroProVal, falismanSpecialProVal =
|
||||
CalculateHeroUpTalismanProAddVal(teamHeroInfos[i].heroId,nil,nil, curteamHeroDid and HeroManager.GetSingleHeroData(curteamHeroDid).heroConfig.PropertyName or nil)
|
||||
local soulPrinSingleHeroProVal,soulPrinLvProVal,soulPrinAllHeroProVal,soulPrinSpecialProVal = CalculateSoulPrintAddVal(teamHeroInfos[i].heroId)
|
||||
local heroSkinSingleProVal, heroSkinAllHeroProVal = HeroSkinManager.CaculateSkinProVal(teamHeroInfos[i].heroId)
|
||||
this.DoubleTableCompound(teamProVal, heroSkillAllHeroProVal)
|
||||
this.DoubleTableCompound(teamProVal, falismanAllHeroProVal)
|
||||
this.DoubleTableCompound(teamProVal,soulPrinAllHeroProVal)
|
||||
this.DoubleTableCompound(teamProVal, soulPrinAllHeroProVal)
|
||||
this.DoubleTableCompound(teamProVal, heroSkinAllHeroProVal)
|
||||
end
|
||||
end
|
||||
--光环加成
|
||||
|
@ -1568,6 +1571,7 @@ function this.GetAllHeroTeamAddProVal(teamHeroInfos,curteamHeroDid)
|
|||
this.DoubleTableCompound(teamProVal, aureoleProAdd)
|
||||
return teamProVal
|
||||
end
|
||||
|
||||
--计算英雄身上所有属性加成(包括装备就、异妖的加成)
|
||||
--_type==1 计算当前英雄的所有属性 _type==2 根据_heroDid之后_breakId传过来的值进行计算 _isAllHeroProVal==true 团体加成综合 用字段_allHeroProVal
|
||||
function this.CalculateHeroAllProValList(_type, _heroDid, isWar, _breakId, _upStarId, _isAllHeroProVal, _allHeroProVal)
|
||||
|
@ -1648,6 +1652,8 @@ function this.CalculateHeroAllProValList(_type, _heroDid, isWar, _breakId, _upSt
|
|||
-- end
|
||||
-- end
|
||||
-- end
|
||||
|
||||
|
||||
--法宝的属性加成 falismanProAdd
|
||||
local falismanSingleHeroProVal, falismanLvProVal, falismanAllHeroProVal, falismanSpecialProVal = {}, {}, {}, {}
|
||||
if _type == 1 then
|
||||
|
@ -1719,7 +1725,10 @@ function this.CalculateHeroAllProValList(_type, _heroDid, isWar, _breakId, _upSt
|
|||
-- end
|
||||
-- end
|
||||
--end
|
||||
|
||||
local heroSkinSingleProVal, heroSkinAllHeroProVal = HeroSkinManager.CaculateSkinProVal(curHeroData.dynamicId)
|
||||
this.DoubleTableCompound(allAddProVal, heroSkinSingleProVal)
|
||||
this.DoubleTableCompound(allAddProVal, heroSkinAllHeroProVal)
|
||||
|
||||
--单体所有属性合并
|
||||
this.DoubleTableCompound(allAddProVal, allPokemonPeiJianAddPro)
|
||||
this.DoubleTableCompound(allAddProVal, guildSkillAllProAdd)
|
||||
|
@ -3246,4 +3255,18 @@ function this.SortHeroDatas(_heroDatas)
|
|||
end
|
||||
end)
|
||||
end
|
||||
--脱下皮肤
|
||||
function this.ChangeDownSkinId(heroSId,skinId)
|
||||
for k,v in pairs(heroDatas) do
|
||||
if v.id == heroSId and v.skinId == skinId then
|
||||
v.vskinId = 0
|
||||
v.skinConfig = heroConfig[v.id]
|
||||
v.live = GetResourcePath(v.skinConfig.Live)
|
||||
v.painting = GetResourcePath(v.skinConfig.Painting)
|
||||
v.icon = GetResourcePath(v.skinConfig.Icon)
|
||||
v.scale = v.skinConfig.Scale
|
||||
v.position = v.skinConfig.Position
|
||||
end
|
||||
end
|
||||
end
|
||||
return this
|
|
@ -1,8 +1,9 @@
|
|||
HeroSkinManager = {}
|
||||
local this = HeroSkinManager
|
||||
local skinConfig = ConfigManager.GetConfig(ConfigName.HeroSkin)
|
||||
this.skinDatas = {}
|
||||
function this.Initialize()
|
||||
|
||||
this.skinDatas = {}
|
||||
end
|
||||
function this.InitialSkin(msg,index)
|
||||
if not index or index == 0 then
|
||||
|
@ -10,12 +11,12 @@ function this.InitialSkin(msg,index)
|
|||
for i = 1, #msg.skinInfo do
|
||||
this.skinDatas[msg.skinInfo[i].skinId] = {}
|
||||
this.skinDatas[msg.skinInfo[i].skinId].id = msg.skinInfo[i].skinId
|
||||
this.skinDatas[msg.skinInfo[i].skinId].overTime = msg.skinInfo[i].overTime
|
||||
this.skinDatas[msg.skinInfo[i].skinId].overTime = msg.skinInfo[i].overTime - PlayerManager.serverTime
|
||||
end
|
||||
else
|
||||
this.skinDatas[msg.skinInfo.skinId] = {}
|
||||
this.skinDatas[msg.skinInfo.skinId].id = msg.skinInfo.skinId
|
||||
this.skinDatas[msg.skinInfo.skinId].overTime = msg.skinInfo.overTime
|
||||
this.skinDatas[msg.skinInfo.skinId].overTime = msg.skinInfo.overTime - PlayerManager.serverTime
|
||||
end
|
||||
this.UpdateSkinDatasOverTime()
|
||||
end
|
||||
|
@ -31,6 +32,8 @@ function this.UpdateSkinDatasOverTime()
|
|||
v.overTime = v.overTime - 1
|
||||
if v.overTime == 0 then
|
||||
this.RemoveSkin(v.id)
|
||||
local heroId = ConfigManager.GetConfigData(ConfigName.HeroSkin,v.id).HeroId
|
||||
HeroManager.ChangeDownSkinId(heroId,v.id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -43,10 +46,45 @@ function this.RemoveSkin(id)
|
|||
end
|
||||
|
||||
function this.IsExist(id)
|
||||
LogGreen("id:"..id.." IsExist:"..tostring(this.skinDatas[id]))
|
||||
if this.skinDatas[id] then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
function this.CaculateSkinProVal(_heroId)
|
||||
local heroSkinSingleProVal = {}
|
||||
local heroSkinAllHeroProVal = {}
|
||||
local heroData = HeroManager.GetSingleHeroData(_heroId)
|
||||
if heroData.skinId ~= 0 then
|
||||
local config = ConfigManager.GetConfigDataByKey(ConfigName.HeroSkin,"Type",heroData.skinId)
|
||||
if config.MonomerProperty and #config.MonomerProperty > 0 then
|
||||
for _,v in ipairs(config.MonomerProperty) do
|
||||
if not heroSkinSingleProVal[v[1]] then
|
||||
heroSkinSingleProVal[v[1]] = 0
|
||||
end
|
||||
if not heroSkinAllHeroProVal[v[1]] then
|
||||
heroSkinAllHeroProVal[v[1]] = 0
|
||||
end
|
||||
heroSkinAllHeroProVal[v[1]] = heroSkinAllHeroProVal[v[1]] + v[2]
|
||||
end
|
||||
end
|
||||
end
|
||||
for _,v in pairs(this.skinDatas) do
|
||||
if heroData.skinId ~= v.id then
|
||||
local config = ConfigManager.GetConfigDataByKey(ConfigName.HeroSkin,"Type",v.id)
|
||||
if config.UnlockProperty and #config.UnlockProperty > 0 then
|
||||
for _,n in ipairs(config.UnlockProperty) do
|
||||
if not heroSkinAllHeroProVal[n[1]] then
|
||||
heroSkinAllHeroProVal[n[1]] = 0
|
||||
end
|
||||
heroSkinAllHeroProVal[n[1]] = heroSkinAllHeroProVal[n[1]] + n[2]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return heroSkinSingleProVal, heroSkinAllHeroProVal
|
||||
end
|
||||
return this
|
|
@ -128,7 +128,6 @@ function this.HeroSkinUseIndication(buffer)
|
|||
else
|
||||
LogBlue("没有皮肤")
|
||||
end
|
||||
HeroSkinManager.InitialSkin(msg)
|
||||
end
|
||||
function this.SiTuaTionInfoIndication(buffer)
|
||||
local data = buffer:DataByte()
|
||||
|
|
|
@ -75,7 +75,8 @@ function RewardItemSingleShowPopup:BindEvent()
|
|||
elseif itemConfigData.ItemType == ItemType.ChangeName then
|
||||
UIManager.OpenPanel(UIName.CreateNamePopup)
|
||||
elseif itemConfigData.ItemType == ItemType.Skin then
|
||||
MsgPanel.ShowTwo(string.format("分解后可获得%s%s,是否继续分解",200,itemConfig[16].Name),function()
|
||||
local group = ConfigManager.GetConfigData(ConfigName.RewardGroup,itemConfig[itemSid].ResolveReward).ShowItem
|
||||
MsgPanel.ShowTwo(string.format("分解后可获得%s个%s,是否继续分解",group[2],itemConfig[group[1]].Name),function()
|
||||
end, function()
|
||||
local curResolveAllItemList = {}
|
||||
table.insert(curResolveAllItemList,{itemId = itemSid,itemNum = 1})
|
||||
|
@ -93,7 +94,8 @@ function RewardItemSingleShowPopup:BindEvent()
|
|||
end)
|
||||
Util.AddClick(this.btnJump, function()
|
||||
if itemConfigData.ItemType == ItemType.Skin then
|
||||
if HeroSkinManager.IsExist(itemSid) then
|
||||
local skinId = ConfigManager.GetConfigData(ConfigName.HeroSkin,itemSid).Type
|
||||
if HeroSkinManager.IsExist(skinId) then
|
||||
PopupTipPanel.ShowTip("已解锁该皮肤,请在皮肤有效期之后再解锁")
|
||||
else
|
||||
local curResolveAllItemList = {}
|
||||
|
|
|
@ -106,7 +106,7 @@ function RoleSkinPanel:SetSingleData(go,data)
|
|||
parent.curLiveObj = HeroManager.LoadHerolive(curHeroData,parent.curObj)
|
||||
PopupTipPanel.ShowTip("已更换皮肤!")
|
||||
isUnLoadLive = false
|
||||
this:OnOpen(curHeroData,skins,parent)
|
||||
this:OnShow(0,parent,curHeroData)
|
||||
end)
|
||||
end)
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue