From fd3137f3c58f6fb5f53c0bfc38c55c74e7709f72 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 04 八月 2025 15:07:05 +0800 Subject: [PATCH] 121 【武将】武将系统-服务端(阵容通知B124) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py | 45 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 36 insertions(+), 9 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py index 8165538..2284597 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerHero.py @@ -1220,15 +1220,6 @@ PlayerOnline.GetOnlinePlayer(curPlayer).SetCalcAttr(ChConfig.Def_CalcAttr_HeroBook, heroBookAttrDict) return -def RefreshLineupHeroAttr(curPlayer): - ## 刷新阵容武将属性 - - # 计算阵容总战力 = 角色总战力为主阵容战力,需同步计算不同阵容战力 - return - -def CaclHeroCardAttr(): - return - def Sync_HeroInfo(curPlayer, heroIDList=None): if heroIDList != None: syncHeroIDList = heroIDList @@ -1266,3 +1257,39 @@ clientPack.HeroCnt = len(clientPack.HeroInfoList) NetPackCommon.SendFakePack(curPlayer, clientPack) return + +def Sync_Lineup(curPlayer, lineupID=None): + if lineupID: + syncIDList = [lineupID] + else: + syncIDList = ShareDefine.LineupList + + lineupList = [] + olPlayer = PlayerOnline.GetOnlinePlayer(curPlayer) + for lineupID in syncIDList: + lineup = olPlayer.GetLineup(lineupID) + if not lineup: + continue + + posNumItemIndexDict = {v:k for k, v in lineup.heroItemDict.items()} + heroItemIndexList = [] # 所在武将背包索引+1列表 [站位1物品索引+1, 站位2, ...],站位无武将时为0 + for posNum in range(1, 1 + ShareDefine.LineupObjMax): + if posNum in posNumItemIndexDict: + heroItemIndexList.append(posNumItemIndexDict[posNum] + 1) + else: + heroItemIndexList.append(0) + packLineup = ChPyNetSendPack.tagSCLineup() + packLineup.LineupID = lineup.lineupID + packLineup.ShapeType = lineup.shapeType + packLineup.HeroItemIndexList = heroItemIndexList + packLineup.HeroCnt = len(packLineup.HeroItemIndexList) + lineupList.append(packLineup) + + if not lineupList: + return + + clientPack = ChPyNetSendPack.tagSCLineupInfo() + clientPack.LineupList = lineupList + clientPack.LineupCnt = len(clientPack.LineupList) + NetPackCommon.SendFakePack(curPlayer, clientPack) + return -- Gitblit v1.8.0