xdh
2019-03-14 dc639783906e372597fcc7de4739ef5e28b2640f
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -495,7 +495,7 @@
        
        if ItemCommon.GetIsEquip(itemData):
            for _ in xrange(itemCount):
                curItem = ItemControler.GetOutPutItemObj(itemID, isBind=isBind)
                curItem = ItemControler.GetOutPutItemObj(itemID)
                if curItem:
                    needSpace += 1
                    prizeItemList.append(curItem)
@@ -541,7 +541,7 @@
            index += 1
            if isinstance(curItem, list):
                itemID, itemCount, isBind = curItem
                curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isBind)
                curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, False)
                
            if not curItem:
                continue
@@ -569,7 +569,7 @@
        for prizeItem in prizeItemList:
            if isinstance(prizeItem, list):
                itemID, itemCount, isBind = prizeItem
                ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem],
                ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem],
                                             event=event)
            else:
                ItemControler.DoLogic_PutItemInPack(curPlayer, prizeItem, event=event)
@@ -4193,7 +4193,7 @@
            index += 1
            itemCnt = moneyValue if itemID == moneyID else 1
            isBind = dropItemBindDict.get(itemID, 1)
            curItem = self.__CreateDropItem(curNPC, itemID, itemCnt, isBind)
            curItem = self.__CreateDropItem(curNPC, itemID, itemCnt, isBind, dropPlayer)
            if not curItem:
                continue
            self.__MapCreateItem(curItem, resultX, resultY, ChConfig.Def_NPCHurtTypePlayer, ownerID)
@@ -4281,7 +4281,7 @@
                itemCnt = moneyValue if itemID == moneyID else 1
                isBind = dropIDBindDict.get(itemID, 1)
            
            curItem = self.__CreateDropItem(curNPC, itemID, itemCnt, isBind)
            curItem = self.__CreateDropItem(curNPC, itemID, itemCnt, isBind, dropPlayer)
            if not curItem:
                continue
            
@@ -4296,8 +4296,7 @@
                curItem.SetUserAttr(ShareDefine.Def_IudetSource, ShareDefine.Item_Source_VirtualItemDrop)
                dropItemDataStr = ChItem.GetMapDropItemDataStr(curItem)
                #可以放入背包
                if ItemControler.DoLogic_PutItemInPack(ownerPlayer, curItem, True, True,
                                                       event=["NPCDrop", False, {"npcID":npcID}]):
                if ItemControler.DoLogic_PutItemInPack(ownerPlayer, curItem, event=["NPCDrop", False, {"npcID":npcID}]):
                    #通知客户端
                    self.SendVirtualItemDrop(ownerPlayer, itemID, resultX, resultY, dropItemDataStr)
                    
@@ -5205,18 +5204,13 @@
        #self.__SetItemProtect(curMapItem, dropType, ownerID)
        return
    
    def __CreateDropItem(self, curNPC, itemID, count, isBind):
    def __CreateDropItem(self, curNPC, itemID, count, isAuctionItem, dropPlayer):
        ## 创建掉落的物品
        curItem = ItemControler.GetOutPutItemObj(itemID)
        if isAuctionItem and not IpyGameDataPY.GetIpyGameDataNotLog("AuctionItem", itemID):
            isAuctionItem = 0
        curItem = ItemControler.GetOutPutItemObj(itemID, count, isAuctionItem, curPlayer=dropPlayer)
        if not curItem:
            return
        curMapID = GameWorld.GetMap().GetMapID()
        curMapID = FBCommon.GetRecordMapID(curMapID)
        # 掉落数量
        curItem.SetCount(count)
        curItem.SetIsBind(isBind)
        return curItem
    
#---------------------------------------------------------------------
@@ -5462,7 +5456,7 @@
    giveItemList = collectNPCIpyData.GetCollectAward()
    if giveItemList:
        itemID, itemCount, isBind = giveItemList
        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, isBind, [IPY_GameWorld.rptItem])
        ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, [IPY_GameWorld.rptItem])
        
    #采集成就
    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_Collect, collectCnt, [npcID])