From 0494d4903383737139445b11e525a9e2ca583801 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 21 二月 2019 16:47:35 +0800
Subject: [PATCH] 6268 【后端】【1.6.100】增加道具七日巡礼积分和节日巡礼积分支持
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/FunctionNPCCommon.py | 43 ++++++++++++++++++++++++++++++++-----------
1 files changed, 32 insertions(+), 11 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 37d46ab..2573564 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
@@ -64,6 +64,7 @@
import PlayerRune
import GameFuncComm
import PlayerFairyCeremony
+import PlayerNewFairyCeremony
import PlayerSpringSale
import PyGameData
@@ -215,18 +216,29 @@
elif onEventType == ShareDefine.Def_OnEventTypeEx:
refreshType = [4]
openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)
- if openServerDay % 3 == 0:
- refreshType = [4,7]
+ isMixServer = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_IsMixServer)
+ if isMixServer:
+ mixServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_MixServerDay)
+ if mixServerDay % 3 == 0:
+ refreshType.append(7)
+ elif openServerDay % 3 == 0:
+ refreshType.append(7)
else:
return
- __ResetShopItemBuyCount(curPlayer, refreshType)
+ ResetShopItemBuyCount(curPlayer, refreshType)
return
##商店物品OnWeek
# @param curPlayer 玩家实例
# @return
def ShopItemOnWeek(curPlayer, onEventType):
- __ResetShopItemBuyCount(curPlayer, [onEventType])
+ if onEventType == ShareDefine.Def_OnEventType:
+ refreshType = [1]
+ elif onEventType == ShareDefine.Def_OnEventTypeEx:
+ refreshType = [2]
+ else:
+ return
+ ResetShopItemBuyCount(curPlayer, refreshType)
return
##商店物品OnMonth
@@ -239,24 +251,29 @@
refreshType = 6
else:
return
- __ResetShopItemBuyCount(curPlayer, [refreshType])
+ ResetShopItemBuyCount(curPlayer, [refreshType])
return
def ShopItemOnCrossPKSeasonChange(curPlayer):
## 按跨服PK赛季重置
refreshType = 8
- __ResetShopItemBuyCount(curPlayer, [refreshType])
+ ResetShopItemBuyCount(curPlayer, [refreshType])
return
-def __ResetShopItemBuyCount(curPlayer, onEventTypeList):
+def ResetShopItemBuyCount(curPlayer, resetTypeList):
+ #@param resetTypeList: 需要重置的类型列表
#重置商店物品购买次数 1:周一0点刷新 2:周一5点刷新 3:每日0点刷新 4:每日5点刷新 5每月0点 6每月5点 7每3天5点 8每赛季
+ if not resetTypeList:
+ # 暂定必须指定类型列表,防止终身限购的误被重置
+ return
+
syncIndexList = []
ipyDataMgr = IpyGameDataPY.IPY_Data()
for i in xrange(ipyDataMgr.GetStoreCount()):
shopItem = ipyDataMgr.GetStoreByIndex(i)
if not shopItem.GetLimitCnt():
continue
- if shopItem.GetRefreshType() not in onEventTypeList:
+ if shopItem.GetRefreshType() not in resetTypeList:
continue
dayBuyCntKey = ChConfig.Def_PDict_ShopItemDayBuyCnt % shopItem.GetID()
curDayBuyCnt = curPlayer.NomalDictGetProperty(dayBuyCntKey)
@@ -407,7 +424,7 @@
if not state:
GameWorld.DebugLog("限时特惠非活动中!state=%s" % (state), curPlayer.GetPlayerID())
return
- shopTypeList = PlayerSpringSale.GetShopTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0))
+ shopTypeList = PlayerSpringSale.GetShopTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0), actInfo.get(ShareDefine.ActKey_WorldLV, 0))
if not shopTypeList:
return
actShopType = shopTypeList[-1] if state > len(shopTypeList) else shopTypeList[state - 1]
@@ -421,7 +438,7 @@
if not state:
GameWorld.DebugLog("限时抢购非活动中!state=%s" % (state), curPlayer.GetPlayerID())
return
- shopTypeList = PlayerFlashSale.GetShopTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0), state)
+ shopTypeList = PlayerFlashSale.GetShopTypeList(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0), state, actInfo.get(ShareDefine.ActKey_WorldLV, 0))
if not shopTypeList:
return
actShopType = shopTypeList[0]
@@ -601,6 +618,9 @@
SyncShoppingResult(curPlayer, itemIndex, clientBuyCount)
if itemIndex in IpyGameDataPY.GetFuncEvalCfg('CeremonyFireParty', 1, {}).values():
PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Fireworks, clientBuyCount)
+ if itemIndex in IpyGameDataPY.GetFuncEvalCfg('NewCeremonyFireParty', 1, {}).values():
+ PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Fireworks, clientBuyCount)
+
return
def GetShopJobItem(job, itemID, jobItemList):
@@ -645,7 +665,8 @@
#烟花狂欢
if itemIndex in IpyGameDataPY.GetFuncEvalCfg('CeremonyFireParty', 1, {}).values():
return not PlayerFairyCeremony.IsCanBuyFireworks(curPlayer, itemIndex)
-
+ if itemIndex in IpyGameDataPY.GetFuncEvalCfg('NewCeremonyFireParty', 1, {}).values():
+ return not PlayerNewFairyCeremony.IsCanBuyFireworks(curPlayer, itemIndex)
# if itemIndex in dict(IpyGameDataPY.GetFuncEvalCfg('SuperGiftTimeList')):
# return not CheckSuperGiftBuy(curPlayer, itemIndex)
if shopNPCID == 16:#神秘限购
--
Gitblit v1.8.0