| | |
| | | import GameWorld
|
| | | import ChConfig
|
| | |
|
| | | def GetShopTypeList(cfgID, dayIndex):
|
| | | def GetShopTypeList(cfgID, dayIndex, woldLV):
|
| | | if cfgID == None or dayIndex == None:
|
| | | return []
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActSpringSale", cfgID)
|
| | | if not ipyData:
|
| | | return []
|
| | | shopTypeList = ipyData.GetShopTypeList()
|
| | | shopTypeList = GameWorld.GetDictValueByRangeKey(ipyData.GetShopTypeList(), woldLV, [])
|
| | | todayShopType = shopTypeList[-1] if dayIndex >= len(shopTypeList) else shopTypeList[dayIndex]
|
| | | return todayShopType
|
| | |
|
| | |
| | | actID = actInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actInfo.get(ShareDefine.ActKey_State, 0)
|
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
|
| | | |
| | | woldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SpringSaleID) # 玩家身上的活动ID
|
| | | isReset = False
|
| | | if actID != playerActID:
|
| | | isReset = True
|
| | | shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0))
|
| | | shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0), woldLV)
|
| | | FunctionNPCCommon.ResetShopItemBuyCountByShopType(curPlayer, shopTypeList)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleID, actID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SpringSaleMailState, 0)
|
| | |
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
|
| | | if not cfgID:
|
| | | return
|
| | | shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0))
|
| | | shopTypeList = GetShopTypeList(cfgID, actInfo.get(ShareDefine.ActKey_DayIndex, 0), actInfo.get(ShareDefine.ActKey_WorldLV, 0))
|
| | | if not shopTypeList:
|
| | | return
|
| | |
|
| | |
| | | if len(startTimeList) != len(endTimeList):
|
| | | GameWorld.ErrLog("限时特惠开关时间时分配置错误!cfgID=%s" % cfgID)
|
| | | return
|
| | | |
| | | job = curPlayer.GetJob()
|
| | | openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
|
| | | packInfo = ChPyNetSendPack.tagMCSpringSaleInfo()
|
| | | packInfo.StartDate = GameWorld.GetOperationActionDateStr(springSaleIpyData.GetStartDate(), openServerDay)
|
| | |
| | | giftBag.ItemInfo = []
|
| | | itemList = [[itemIpyData.GetItemID(), itemIpyData.GetItemCnt(), itemIpyData.GetIsBind()]]
|
| | | itemList += itemIpyData.GetItemListEx()
|
| | | jobItemList = itemIpyData.GetJobItem()
|
| | | for itemID, itemCount, isBind in itemList:
|
| | | item = ChPyNetSendPack.tagMCSpringSaleItem()
|
| | | item.ItemID = itemID
|
| | | jobItemID = FunctionNPCCommon.GetShopJobItem(job, itemID, jobItemList)
|
| | | item.ItemID = jobItemID
|
| | | item.ItemCount = itemCount
|
| | | item.IsBind = isBind
|
| | | item.IsMainItem = int(itemID == itemIpyData.GetMainItemID())
|
| | | item.IsMainItem = int(itemID == FunctionNPCCommon.GetShopJobItem(job, itemIpyData.GetMainItemID(), jobItemList))
|
| | | giftBag.ItemInfo.append(item)
|
| | | giftBag.GiftItemCount = len(giftBag.ItemInfo)
|
| | | shop.GiftbagInfo.append(giftBag)
|