From 9cffd0c35e3e2707e1752b91977f01098ac79cb2 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期六, 01 九月 2018 16:29:19 +0800
Subject: [PATCH] fix:3176 多倍修行点开启时间/结束时间为凌晨5点

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
index a19da7a..b10c7de 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
@@ -230,11 +230,8 @@
     multiple = 1
     if addValue:
         #__SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint, nuwTotalPoint)
-        actRealmPointInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_RealmPoint, {})# 多倍修行点活动
-        if actRealmPointInfo.get(ShareDefine.ActKey_State) \
-            and curPlayer.GetLV() >= actRealmPointInfo.get(ShareDefine.ActKey_LVLimit, 0):
-            multiple = actRealmPointInfo.get(ShareDefine.ActKey_RealmPointMulti, 1)
-            addValue *= multiple
+        multiple = __GetActionAddPer(curPlayer)
+        addValue *= multiple
         
         realmPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint)
         __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint, realmPoint+addValue)
@@ -244,6 +241,29 @@
                        % (activityNum, addPbCnt, addValue, multiple), curPlayer.GetPlayerID())
     return
 
+def __GetActionAddPer(curPlayer):
+    multiple = 1
+    actRealmPointInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_RealmPoint, {})# 多倍修行点活动
+    if not actRealmPointInfo:
+        return multiple
+    if actRealmPointInfo.get(ShareDefine.ActKey_State) \
+            and curPlayer.GetLV() >= actRealmPointInfo.get(ShareDefine.ActKey_LVLimit, 0):
+        #从开始天的5点到结束天的5点
+        startData = GameWorld.GetDateTimeByStr(actRealmPointInfo[ShareDefine.ActKey_StartDate], ChConfig.TYPE_Time_Format_Day)
+        endData = GameWorld.GetDateTimeByStr(actRealmPointInfo[ShareDefine.ActKey_EndDate], ChConfig.TYPE_Time_Format_Day)
+        curTime = GameWorld.GetCurrentTime()
+        
+        curHour = GameWorld.GetCurrentTime().hour
+        if curTime.year == startData.year and curTime.month == startData.month and curTime.day == startData.day:
+            if 0<=curHour<5:
+                #GameWorld.DebugLog('多倍修行点开始天的0-5点不生效')
+                return multiple
+        if curTime.year == endData.year and curTime.month == endData.month and curTime.day == endData.day:
+            if curHour >=5:
+                #GameWorld.DebugLog('多倍修行点结束天的5点之后不生效')
+                return multiple
+        multiple = actRealmPointInfo.get(ShareDefine.ActKey_RealmPointMulti, 1)
+    return multiple
 
 ## 同步活跃度信息
 #  @param curPlayer

--
Gitblit v1.8.0