| | |
| | | import IpyGameDataPY
|
| | | import PlayerActivity
|
| | | import ItemControler
|
| | | import ItemCommon
|
| | | import PyGameData
|
| | | import EventShell
|
| | | import FBCommon
|
| | | import NPCCommon
|
| | |
|
| | | import copy
|
| | | import random
|
| | | import FBCommon
|
| | |
|
| | | #0-奇遇 1-宝藏 2-仙草 3-妖王 4-灵草
|
| | | (
|
| | |
| | |
|
| | |
|
| | | def EndFairyDomain(curPlayer):
|
| | | GameWorld.DebugLog("EndFairyDomain", curPlayer.GetID())
|
| | | ##结束寻访
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainState, 0)
|
| | | otherCntRateList = IpyGameDataPY.GetFuncEvalCfg('ImmortalDomain', 2)
|
| | |
| | | if not gearAwardList:
|
| | | return
|
| | | itemRateList = gearAwardList[index] if index < len(gearAwardList) else gearAwardList[-1]
|
| | | itemRateList = ItemCommon.GetWeightItemListByAlchemyDiffLV(curPlayer, itemRateList, 1)
|
| | | giveItemList = [GameWorld.GetResultByWeightList(itemRateList)]
|
| | | else:
|
| | | giveItemList = [ipyData.GetBasicAward()]
|
| | |
|
| | | ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList)
|
| | | for itemInfo in giveItemList:
|
| | | NPCCommon.SendVirtualItemDrop(curPlayer, itemInfo[0], 0, 0, '')
|
| | | msgDict = {FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(giveItemList)}
|
| | | FBCommon.Notify_FB_Over(curPlayer, msgDict)
|
| | | GameWorld.DebugLog('缥缈奇遇领奖 msgDict=%s, fdeventID=%s' % (msgDict, fdeventID))
|
| | |
| | | ipyData = IpyGameDataPY.GetIpyGameDataByCondition('FairyDomainAppoint', {'Cnt':visitCnt, 'EventID':fdEventID}, False, False)
|
| | | if not ipyData:
|
| | | return
|
| | | return ipyData.GetAward()
|
| | | job = curPlayer.GetJob()
|
| | | itemList = []
|
| | | for itemInfo in ipyData.GetAward():
|
| | | if type(itemInfo[0]) == dict:
|
| | | if job not in itemInfo[0]:
|
| | | continue
|
| | | itemList.append([itemInfo[0][job], itemInfo[1], itemInfo[2]])
|
| | | else:
|
| | | itemList.append(itemInfo)
|
| | | |
| | | for itemRateList in ipyData.GetRandomAward():
|
| | | itemRateList = ItemCommon.GetWeightItemListByAlchemyDiffLV(curPlayer, itemRateList, 1)
|
| | | giveItem = GameWorld.GetResultByWeightList(itemRateList)
|
| | | if not giveItem:
|
| | | continue
|
| | | itemList.append(giveItem)
|
| | | return itemList
|