| | |
| | |
|
| | | def sortActionQueue(self):
|
| | | ## 刷新出手顺序队列
|
| | | batObjMgr = BattleObj.GetBatObjMgr()
|
| | | sortList = []
|
| | | for batFaction in self.factionDict.values():
|
| | | faction = batFaction.faction
|
| | | for num, batLineup in batFaction.lineupDict.items():
|
| | | isPlayer = 1 if batLineup.ownerID else 0 # 玩家阵容优先攻击
|
| | | atkSpeed = 0
|
| | | for objID in batLineup.getBatHeroObjIDList():
|
| | | batObj = batObjMgr.getBatObj(objID)
|
| | | if not batObj:
|
| | | continue
|
| | | atkSpeed += batObj.GetBatAttrValue(ChConfig.AttrID_AtkSpeed)
|
| | | fightPower = batLineup.fightPower
|
| | | sortValue = -(faction * 10 + num)
|
| | | sortList.append([isPlayer, fightPower, sortValue, faction, num])
|
| | | sortList.append([isPlayer, atkSpeed, fightPower, sortValue, faction, num])
|
| | | sortList.sort(reverse=True) # 战力高的先手
|
| | |
|
| | | self.actionIndex = 0
|
| | | self.actionSortList = []
|
| | | for _, _, _, faction, num in sortList:
|
| | | for sortInfo in sortList:
|
| | | faction, num = sortInfo[-2:]
|
| | | self.actionSortList.append([faction, num])
|
| | |
|
| | | GameWorld.DebugLogEx("阵容战力排序[isPlayer, fp, sortV, f, n]: %s", sortList)
|