From 875d928db2370eaaa6a43bf01d0761d7939dab5f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 13 十月 2018 17:14:42 +0800
Subject: [PATCH] 4064 【后端】【主干】直接给玩家的货币类物品优化处理; 2094 邮件发放神兽装备,神兽背包空间不足逻辑错误;

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py
index dc7b415..12184dd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py
@@ -59,6 +59,7 @@
     actBossRebornInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_BossReborn, {})
     bossRebornID = actBossRebornInfo.get(ShareDefine.ActKey_ID, 0)
     state = actBossRebornInfo.get(ShareDefine.ActKey_State, 0)
+    cfgID = actBossRebornInfo.get(ShareDefine.ActKey_CfgID, 0)
     
     playerBossRebornID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BossRebornID)  # 玩家身上的活动ID
     
@@ -66,7 +67,11 @@
     if bossRebornID == playerBossRebornID:
         #GameWorld.DebugLog("BOSS复活活动ID不变,不处理!", curPlayer.GetPlayerID())
         return
-    templateID = actBossRebornInfo.get(ShareDefine.ActKey_TemplateID, 0)
+    
+    templateID = 0
+    if cfgID:
+        actBossIpyData = IpyGameDataPY.GetIpyGameData("ActBossReborn", cfgID)
+        templateID = 0 if not actBossIpyData else actBossIpyData.GetTemplateID()
     playerTemplateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BossRebornTemplateID)
     
     GameWorld.DebugLog("BOSS复活重置! costRebateID=%s,playerCostRebateID=%s,state=%s,templateID=%s,playerTemplateID=%s" 
@@ -207,19 +212,25 @@
 def SyncBossRebornInfo(curPlayer):
     actBossRebornInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_BossReborn, {})
     state = actBossRebornInfo.get(ShareDefine.ActKey_State, 0)
-    if not state:
+    cfgID = actBossRebornInfo.get(ShareDefine.ActKey_CfgID, 0)
+    if not state or not cfgID:
         return
-    templateID = actBossRebornInfo.get(ShareDefine.ActKey_TemplateID, 0)
+    actBossIpyData = IpyGameDataPY.GetIpyGameData("ActBossReborn", cfgID)
+    if not actBossIpyData:
+        return
+    templateID = actBossIpyData.GetTemplateID()
     if not templateID:
         return
     ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition("BossReborn", {'TemplateID':templateID}, True)
     if not ipyDataList:
         return
+    openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
     actInfo = ChPyNetSendPack.tagMCBossRebornInfo()
     actInfo.Clear()
-    actInfo.StartDate = actBossRebornInfo.get(ShareDefine.ActKey_StartDate, "")
-    actInfo.EndtDate = actBossRebornInfo.get(ShareDefine.ActKey_EndDate, "")
-    actInfo.LimitLV = actBossRebornInfo.get(ShareDefine.ActKey_LVLimit, 0)
+    actInfo.StartDate = GameWorld.GetOperationActionDateStr(actBossIpyData.GetStartDate(), openServerDay)
+    actInfo.EndtDate = GameWorld.GetOperationActionDateStr(actBossIpyData.GetEndDate(), openServerDay)
+    actInfo.ResetType = actBossIpyData.GetResetType()
+    actInfo.LimitLV = actBossIpyData.GetLVLimit()
     actInfo.TaskInfo = []
     for ipyData in ipyDataList:
         taskInfo = ChPyNetSendPack.tagMCBossRebornTaskInfo()

--
Gitblit v1.8.0