6061 【后端】【1.5.100】掉落表现优化(诛仙boss堆叠物品散开掉落)
2个文件已修改
20 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py
@@ -416,7 +416,7 @@
        gameFB.SetPlayerGameFBDict(firstPlayerID, FBPlayerDict_Rank, 1)
        if not dropPosX or not dropPosY:
            dropPosX, dropPosY = firstPlayer.GetPosX(), firstPlayer.GetPosY()
        prizeItemList = GiveZhuXianBossAward(firstPlayer, lineID, dropItemMapInfo=[dropPosX, dropPosY, True])
        prizeItemList = GiveZhuXianBossAward(firstPlayer, lineID, dropItemMapInfo=[dropPosX, dropPosY, True, True])
        if not prizeItemList:
            # 没有掉落时直接通知结算,防止卡副本
            firstPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -508,7 +508,19 @@
        
    ## 直接掉地板上
    if dropItemMapInfo:
        dropPosX, dropPosY, isOnlySelfSee = dropItemMapInfo
        dropPosX, dropPosY, isOnlySelfSee = dropItemMapInfo[:3]
        isDropDisperse = dropItemMapInfo[3] if len(dropItemMapInfo) > 3 else False # 堆叠的物品是否散开掉落
        if isDropDisperse:
            dropItemList = []
            for itemInfo in prizeItemList:
                if isinstance(itemInfo, list):
                    itemID, itemCount, isBind = itemInfo
                    for _ in xrange(itemCount):
                        dropItemList.append([itemID, 1, isBind])
                else:
                    dropItemList.append(itemInfo)
        else:
            dropItemList = prizeItemList
        index = 0
        playerID = curPlayer.GetPlayerID()
        gameMap = GameWorld.GetMap()
@@ -520,10 +532,10 @@
                #玩家不可移动这个点
                continue
            
            if index > len(prizeItemList) - 1:
            if index > len(dropItemList) - 1:
                break
            
            curItem = prizeItemList[index]
            curItem = dropItemList[index]
            index += 1
            if isinstance(curItem, list):
                itemID, itemCount, isBind = curItem