From 726517b2002ec6dd46e07f89c10fdfe0274243af Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 04 九月 2025 19:47:26 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(修复buff报错;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py | 19 +++++++++---------- 1 files changed, 9 insertions(+), 10 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py index d9506f8..73e7616 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerOnline.py @@ -65,18 +65,19 @@ self.fightPower = 0 # 阵容总战力 return - def UpdLineup(self, heroItemDict, shapeType=0, refreshForce=False, syncLineup=True): + def UpdLineup(self, heroItemDict, shapeType=0, refreshForce=False, isReload=False): '''变更阵容时更新 @param heroItemDict: 武将背包索引信息 {itemIndex:posNum, ...} @param shapeType: 阵型 @param refreshForce: 是否强制刷属性 ''' - self.lineupChange = True + if not isReload: # 非重读阵容的视为变更 + self.lineupChange = True self.shapeType = shapeType self.heroItemDict = heroItemDict GameWorld.DebugLog("更新阵容: lineupID=%s,%s" % (self.lineupID, heroItemDict), self.playerID) self.RefreshLineupAttr(refreshForce) - if syncLineup and self.olPlayer.curPlayer: + if not isReload and self.olPlayer.curPlayer: PlayerHero.Sync_Lineup(self.olPlayer.curPlayer, self.lineupID) return @@ -391,7 +392,7 @@ # 获取其他绑定该阵容的功能,如红颜、灵兽等 shapeType = lineShapeTypeDict.get(lineupID, 0) - lineup.UpdLineup(heroItemDict, shapeType, syncLineup=False) + lineup.UpdLineup(heroItemDict, shapeType, isReload=True) PlayerHero.Sync_Lineup(curPlayer) return @@ -514,9 +515,9 @@ # 突破潜能 breakAttrDict = {} - awakeIpyDataList = IpyGameDataPY.GetIpyGameDataList("HeroBreak", heroID) - if awakeIpyDataList: - for breakIpyData in awakeIpyDataList: + breakIpyDataList = IpyGameDataPY.GetIpyGameDataList("HeroBreak", heroID) + if breakIpyDataList: + for breakIpyData in breakIpyDataList: if breakIpyData.GetBreakLV() > breakLV: break attrIDList = breakIpyData.GetAttrIDList() @@ -771,8 +772,6 @@ GameWorld.DebugLog("主阵容变化,重新开始战斗", playerID) if mainTurnFight.mapID == ChConfig.Def_FBMapID_Main: TurnAttack.__doMainLevelWave(curPlayer, True) - elif mainTurnFight.mapID == ChConfig.Def_FBMapID_MainBoss: - TurnAttack.__doMainBossStart(curPlayer) # 否则只重新设置战斗属性 else: @@ -788,7 +787,7 @@ continue lineupHero = lineup.GetLineupHero(posNum) if lineupHero.heroBatAttrDict: - batObj.UpdInitBatAttr(lineupHero.heroBatAttrDict) + batObj.UpdInitBatAttr(lineupHero.heroBatAttrDict, lineupHero.heroSkillIDList) else: GameWorld.DebugLog("主阵容没有在战斗中,不需要处理", playerID) -- Gitblit v1.8.0