From 022df2f7485767b90ac67abfcafdb5c0e6af427f Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 05 六月 2019 16:24:26 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py |   28 ++++++++++++----------------
 1 files changed, 12 insertions(+), 16 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 ee2cbd9..da0f3a2 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
@@ -194,14 +194,7 @@
     return
 
 ## 登录
-def ShopItemOnLogin(curPlayer):
-    if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_SuperGift):
-        GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_SuperGift, 1)
-        isGet = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GoldGiftFirstRecord)
-        if isGet:#首充奖励已领取则代表超值礼包已开启过,
-            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SuperGiftHasOpen, 1)
-            
-    
+def ShopItemOnLogin(curPlayer):    
     SyncMysticalLimitShopInfo(curPlayer)
     SyncShopItemTodayBuyCount(curPlayer)
     SyncSuperGiftInfo(curPlayer)
@@ -363,7 +356,7 @@
     diffTime = GameWorld.GetCurrentTime() - GameWorld.GetDateTimeByStr(createRoleTime, ChConfig.TYPE_Time_Format)
     pastSeconds = diffTime.days*24*60*60 + diffTime.seconds
     refreshTime = IpyGameDataPY.GetFuncCfg('MysteryShopRefresh', 4)
-    if pastSeconds % refreshTime == 0:
+    if refreshTime and pastSeconds % refreshTime == 0:
         __DoMysticalShopRefresh(curPlayer, True, tick)
     return
 
@@ -379,7 +372,10 @@
 
 def __DoMysticalShopRefresh(curPlayer, isFree, tick):
     global g_mysticalShopDict #{等级范围:[等级段,{金钱类型:库}]}
-    
+    refreshTime = IpyGameDataPY.GetFuncCfg('MysteryShopRefresh', 4)
+    if not refreshTime:
+        return
+
     lastTime = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MysticalShopLastTime)
     if lastTime and tick - lastTime < 1000:
         #GameWorld.DebugLog('神秘商店刷新,过于频繁!')
@@ -392,6 +388,8 @@
             lvRange = ipyData.GetLVRange()
             goodsID = ipyData.GetGoodsID()
             goodsIpyData = IpyGameDataPY.GetIpyGameData('Store', goodsID)
+            if not goodsIpyData:
+                continue
             moneyType = goodsIpyData.GetMoneyType()
             weight = goodsIpyData.GetLimitValue()
             lvkey = tuple(lvRange)
@@ -402,7 +400,8 @@
                 g_mysticalShopDict[lvkey][1][moneyType] = []
             weightDict[moneyType] = weightDict.get(moneyType, 0) + weight
             g_mysticalShopDict[lvkey][1][moneyType].append([weightDict[moneyType], goodsID])
-            
+    if not g_mysticalShopDict:
+        return 
     playerLV = curPlayer.GetLV()
     curLVDan, shopDict = GameWorld.GetDictValueByRangeKey(g_mysticalShopDict, playerLV)
     if not shopDict:
@@ -732,7 +731,7 @@
 
     itemControl = ItemControler.PlayerItemControler(curPlayer)
     for itemID, itemCount, isBind in totalItemList:
-        curItemObj = ItemControler.GetOutPutItemObj(itemID, itemCount, False)
+        curItemObj = ItemControler.GetOutPutItemObj(itemID, itemCount, False, curPlayer=curPlayer)
         if not curItemObj:
             continue
         userData = curItemObj.GetUserData()
@@ -861,10 +860,7 @@
             #活动结束 重置
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SuperGiftStartTime, 0)
     else:
-        if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SuperGiftHasOpen):
-            #老号已开启过超值礼包则不再开启
-            return
-        
+              
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SuperGiftStartTime, curTime)
         addItemList = IpyGameDataPY.GetFuncEvalCfg('SuperGiftTimeList', 2)
         PlayerControl.SendMailByKey('SellMail2', [curPlayer.GetID()], addItemList)

--
Gitblit v1.8.0