From f0302a8aa76c1475917cbb09ec9a3ca599d65d3a Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 30 五月 2019 10:12:33 +0800
Subject: [PATCH] 7003 【后端】【2.0】丹塔活跃值

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
index e2e458c..7454d3b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChItem.py
@@ -53,6 +53,7 @@
 import NPCCommon
 import FBCommon
 
+import random
 import json
 #---------------------------------------------------------------------
 #导入
@@ -265,10 +266,9 @@
             return
 
         if dropItemNPCID:
-            serverGroupID = PlayerControl.GetPlayerServerGroupID(curPlayer)
             mapID = GameWorld.GetGameWorld().GetMapID()
-            NPCCommon.SendGameServerGoodItemRecord(mapID, dropItemNPCID, curPlayer.GetName(), 
-                                                   curPlayer.GetPlayerID(), curItemID, equipInfo, serverGroupID)
+            lineID = 0 if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull else PlayerControl.GetFBFuncLineID(curPlayer)
+            NPCCommon.SendGameServerGoodItemRecord(curPlayer, mapID, lineID, dropItemNPCID, curItemID, equipInfo)
             
         # 不需要队伍提示
         #=======================================================================
@@ -724,8 +724,8 @@
                             ChConfig.Def_Effect_ChatBubbleBox:"Item_ChatBubbleBox", # 激活聊天气泡框
                             ChConfig.Def_Effect_ItemGiveWeekPartyPoint:"Item_WeekPartyPoint", # 增加活动巡礼积分
                             ChConfig.Def_Effect_ItemGiveWeekPartyPoint1:"Item_WeekPartyPoint", # 增加活动巡礼积分
-                            #ChConfig.Def_Effect_AddZhenQiByTimes:"Item_AddZhenQiByTimes", # 增加真气按一天使用次数减少
-                            #ChConfig.Def_Effect_AddPrestige:"Item_AddPrestige",  # 给人物威望
+                            ChConfig.Def_Effect_AddRealmExpRate:"Item_AddRealmExpRate", # 增加聚灵效率
+                            ChConfig.Def_Effect_TouchMission:"Item_TouchMission",  # 触发任务接口
                             #ChConfig.Def_Effect_FamilyImpeach:"Item_FamilyImpeach",  # 弹劾符
                             #ChConfig.Def_Effect_ClothesCoatSkin:"Item_ClothesCoatSkin", #激活时装皮肤
                             #ChConfig.Def_Effect_AddOfficialExp:"Item_AddOfficialExp", # 增加爵位经验
@@ -1780,6 +1780,54 @@
     return
 
 #---------------------------------------------------------------------
+
+def DoMapDropItem(curPlayer, itemList, npcID, dropPosX, dropPosY, isOnlySelfSee=True, isDropDisperse=True):
+    if not itemList:
+        return
+    if isDropDisperse:
+        dropItemList = []
+        for itemInfo in itemList:
+            if isinstance(itemInfo, list):
+                itemID, itemCount, isAuctionItem = itemInfo
+                # 拍品不拆
+                if isAuctionItem:
+                    dropItemList.append(itemInfo)
+                    continue
+                for _ in xrange(itemCount):
+                    dropItemList.append([itemID, 1, isAuctionItem])
+            else:
+                dropItemList.append(itemInfo)
+    else:
+        dropItemList = itemList
+        
+    random.shuffle(dropItemList) # 打乱顺序
+    index = 0
+    playerID = curPlayer.GetPlayerID()
+    gameMap = GameWorld.GetMap()
+    for posX, posY in ChConfig.Def_DropItemAreaMatrix:
+        resultX = dropPosX + posX
+        resultY = dropPosY + posY
+        
+        if not gameMap.CanMove(resultX, resultY):
+            #玩家不可移动这个点
+            continue
+        
+        if index > len(dropItemList) - 1:
+            break
+        
+        curItem = dropItemList[index]
+        index += 1
+        if isinstance(curItem, list):
+            itemID, itemCount, isAuctionItem = curItem
+            curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem, curPlayer=curPlayer)
+            
+        if not curItem:
+            continue
+        
+        AddMapDropItem(resultX, resultY, curItem, ownerInfo=[ChConfig.Def_NPCHurtTypePlayer, playerID], 
+                       dropNPCID=npcID, isOnlySelfSee=isOnlySelfSee)    
+    return
+
 ## 在地上添加物品(统一接口)
 #  @param itemPosX 位置x
 #  @param itemPosY 位置y

--
Gitblit v1.8.0