diff --git a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua index 1708b5bd20..e87d8c0458 100644 --- a/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Hero/HeroManager.lua @@ -4501,6 +4501,9 @@ function this.CheckIsUpTreasure(Did,index) items,isMatEnough = this.GetCostItems(curEquipData,curEquipData.refineConfig) elseif index == 3 then isMax=curEquipData.treeLv==curEquipData.maxTreeLv + if isMax then + return false + end local lvUpCost= ConfigManager.GetConfigData(ConfigName.GodHoodTreeLevel,curEquipData.treeLv).LvupCost isMatEnough=BagManager.GetItemCountById(lvUpCost[1])>=lvUpCost[2] else diff --git a/Assets/ManagedResources/~Lua/Modules/Net/NetManager.lua b/Assets/ManagedResources/~Lua/Modules/Net/NetManager.lua index 6ae4ed99df..e478e4c7f3 100644 --- a/Assets/ManagedResources/~Lua/Modules/Net/NetManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Net/NetManager.lua @@ -6869,7 +6869,6 @@ function NetManager.SendUpgradeGodTreeRequest(_jewelId,_count,func) local data = buffer:DataByte() local msg = HeroInfoProto_pb.UpgradeGodTreeResponse() msg:ParseFromString(data) - EquipTreasureManager.SetEquipTreeLvByIdDyn(_jewelId) if func then func(msg) end diff --git a/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua b/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua index a6eb120767..556a3c0b02 100644 --- a/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureManager.lua @@ -451,7 +451,7 @@ function this.ChangeTreeLv() v.treeLv = v.TreeLv() end end ---改变宝物的等级或精炼等级 +--改变宝物的等级或精炼等级或神应等级 function this.ChangeTreasureLv(_idDyn, _type) if allTreasures == nil then return @@ -467,15 +467,16 @@ function this.ChangeTreasureLv(_idDyn, _type) local lv = allTreasures[_idDyn].lv + 1 allTreasures[_idDyn].lv = lv allTreasures[_idDyn].strongConfig = this.GetCurrTreasureLvConfig(1, allTreasures[_idDyn].levelPool, lv) + elseif _type == 2 then + if allTreasures[_idDyn].refineLv == allTreasures[_idDyn].maxRefineLv then + return + end + local refine = allTreasures[_idDyn].refineLv + 1 + allTreasures[_idDyn].refineLv = refine + allTreasures[_idDyn].refineConfig =this.GetCurrTreasureLvConfig(2, allTreasures[_idDyn].refinePool, refine) else - if _type == 2 then - if allTreasures[_idDyn].refineLv == allTreasures[_idDyn].maxRefineLv then - return - end - local refine = allTreasures[_idDyn].refineLv + 1 - allTreasures[_idDyn].refineLv = refine - allTreasures[_idDyn].refineConfig = - this.GetCurrTreasureLvConfig(2, allTreasures[_idDyn].refinePool, refine) + if allTreasures[_idDyn] then + allTreasures[_idDyn].treeLv=allTreasures[_idDyn].treeLv+1 end end end @@ -599,12 +600,6 @@ function this.SetAllTreasureDirty(isDirty) end end end - -function this.SetEquipTreeLvByIdDyn(_idDyn) - if allTreasures[_idDyn] then - allTreasures[_idDyn].treeLv=allTreasures[_idDyn].treeLv+1 - end -end -- 设置宝物战斗力 function this.SetTreasurePower(dId, power) if not this.TreasurePowerData then @@ -746,17 +741,23 @@ function this.GetEquipTreasureResolveItems(selectEquipTreasureData) end if curEquipTreasureData.lv > 0 then for i=0,curEquipTreasureData.lv - 1 do - local lvJewelRankupConfig = ConfigManager.TryGetConfigDataByThreeKey(ConfigName.JewelRankupConfig,"Type",1,"Level",i,"PoolID",curEquipTreasureData.levelPool) - - if lvJewelRankupConfig then - --强化消耗的材料 - if lvJewelRankupConfig.UpExpend then - for UpExpendkey, UpExpendvalue in ipairs(lvJewelRankupConfig.UpExpend) do - this.GetEquipTreasureResolveItems2(UpExpendvalue[1], UpExpendvalue[2]) + local lvJewelRankupConfig = ConfigManager.TryGetConfigDataByThreeKey(ConfigName.JewelRankupConfig,"Type",1,"Level",i,"PoolID",curEquipTreasureData.levelPool) + if lvJewelRankupConfig then + --强化消耗的材料 + if lvJewelRankupConfig.UpExpend then + for UpExpendkey, UpExpendvalue in ipairs(lvJewelRankupConfig.UpExpend) do + this.GetEquipTreasureResolveItems2(UpExpendvalue[1], UpExpendvalue[2]) + end end end end end + if curEquipTreasureData.treeLv > 0 then + local treeLvConfig= ConfigManager.GetConfig(ConfigName.GodHoodTreeLevel) + for i = 0, curEquipTreasureData.treeLv-1 do + local costConfig=treeLvConfig[i] + this.GetEquipTreasureResolveItems2(costConfig.LvupCost[1], costConfig.LvupCost[2]) + end end --加自身分解消耗的东西 -- local rewardShowStr1 = {} diff --git a/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureStrongPopup.lua b/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureStrongPopup.lua index c917e220ee..a5152f2556 100644 --- a/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureStrongPopup.lua +++ b/Assets/ManagedResources/~Lua/Modules/RoleInfo/EquipTreasureStrongPopup.lua @@ -209,16 +209,18 @@ function EquipTreasureStrongPopup:BindEvent() end NetManager.SendUpgradeGodTreeRequest(curEquipData.idDyn,1,function (msg) PopupTipPanel.ShowTip("升级成功") + EquipTreasureManager.ChangeTreasureLv(curEquipData.idDyn,type) Timer.New(function() this:SetWindShow(type,0) end,0.1):Start() this.treasureDatas[curIndex]:OnOpen(false, {curEquipData.id,0}, 1, false, false, false, 0,curEquipData.idDyn) this:RefreshRedPoint(0.2,true) - local oldWarPowerValue = EquipTreasureManager.CalculateWarForceBySid(curEquipData.id,curEquipData.lv ,curEquipData.refineLv - 1,curEquipData.treeLv) - local newWarPowerValue = EquipTreasureManager.CalculateWarForceBySid(curEquipData.id,curEquipData.lv,curEquipData.refineLv,curEquipData.treeLv) + local oldWarPowerValue = EquipTreasureManager.CalculateWarForceBase(curEquipData.id,curEquipData.lv ,curEquipData.refineLv,curEquipData.treeLv-1,curEquipData) + local newWarPowerValue = EquipTreasureManager.CalculateWarForceBase(curEquipData.id,curEquipData.lv,curEquipData.refineLv,curEquipData.treeLv,curEquipData) if oldWarPowerValue ~= newWarPowerValue then UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2,{oldValue = oldWarPowerValue,newValue = newWarPowerValue}) end + Game.GlobalEvent:DispatchEvent(GameEvent.Treasure.TreasureLvUp) end) end) end @@ -426,11 +428,10 @@ function EquipTreasureStrongPopup:SetWindShow(_index) this.properList[0].rightTxt.text = curEquipData.treeLv+1 end propertyShow = SacredTreeManager.GetPropText(curEquipData.treeLv,curEquipData.quantity-1) - items = HeroManager.GetHoodTreeUpCost(curEquipData.treeLv) if isMax then this.hintTxt.text = "神应等级已达上限" else - this.hintTxt.text=Language[11782] + items = HeroManager.GetHoodTreeUpCost(curEquipData.treeLv) end end