| | |
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import GameWorld
|
| | | import EventShell
|
| | | import IPY_GameWorld
|
| | | import ItemControler
|
| | | import ChConfig
|
| | |
| | | import IpyGameDataPY
|
| | | import PlayerRune
|
| | | import GameFuncComm
|
| | | import PlayerFairyCeremony
|
| | | import PlayerNewFairyCeremony
|
| | | import PlayerSpringSale
|
| | | import PyGameData
|
| | |
|
| | | import random
|
| | | import math
|
| | | import time
|
| | |
|
| | | # 商店类型定义
|
| | | ShopType_FairyCeremony = 19 # 仙界盛典烟花
|
| | |
|
| | | g_mysticalShopDict = {} #神秘商店{等级范围:[等级段,{金钱类型:库}]}
|
| | | #---------------------------------------------------------------------
|
| | |
| | | # @return 远程商店的npc
|
| | | def GetDirectNpcID():
|
| | | return 0
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ##结束事件
|
| | | # @param curPlayer 玩家实例
|
| | | # @param tick 时间戳
|
| | | # @return 返回值真, 逻辑运行成功
|
| | | # @remarks 结束事件
|
| | | def ExitEvent(curPlayer, tick):
|
| | | |
| | | EventShell.DoExitEvent(curPlayer)
|
| | | return True
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ##请求商店物品列表
|
| | |
| | | if not sendMailKey:
|
| | | if not ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, event=[ChConfig.ItemGive_BuyItem, isForceEvent, dataDict]):
|
| | | GameWorld.ErrLog("购买商城物品放入背包失败! itemID=%s, itemCount=%s" % (itemID, itemCount), curPlayer.GetPlayerID())
|
| | | EventShell.EventRespons_BuyItem(curPlayer, itemID, itemCount)
|
| | | |
| | | |
| | | if ipyData.GetNotifyMark() and itemID == mainItemID:
|
| | | PlayerControl.WorldNotify(0, ipyData.GetNotifyMark(), [curPlayer.GetName(), mainItemID, userData])
|
| | |
|
| | |
| | | PlayerControl.SendMailByKey(sendMailKey, [curPlayer.GetID()], totalItemList, detail=dataDict)
|
| | | else:
|
| | | ItemControler.NotifyGiveAwardInfo(curPlayer, totalItemList, ChConfig.ItemGive_BuyItem, dataEx=shopType)
|
| | | #触发任务购买物品
|
| | | EventShell.EventRespons_ShopBuy(curPlayer, shopType)
|
| | | #curPlayer.ShopResult(itemIndex, IPY_GameWorld.tsrShopOK)
|
| | | SyncShoppingResult(curPlayer, itemIndex, clientBuyCount)
|
| | | |
| | | if shopType == ShopType_FairyCeremony:
|
| | | PlayerFairyCeremony.OnBuyFireworks(curPlayer, itemIndex, clientBuyCount)
|
| | | # if itemIndex in IpyGameDataPY.GetFuncEvalCfg('NewCeremonyFireParty', 1, {}).values():
|
| | | # PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Fireworks, clientBuyCount)
|
| | | return
|
| | |
|
| | | def GetShopJobItem(job, itemID, jobItemList):
|
| | |
| | | #playerCreateRoleDays = GameWorld.GetCreateRoleDays(curPlayer)
|
| | | openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)+1
|
| | | return openServerDay != limitValue
|
| | | |
| | | #仙界盛典 - 烟花狂欢
|
| | | if shopNPCID == ShopType_FairyCeremony:
|
| | | return not PlayerFairyCeremony.IsCanBuyFireworks(curPlayer, itemIndex, clientBuyCount)
|
| | | |
| | | #另一个仙界盛典可用其他商店NPCID,这里先注释,之后再改
|
| | | # if itemIndex in IpyGameDataPY.GetFuncEvalCfg('NewCeremonyFireParty', 1, {}).values():
|
| | | # return not PlayerNewFairyCeremony.IsCanBuyFireworks(curPlayer, itemIndex)
|
| | |
|
| | | if shopNPCID == 16:#神秘限购
|
| | | startTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ShopItemStartTime % itemIndex)
|