From 8a5cd920235eefda418bba0e949ba522cab72a4c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 11 八月 2022 16:18:29 +0800
Subject: [PATCH] 9685 【后台】开服时间整合(清档完毕后入库存档)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py |   45 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 37 insertions(+), 8 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
index 6debfb6..5a888a9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
@@ -35,6 +35,8 @@
 import EventShell
 import ChPyNetSendPack
 import NetPackCommon
+import PlayerWeekParty
+import PlayerActGarbageSorting
 #-------------------------------------------------------------------------------------------
 
 #===============================================================================
@@ -85,6 +87,14 @@
         return
     
     curPartPlusLV = ChEquip.GetEquipPartPlusLV(curPlayer, packType, index)
+    classLV = ItemCommon.GetItemClassLV(curEquip)
+    plusMaxIpyData = IpyGameDataPY.GetIpyGameData("ItemPlusMax", findType, classLV)
+    if not plusMaxIpyData:
+        return
+    plusLVMax = plusMaxIpyData.GetPlusLVMax()
+    if curPartPlusLV >= plusLVMax:
+        #GameWorld.DebugLog("强化达到本阶最大等级,无法强化! classLV=%s,plusLVMax=%s,curPartPlusLV=%s" % (classLV, plusLVMax, curPartPlusLV))
+        return
     plusIpyData = IpyGameDataPY.GetIpyGameData("ItemPlus", findType, curPartPlusLV)
     if not plusIpyData:
         return
@@ -140,11 +150,12 @@
         curPartPlusLV += 1
         __EquipMayaPlusChange(curPlayer, packType, curEquip, index, curPartPlusLV)
         
-    DataRecordPack.DR_UpStarLVSuccess(curPlayer, curExp, curPartPlusLV)
+    #DataRecordPack.DR_UpStarLVSuccess(curPlayer, curExp, curPartPlusLV)
     ChEquip.SetEquipPartProficiency(curPlayer, packType, index, curExp)
     ChEquip.NotifyEquipPartPlusLV(curPlayer, packType, index)
     PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_EquipPlus)
     PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_EquipPlus, 1)
+    PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Plus, 1)
     return
 
 def __EquipMayaPlusChange(curPlayer, packType, curEquip, index, updPlusLV):
@@ -161,16 +172,34 @@
         PlayerControl.WorldNotify(0, "StrengthenCongratulation", msgParamList)
         
     classLV = ItemCommon.GetItemClassLV(curEquip) 
-    # 成就
-    #PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_EquipPlusLV, 1, [updPlusLV])
     
     DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV)
-    # 增加强化成就
-    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_EquipPlus, 1)
+    # 强化成就
+    __UpdateEquipPlusSuccess(curPlayer, classLV)
     EventShell.EventRespons_EquipPlus(curPlayer, classLV, updPlusLV)
-     
+    
     # 开服活动数据
-    OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PlusLV, ChEquip.GetTotalPlusLV(curPlayer))
+    #OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_Plus, ChEquip.GetTotalPlusLV(curPlayer))
+    return
+
+def __UpdateEquipPlusSuccess(curPlayer, classLV):
+    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('EquipPlaceIndexMap', {'ClassLV':classLV}, True)
+    if not ipyDataList:
+        return
+    
+    packType = IPY_GameWorld.rptEquip
+    plusLVCountDict = {}
+    for ipyData in ipyDataList:
+        index = ipyData.GetGridIndex()
+        plusLV = ChEquip.GetEquipPartPlusLV(curPlayer, packType, index)
+        if not plusLV:
+            continue
+        conditionKey = (classLV, plusLV)
+        plusLVCountDict[conditionKey] = plusLVCountDict.get(conditionKey, 0) + 1
+        
+    #GameWorld.DebugLog("强化成就数据: classLV=%s,plusLVCountDict=%s" % (classLV, plusLVCountDict))
+    PlayerSuccess.UpdateSuccessProgressByConditions(curPlayer, ShareDefine.SuccType_EquipPlus, plusLVCountDict)
+    PlayerActGarbageSorting.AddActGarbageTaskProgress(curPlayer, ChConfig.Def_GarbageTask_EquipPlus)
     return
 
 def DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV):
@@ -274,7 +303,7 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipPartMasterPlusLV % classLV, actMasterPlusLV)
         
     SyncEquipMasterPlusLVInfo(curPlayer, classLV)
-    
+    ChEquip.ChangeEquipEffectByPlusMaster(curPlayer, classLV)
     #刷新所有属性
     DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV)
     return

--
Gitblit v1.8.0