From 78eba407c2b7d68096500e9013add9141b13f52c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 21 九月 2018 23:37:11 +0800
Subject: [PATCH] 3798 【后端】运营活动时间优化,开服日常限时活动定制时间优化

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py
index 7a7355b..b3684b9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py
@@ -62,8 +62,9 @@
 import ChItem
 import IpyGameDataPY
 import PlayerRune
-import PlayerSuccess
+import GameFuncComm
 import PlayerFairyCeremony
+import PlayerSpringSale
 import PyGameData
 
 import random
@@ -201,6 +202,7 @@
     if onEventType == ShareDefine.Def_OnEventType:
         UpdataSuperGiftTime(curPlayer, True)
         SyncSuperGiftInfo(curPlayer)
+        OSSaleOpenMail(curPlayer)
         refreshType = [3]
     elif onEventType == ShareDefine.Def_OnEventTypeEx:
         refreshType = [4]
@@ -345,7 +347,7 @@
         if not state:
             GameWorld.DebugLog("限时特惠非活动中!state=%s" % (state), curPlayer.GetPlayerID())
             return
-        shopTypeList = actInfo.get(ShareDefine.ActKey_ShopTypeList, [])
+        shopTypeList = PlayerSpringSale.GetShopTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0))
         if not shopTypeList:
             return
         actShopType = shopTypeList[-1] if state > len(shopTypeList) else shopTypeList[state - 1]
@@ -562,6 +564,16 @@
     # 默认不限制
     return False
 
+def OSSaleOpenMail(curPlayer):
+    #开服特惠开启邮件
+    if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_OSSail):
+        return
+    openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)+1
+    if openServerDay not in IpyGameDataPY.GetFuncEvalCfg('OSSaleOpenMail'):
+        return
+    addItemList = IpyGameDataPY.GetFuncEvalCfg('OSSaleOpenMail', 2)
+    PlayerControl.SendMailByKey('SellMail1', [curPlayer.GetID()], addItemList)
+    return
 
 #超值礼包购买时间
 def UpdataSuperGiftTime(curPlayer, isOnday=False):
@@ -607,10 +619,11 @@
         return
     giftID, day = superGiftTimeList[giftIndex-1]
     openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)+1
+    remainDay = max(0, day - openServerDay+startDay)-1
     
     packData = ChPyNetSendPack.tagMCSuperGiftInfo()
     packData.GiftID = giftID
-    packData.RemainDay = max(0, day - openServerDay+startDay)
+    packData.EndtDate = str(GameWorld.GetDatetimeByDiffDays(remainDay))[:10]
     NetPackCommon.SendFakePack(curPlayer, packData)
     return
 def CheckSuperGiftBuy(curPlayer, giftID):

--
Gitblit v1.8.0