From b26e86ed1f7d15a3a6a7ebff2e1b8201b9e8ebf5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 01 八月 2019 14:06:57 +0800
Subject: [PATCH] 8180 【后端】【主干】优化组队打BOSS(优化掉落表现,组队打掉多份的时候只能看到归属自己的物品)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index ac4a58a..4eb87ee 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -4394,7 +4394,7 @@
     #  @param HurtType 伤血类型
     #  @param HurtID 伤血ID
     #  @return 返回值无意义
-    def __NPCDropItem(self, dropPlayer, hurtType, hurtID, ownerPlayerList=[]):
+    def __NPCDropItem(self, dropPlayer, hurtType, hurtID, ownerPlayerList=[], isOnlySelfSee=False):
         if not dropPlayer:
             return
         curNPC = self.__Instance
@@ -4493,7 +4493,7 @@
                     SendVirtualItemDrop(ownerPlayer, itemID, resultX, resultY, dropItemDataStr)
                     
             else:
-                self.__MapCreateItem(curItem, resultX, resultY, ownerType, ownerID)
+                self.__MapCreateItem(curItem, resultX, resultY, ownerType, ownerID, isOnlySelfSee=isOnlySelfSee)
         return
     #---------------------------------------------------------------------
     ## NPC被杀死逻辑处理
@@ -4705,7 +4705,7 @@
             #调用物品掉落,boss一人一份
             if isGameBoss and hurtType in [ChConfig.Def_NPCHurtTypePlayer, ChConfig.Def_NPCHurtTypeTeam, ChConfig.Def_NPCHurtTypeSpecial]:
                 for curPlayer in ownerPlayerList:
-                    self.__NPCDropItem(curPlayer, ChConfig.Def_NPCHurtTypePlayer, curPlayer.GetPlayerID(), [curPlayer])
+                    self.__NPCDropItem(curPlayer, ChConfig.Def_NPCHurtTypePlayer, curPlayer.GetPlayerID(), [curPlayer], isOnlySelfSee=True)
             elif dropPlayer:
                 self.__NPCDropItem(dropPlayer, hurtType, hurtID, ownerPlayerList)
                     
@@ -5161,7 +5161,7 @@
         #调用物品掉落,boss一人一份
         if isGameBoss and hurtType in [ChConfig.Def_NPCHurtTypePlayer, ChConfig.Def_NPCHurtTypeTeam, ChConfig.Def_NPCHurtTypeSpecial]:
             for curPlayer in ownerPlayerList:
-                self.__NPCDropItem(curPlayer, ChConfig.Def_NPCHurtTypePlayer, curPlayer.GetPlayerID(), [curPlayer])
+                self.__NPCDropItem(curPlayer, ChConfig.Def_NPCHurtTypePlayer, curPlayer.GetPlayerID(), [curPlayer], isOnlySelfSee=True)
         elif dropPlayer:
             self.__NPCDropItem(dropPlayer, hurtType, hurtID, ownerPlayerList)
         #GameWorld.Log("队伍杀死怪物奖励,逻辑成功结束")
@@ -5379,7 +5379,7 @@
     #  @param dropType: 掉落类型
     #  @param ownerID: 归属者
     #  @return: None
-    def __MapCreateItem(self, curItem, posX, posY, dropType, ownerID):
+    def __MapCreateItem(self, curItem, posX, posY, dropType, ownerID, isOnlySelfSee=False):
         if not curItem:
             return
         
@@ -5398,7 +5398,7 @@
         # 在地上添加物品(统一接口)
         dropNPCID = 0 if not ChConfig.IsGameBoss(curNPC) else curNPCID
         specOwnerIDList = [player.GetPlayerID() for player in self.__ownerPlayerList] if dropType == ChConfig.Def_NPCHurtTypeSpecial else []
-        curMapItem = ChItem.AddMapDropItem(posX, posY, curItem, ownerInfo=[dropType, ownerID, specOwnerIDList], dropNPCID=dropNPCID)
+        curMapItem = ChItem.AddMapDropItem(posX, posY, curItem, ownerInfo=[dropType, ownerID, specOwnerIDList], dropNPCID=dropNPCID, isOnlySelfSee=isOnlySelfSee)
         
         #设置该物品生前拥有者(那个NPC掉落的)
         if curMapItem == None:

--
Gitblit v1.8.0