6061 【后端】【1.5.100】掉落表现优化(诛仙boss堆叠物品散开掉落)
| | |
| | | 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)
|
| | |
| | |
|
| | | ## 直接掉地板上
|
| | | 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()
|
| | |
| | | #玩家不可移动这个点
|
| | | 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
|