From d8a8aa5c0df74e9c2b9a485695543d293cf9eb5a Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 21 五月 2019 11:36:14 +0800 Subject: [PATCH] 6844 【2.0】【后端】缥缈仙域优化(奇遇掉落) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFairyDomain.py | 26 ++++++++++++++++++++++++-- 1 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFairyDomain.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFairyDomain.py index 2bcdc4d..5e2d28f 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFairyDomain.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFairyDomain.py @@ -26,12 +26,14 @@ 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-灵草 ( @@ -216,6 +218,7 @@ def EndFairyDomain(curPlayer): + GameWorld.DebugLog("EndFairyDomain", curPlayer.GetID()) ##结束寻访 PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainState, 0) otherCntRateList = IpyGameDataPY.GetFuncEvalCfg('ImmortalDomain', 2) @@ -432,11 +435,14 @@ 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)) @@ -449,4 +455,20 @@ 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 -- Gitblit v1.8.0