hxp
2025-11-26 7b90cde5f40489da145a24dd30dc44c5e784c08e
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -234,6 +234,8 @@
        self.tagViewCache = tagViewCache
        return
    
    def getPVPPlayerID(self): return self.tagPlayerID # 获取PVP目标玩家ID,也可用于判断是否PVP
    def isFBMap(self):
        ## 是否副本地图中,非主线的均视为副本
        return self.mapID not in [ChConfig.Def_FBMapID_Main, ChConfig.Def_FBMapID_MainBoss]
@@ -574,7 +576,7 @@
    olPlayer = PlayerOnline.GetOnlinePlayer(curPlayer)
    lineup = olPlayer.GetLineup(lineupID)
    if lineup.IsEmpty():
        GameWorld.DebugLog("玩家没有目标阵容默认取主阵容! lineupID=%s" % lineupID)
        GameWorld.DebugLog("玩家没有目标阵容默认取主阵容! lineupID=%s" % lineupID, curPlayer.GetPlayerID())
        lineup = olPlayer.GetLineup(ShareDefine.Lineup_Main)
    return lineup
@@ -1141,10 +1143,12 @@
    tagViewCache = PlayerViewCache.FindViewCache(tagPlayerID)
    if not tagViewCache:
        GameWorld.DebugLog("目标玩家没有缓存数据! tagPlayerID=%s" % tagPlayerID, playerID)
        return {}
        PlayerControl.NotifyCode(curPlayer, "TagNoViewCache")
        return
    defLineupInfo = GetCacheLineupInfo(tagViewCache, defLineupID)
    if not defLineupInfo:
        GameWorld.DebugLog("目标玩家没有该阵容数据! tagPlayerID=%s,defLineupID=%s" % (tagPlayerID, defLineupID), playerID)
        PlayerControl.NotifyCode(curPlayer, "TagNoLineup")
        return
    
    turnMax = GetTurnMax(mapID)
@@ -1253,15 +1257,13 @@
def __doSetFightPoint(curPlayer, fightPoint):
    ## 设置消耗倍值
    GameWorld.DebugLog("设置战锤消耗倍值: %s" % fightPoint)
    if fightPoint == 1:
        pass
    elif fightPoint == 2:
        # 条件验证
        pass
    elif fightPoint == 3:
        # 条件验证
        pass
    else:
    needTreeLVList = IpyGameDataPY.GetFuncEvalCfg("AutoGuaji", 1)
    if fightPoint < 1 or fightPoint > len(needTreeLVList):
        return
    needTreeLV = needTreeLVList[fightPoint - 1]
    treeLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreeLV)
    if treeLV < needTreeLV:
        GameWorld.DebugLog("祝福树等级不足: treeLV=%s < %s" % (treeLV, needTreeLV))
        return
    curPlayer.SetFightPoint(fightPoint)
    return
@@ -1549,6 +1551,7 @@
            batObj = batObjMgr.getBatObj(objID)
            turnFight.ResetOneActionUseSkillCnt()
            TurnPassive.OnTriggerPassiveEffect(turnFight, batObj, ChConfig.TriggerWay_FightStart)
            TurnPassive.OnTriggerPassiveEffect(turnFight, batObj, ChConfig.TriggerWay_InBattlefield)
            
    turnFight.enterLogic = True
    return True
@@ -1913,8 +1916,12 @@
    turnFight.costTime = time.time() - turnFight.startTime
    winFaction = turnFight.winFaction
    turnFight.isWin = (winFaction == ChConfig.Def_FactionA)
    mapID = turnFight.mapID
    funcLineID = turnFight.funcLineID
    GameWorld.DebugLog("--- 战斗结束处理 ---, winFaction=%s, costTime=%ss, %s" % (winFaction, turnFight.costTime, guid))
    if mapID != ChConfig.Def_FBMapID_Main:
        GameWorld.Log("战斗耗时: %ss, mapID=%s,funcLineID=%s" % (turnFight.costTime, mapID, funcLineID))
    # 统计明细
    batObjMgr = BattleObj.GetBatObjMgr()
    statInfo = {}
@@ -1949,8 +1956,6 @@
                
    overMsg = {"winFaction":winFaction, "statInfo":statInfo}
    curPlayer = turnFight.curPlayer
    mapID = turnFight.mapID
    funcLineID = turnFight.funcLineID
    
    FBLogic.OnTurnFightOver(curPlayer, turnFight, mapID, funcLineID, overMsg)