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