From 4d0ea0c5ac258cfdaccc46b9d8910b0938f08c5b Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 21 十二月 2018 10:58:12 +0800
Subject: [PATCH] 5540 【后端】【1.4】新增成就类型

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py             |    6 ++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py |   28 +++++++++++++++++++++++++++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py    |    3 ++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py    |    5 +++++
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                                  |    6 ++++--
 5 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 79f1202..a3cd5d6 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -1655,7 +1655,9 @@
 SuccType_DogzBattle, #x神兽出战129
 SuccType_DogzEquipPlus, #出战神兽装备总强化X级130
 SuccType_Collect, #采集X物品X次131
-) = range(1, 132)
+SuccType_InlayGatherSoul, #镶嵌X枚X品质聚魂(不包含核心)44
+SuccType_GatherSoulLvUp, #累计聚魂总等级XX(不包含核心)45
+) = range(1, 134)
 
 
 
@@ -1684,7 +1686,7 @@
 NeedResetSuccessTypeList = [
                             SuccType_InlayStone1,SuccType_InlayStone2,SuccType_EquipSuit,SuccType_InlayRune,
                             SuccType_EquipColorItem,SuccType_EquipArmor,SuccType_EquipWeapon,SuccType_DogzEquipPlus,
-                            SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,
+                            SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,SuccType_InlayGatherSoul,
                             ]
 
 # 聊天类型, 从100开始, 前100个给c++用
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py
index 7a83bd2..e723ba3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py
@@ -34,7 +34,8 @@
         #参数不正确
         GameWorld.DebugAnswer(curPlayer, Lang.GBText("参数不正确"))
         GameWorld.DebugAnswer(curPlayer, "1-仙玉;2-绑玉;3-铜钱;6-战盟贡献度;10-战盟仓库积分;13-境界修行点;14-符印融合石;15-仙盟活跃令")
-        GameWorld.DebugAnswer(curPlayer, "16-助战积分;23-符印精华;24-符印碎片;25-寻宝积分;26-集市额度;27-丹精")
+        GameWorld.DebugAnswer(curPlayer, "16-助战积分;23-符印精华;24-符印碎片;25-寻宝积分;26-集市额度;27-丹精;28-魂尘;")
+        GameWorld.DebugAnswer(curPlayer, "29-聚魂碎片;30-核心环")
         return
     #钱币类型
     moneyType = List[0]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py
index bb09766..e9eca08 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py
@@ -27,6 +27,7 @@
 import IpyGameDataPY
 import FormulaControl
 import DataRecordPack
+import PlayerSuccess
 
 g_GatherSoulLVExpDict = {}  #经验缓存
 g_gatherSoulLVAttrDict = {}  #属性缓存
@@ -221,6 +222,7 @@
     RefreshGatherSoulAttr(curPlayer)
     PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
     Sync_GatherSoulHoleInfo(curPlayer)
+    DoGatherSoulSuccessLogic(curPlayer)
     return True
 
 
@@ -280,7 +282,7 @@
         RefreshGatherSoulAttr(curPlayer)
         PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
         Sync_GatherSoulHoleInfo(curPlayer)
-        
+        DoGatherSoulSuccessLogic(curPlayer)
     GameWorld.DebugLog("聚魂升级!placeType=%s,placeIndex=%s,GatherSoulData=%s,updGatherSoulData=%s" 
                        % (placeType, placeIndex, GatherSoulData, updGatherSoulData), playerID)
     return
@@ -498,6 +500,30 @@
     return
 
 
+def DoGatherSoulSuccessLogic(curPlayer):
+    #聚魂成就处理
+    #清掉#镶嵌X枚X品质聚魂的成就信息
+    PlayerSuccess.ResetSuccessByType(curPlayer, ShareDefine.SuccType_InlayGatherSoul)
+    totalLV = 0
+    GatherSoulUnlockDict = IpyGameDataPY.GetFuncEvalCfg("GatherSoulHole", 1, {})
+    maxGatherSoulHole = len(GatherSoulUnlockDict)
+    for holeNum in xrange(maxGatherSoulHole):
+        GatherSoulData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GatherSoulHoleData % holeNum, 0)
+        if not GatherSoulData:
+            continue
+        GatherSoulItemID = ItemControler.GetGatherSoulItemID(GatherSoulData)
+        itemData = GameWorld.GetGameData().GetItemByTypeID(GatherSoulItemID)
+        if not itemData:
+            continue
+        if itemData.GetType() == ChConfig.Def_ItemType_GatherSoulCore:
+            continue
+        itemColor = itemData.GetItemColor()
+        GatherSoulItemPlusLV = ItemControler.GetGatherSoulItemPlusLV(GatherSoulData) + 1 #客户端1开始
+        totalLV += GatherSoulItemPlusLV
+        PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_InlayGatherSoul, 1, [itemColor])
+    PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_GatherSoulLvUp, totalLV)
+    return
+
 def RefreshGatherSoulAttr(curPlayer):
     allAttrList = [{} for _ in range(4)]
     GatherSoulUnlockDict = IpyGameDataPY.GetFuncEvalCfg("GatherSoulHole", 1, {})
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
index 484338f..c0fb61a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
@@ -29,6 +29,7 @@
 import ItemControler
 import PlayerMagicWeapon
 import PlayerFamilyRedPacket
+import PlayerGatherSoul
 import IpyGameDataPY
 import EventShell
 import PyGameData
@@ -273,6 +274,8 @@
                             ShareDefine.SuccType_DogzBattle,
                             ShareDefine.SuccType_DogzEquipPlus,
                             ShareDefine.SuccType_MainTaskNode,
+                            ShareDefine.SuccType_InlayGatherSoul,
+                            ShareDefine.SuccType_GatherSoulLvUp,
                              ]
     
     curCheckVersion = GetPDictValue(curPlayer, ChConfig.Def_PDict_Success_CheckVersion)
@@ -323,6 +326,8 @@
             DoEquipSuccessLogic(curPlayer)
         elif succType in [ShareDefine.SuccType_InlayRune, ShareDefine.SuccType_RuneLvUp]:
             PlayerRune.DoRuneSuccessLogic(curPlayer)
+        elif succType in [ShareDefine.SuccType_InlayGatherSoul, ShareDefine.SuccType_GatherSoulLvUp]:
+            PlayerGatherSoul.DoGatherSoulSuccessLogic(curPlayer)
         elif succType == ShareDefine.SuccType_RealmlvUp:
             UptateSuccessProgress(curPlayer, succType, curPlayer.GetOfficialRank())
         elif succType == ShareDefine.SuccType_PetClassLV:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 79f1202..a3cd5d6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1655,7 +1655,9 @@
 SuccType_DogzBattle, #x神兽出战129
 SuccType_DogzEquipPlus, #出战神兽装备总强化X级130
 SuccType_Collect, #采集X物品X次131
-) = range(1, 132)
+SuccType_InlayGatherSoul, #镶嵌X枚X品质聚魂(不包含核心)44
+SuccType_GatherSoulLvUp, #累计聚魂总等级XX(不包含核心)45
+) = range(1, 134)
 
 
 
@@ -1684,7 +1686,7 @@
 NeedResetSuccessTypeList = [
                             SuccType_InlayStone1,SuccType_InlayStone2,SuccType_EquipSuit,SuccType_InlayRune,
                             SuccType_EquipColorItem,SuccType_EquipArmor,SuccType_EquipWeapon,SuccType_DogzEquipPlus,
-                            SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,
+                            SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,SuccType_InlayGatherSoul,
                             ]
 
 # 聊天类型, 从100开始, 前100个给c++用

--
Gitblit v1.8.0