From 9b1eca8955321ce7ba8a8151f7c5c169da5fbff6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 06 八月 2025 15:25:29 +0800
Subject: [PATCH] 80 【常规】背包-服务端(去除使用物品多余验证;同步使用物品封包;)
---
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