From eedea82efc5a271e902355420ff80111bda6a566 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十二月 2018 11:33:18 +0800
Subject: [PATCH] 5174 【后端】【1.3】【1.3.100】全民冲榜榜单调整(增加灵宠活动)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py             |   26 ++++++++++++++++++++++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py |    1 +
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py                  |    7 +++++--
 ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py                                          |    1 +
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                                       |    7 +++++--
 5 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py b/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py
index 62d3ca1..e068129 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChConfig.py
@@ -575,6 +575,7 @@
             ShareDefine.Def_BT_Campaign_RuneLV          : 100,           #符印等级(开服活动榜)
             ShareDefine.Def_BT_Campaign_GodWeaponLV     : 100,           #神兵等级(开服活动榜)
             ShareDefine.Def_BT_Campaign_Recharge        : 100,           #累计充值(开服活动榜)
+            ShareDefine.Def_BT_Campaign_PetLV           : 100,           #灵宠等级(开服活动榜)  
             ShareDefine.Def_BT_FCCostGold               : 5,             #消费排行榜(仙界盛典)
             ShareDefine.Def_BT_FBHelpBattle             : 100,           #助战次数榜
             
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 4040f8b..e0e70a8 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -569,6 +569,7 @@
     Def_BT_FBHelpBattle,                      #助战次数排行榜
     Def_BT_Campaign_GodWeaponLV,              #神兵等级(开服活动榜) 20
     Def_BT_Campaign_Recharge,                 #累计充值(开服活动榜)
+    Def_BT_Campaign_PetLV,                    #灵宠等级(开服活动榜)
     
     Def_BT_HighLadder,                        #天梯竞技场排行
     Def_BT_HighLadder_Yester,                 #天梯竞技场昨日排行
@@ -586,7 +587,7 @@
     Def_BT_MergePKWeek,                       #跨服PK周积分榜
     
     Def_BT_Max,                               #排行榜最大类型
-) = range(0, 33 + 2) 
+) = range(0, 34 + 2) 
     
 #职业对应战力排行榜类型
 JobFightPowerBillboardDict = {
@@ -1102,7 +1103,8 @@
 Def_Campaign_Type_RuneLV,           # 符印等级排行 7
 Def_Campaign_Type_GodWeaponLV,      # 神兵等级排行 8
 Def_Campaign_Type_Recharge,         # 累计充值排行 9
-) = range(1, 1 + 9)
+Def_Campaign_Type_PetLV,            # 灵宠等级排行 10
+) = range(1, 1 + 10)
 
 # 活动类型对应的奖励排行榜{活动类型:排行榜, ...}
 Def_Campaign_Billboard_Dict = {
@@ -1115,6 +1117,7 @@
                                Def_Campaign_Type_RuneLV:Def_BT_Campaign_RuneLV,
                                Def_Campaign_Type_GodWeaponLV:Def_BT_Campaign_GodWeaponLV,
                                Def_Campaign_Type_Recharge:Def_BT_Campaign_Recharge,
+                               Def_Campaign_Type_PetLV:Def_BT_Campaign_PetLV,
                                }
 
 # 活动数据状态
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py
index b219388..56698af 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetOSCRecordData.py
@@ -40,6 +40,7 @@
                    ShareDefine.Def_Campaign_Type_RuneLV:"符印",
                    ShareDefine.Def_Campaign_Type_GodWeaponLV:"神兵",
                    ShareDefine.Def_Campaign_Type_Recharge:"充值",
+                   ShareDefine.Def_Campaign_Type_PetLV:"灵宠",
                    }
     
     if len(cmdList) == 1:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
index 0c8873c..1d8dcbb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -35,6 +35,7 @@
 import IpyGameDataPY
 import PlayerAttrFruit
 import GameMap
+import OpenServerCampaign
 import PlayerMagicWeapon
 import PassiveBuffEffMng
 import CalcNoLineEffect
