From 5bd5c3fa2b8a50fd352a895c3e87a3254c705ee7 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 26 六月 2019 10:35:30 +0800
Subject: [PATCH] 4254 【BUG】【2.0】【主干】封魔坛、世界Boss资源找回次数错误

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py
index c888e2c..03f4d8f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py
@@ -80,7 +80,13 @@
     
     recordData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % campaignType)
     
-    if campaignType not in [ShareDefine.Def_Campaign_Type_StoneLV, ShareDefine.Def_Campaign_Type_FightPower] and value <= recordData:
+    if value == recordData:
+        GameWorld.DebugLog("    开服活动数据等于历史记录, 不更新 campaignType=%s,recordData=%s,updValue=%s" 
+                           % (campaignType, recordData, value), curPlayer.GetPlayerID())
+        return
+    
+    if campaignType not in [ShareDefine.Def_Campaign_Type_StoneLV, ShareDefine.Def_Campaign_Type_FightPower, 
+                            ShareDefine.Def_Campaign_Type_RuneLV, ShareDefine.Def_Campaign_Type_LingGen] and value < recordData:
         GameWorld.DebugLog("    开服活动数据小于历史记录, 不更新 campaignType=%s,recordData=%s,updValue=%s" 
                            % (campaignType, recordData, value), curPlayer.GetPlayerID())
         return
@@ -198,7 +204,8 @@
         return
     endOpenServerDay = OSCBillboardDataLimitDict[campTypeS][OSC_EndDay]
     openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
-    if openServerDay <= endOpenServerDay:
+    # 只限制排行榜;目标奖励随时可领取
+    if awardType == 1 and openServerDay <= endOpenServerDay:
         GameWorld.DebugLog("该开服活动未结束,无法领奖!campaignType=%s,openServerDay=%s <= endOpenServerDay=%s" % (campaignType, openServerDay, endOpenServerDay))
         return
     
@@ -274,6 +281,8 @@
         order = queryResultList[i]
         billAwardInfo = None
         billRankAwardIpyList = IpyGameDataPY.GetIpyGameDataList("OSCBillRankAward", campaignType)
+        if not billRankAwardIpyList:
+            continue
         for billRankIpyData in billRankAwardIpyList:
             if (billRankIpyData.GetRankA() <= order <= billRankIpyData.GetRankB()) \
                 or (not billRankIpyData.GetRankB() and billRankIpyData.GetRankA() == order):
@@ -330,7 +339,7 @@
         for itemInfo in giveItemList:
             itemID, itemCount = itemInfo[:2]
             isBind = itemInfo[2] if len(itemInfo) > 2 else 1
-            ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem], 
+            ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem], 
                                          event=[ChConfig.ItemGive_OpenServerCampaign, True, drDict])
     return
 
@@ -357,5 +366,11 @@
     NetPackCommon.SendFakePack(curPlayer, oscAwardListPack)
     return
 
-
+def UpdOpenServerCampaignLingGenData(curPlayer):
+    # 记录开服活动数据
+    totalLingGen = curPlayer.GetFreePoint() + PlayerControl.GetMetal(curPlayer) + PlayerControl.GetWood(curPlayer) + \
+                    PlayerControl.GetWater(curPlayer) + PlayerControl.GetFire(curPlayer) + PlayerControl.GetEarth(curPlayer)
+    #GameWorld.DebugLog("总灵根: %s" % totalLingGen)
+    UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_LingGen, totalLingGen)
+    return
 

--
Gitblit v1.8.0