@@ -470,6 +471,9 @@
             PetControl.DoLogic_PlayerPetLearnSkillList(rolePet, learnSkillList)
     RefreshPetItemAddAttr(curPlayer, True)
     SetPetSkillFightPower(curPlayer)    # 技能战力重算
+    
+    # 开服活动数据
+    OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer))
     return True
 
 
@@ -683,16 +687,34 @@
     
         SetPetSkillFightPower(curPlayer)    # 技能战力重算
         RefreshPetItemAddAttr(curPlayer, True)
-
+        
+        # 开服活动数据
+        OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_PetLV, GetTotalPetLV(curPlayer))
+        
     PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PetClassLV, 1, [petNPCID, updClassLV + 1])
     extraInfoDict = {"petItemIndex":PetItemIndex, "petNPCID":petNPCID}
     extraInfoDict.update(eval(petDataItem.GetUserData()))
     DataRecordPack.DR_ClassUpSystem(curPlayer, "PetClassUp", updClassLV, extraInfoDict)
         
     #EventReport.WriteEvent_pet_class(curPlayer, petNpcData.GetName(), classLV, petClassExp, updClassLV, newClassExp)
+    
     return
 
-
+def GetTotalPetLV(curPlayer):
+    totalPetLV = 0
+    petPackIndex = ShareDefine.rptPet
+    petPack = curPlayer.GetItemManager().GetPack(petPackIndex)
+    for i in range(petPack.GetCount()):
+        petItem = petPack.GetAt(i)
+        if petItem.IsEmpty():
+            continue 
+        petItemNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
+        classLV = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) + 1
+        petIpyData = GetPetIpydata(petItemNPCID)
+        if not petIpyData:
+            continue
+        totalPetLV += classLV
+    return totalPetLV
 
 ## 刷新宠物数据物品增加的属性
 def RefreshPetItemAddAttr(curPlayer, isUpdBillboard):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 4040f8b..e0e70a8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -569,6 +569,7 @@
     Def_BT_FBHelpBattle,                      #助战次数排行榜
     Def_BT_Campaign_GodWeaponLV,              #神兵等级(开服活动榜) 20
     Def_BT_Campaign_Recharge,                 #累计充值(开服活动榜)
+    Def_BT_Campaign_PetLV,                    #灵宠等级(开服活动榜)
     
     Def_BT_HighLadder,                        #天梯竞技场排行
     Def_BT_HighLadder_Yester,                 #天梯竞技场昨日排行
@@ -586,7 +587,7 @@
     Def_BT_MergePKWeek,                       #跨服PK周积分榜
     
     Def_BT_Max,                               #排行榜最大类型
-) = range(0, 33 + 2) 
+) = range(0, 34 + 2) 
     
 #职业对应战力排行榜类型
 JobFightPowerBillboardDict = {
@@ -1102,7 +1103,8 @@
 Def_Campaign_Type_RuneLV,           # 符印等级排行 7
 Def_Campaign_Type_GodWeaponLV,      # 神兵等级排行 8
 Def_Campaign_Type_Recharge,         # 累计充值排行 9
-) = range(1, 1 + 9)
+Def_Campaign_Type_PetLV,            # 灵宠等级排行 10
+) = range(1, 1 + 10)
 
 # 活动类型对应的奖励排行榜{活动类型:排行榜, ...}
 Def_Campaign_Billboard_Dict = {
@@ -1115,6 +1117,7 @@
                                Def_Campaign_Type_RuneLV:Def_BT_Campaign_RuneLV,
                                Def_Campaign_Type_GodWeaponLV:Def_BT_Campaign_GodWeaponLV,
                                Def_Campaign_Type_Recharge:Def_BT_Campaign_Recharge,
+                               Def_Campaign_Type_PetLV:Def_BT_Campaign_PetLV,
                                }
 
 # 活动数据状态

--
Gitblit v1.8.0