129 【战斗】战斗系统-服务端(初始战斗防范没有阵容的情况;角色初始章节刷怪兼容;)
3个文件已修改
44 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -583,6 +583,9 @@
        if heroCount >= ShareDefine.LineupObjMax:
            break
        
    if not heroDict:
        return {}
    # 主公属性
    lordAttrDict = PlayerControl.GetLordAttr(curPlayer)
    
@@ -783,12 +786,9 @@
    # @param isRestStart: 是否从休息状态重新开始的
    playerID = curPlayer.GetPlayerID()
    chapterID, levelNum, wave = PlayerControl.GetMainLevelNowInfo(curPlayer)
    if not chapterID:
        chapterID = 1
    if not levelNum:
        levelNum =1
    if not wave:
        wave = 1
    if not chapterID and not levelNum:
        PlayerControl.SetMainLevelNowInfo(curPlayer, 1, 1, 1)
        chapterID, levelNum, wave = PlayerControl.GetMainLevelNowInfo(curPlayer)
    GameWorld.DebugLog("请求关卡波战斗: chapterID=%s,levelNum=%s,wave=%s,isRestStart=%s" % (chapterID, levelNum, wave, isRestStart), playerID)
    fightPoint = max(curPlayer.GetFightPoint(), 1)
    if not PlayerControl.HaveMoney(curPlayer, ShareDefine.TYPE_Price_Xiantao, fightPoint):
@@ -824,6 +824,11 @@
    teamNum = 1
    lineupID = waveLineupList[teamNum - 1] # NPC阵容ID
    
    lineupMainInfo = GetPlayerLineup(curPlayer, ShareDefine.Lineup_Main)
    if not lineupMainInfo:
        GameWorld.DebugLog("没有设置主阵容!", playerID)
        return
    mainFightMgr = GetMainFightMgr(curPlayer)
    mainFightMgr.nextTeam = False
    mainFightMgr.chapterID = chapterID
@@ -840,7 +845,7 @@
    
    turnFight = mainFightMgr.turnFight
    turnFight.setTurn(mapID, funcLineID, turnMax, False, {"teamNum":teamNum, "teamMax":teamMax})
    turnFight.setFactionLineup(Def_FactionA, {1:GetPlayerLineup(curPlayer, ShareDefine.Lineup_Main)}, True)
    turnFight.setFactionLineup(Def_FactionA, {1:lineupMainInfo}, True)
    turnFight.setFactionLineup(Def_FactionB, {1:GetNPCLineup(lineupID)})
    turnFight.sortActionQueue()
    turnFight.syncInit()
@@ -893,6 +898,11 @@
    
    wave = waveMax = 1 # 关卡boss固定只有一波
    
    lineupMainInfo = GetPlayerLineup(curPlayer, ShareDefine.Lineup_Main)
    if not lineupMainInfo:
        GameWorld.DebugLog("没有设置主阵容!", playerID)
        return
    mainFightMgr = GetMainFightMgr(curPlayer)
    mainFightMgr.nextTeam = False
    mainFightMgr.chapterID = chapterID
@@ -909,7 +919,7 @@
    
    turnFight = mainFightMgr.turnFight
    turnFight.setTurn(mapID, funcLineID, turnMax, False, {"teamNum":teamNum, "teamMax":teamMax})
    turnFight.setFactionLineup(Def_FactionA, {1:GetPlayerLineup(curPlayer, ShareDefine.Lineup_Main)}, True)
    turnFight.setFactionLineup(Def_FactionA, {1:lineupMainInfo}, True)
    turnFight.setFactionLineup(Def_FactionB, {1:GetNPCLineup(lineupID)})
    turnFight.sortActionQueue()
    turnFight.syncInit()
@@ -931,7 +941,6 @@
            teamNum = mainFightMgr.teamNum = mainFightMgr.teamNum + 1
            GameWorld.DebugLog("开始进入下一小队: teamNum=%s" % teamNum)
            if teamNum < 1 or teamNum > len(mainFightMgr.waveLineupList):
                GameWorld.DebugLog("111111 teamNum=%s,mainFightMgr.waveLineupList=%s" % (teamNum, mainFightMgr.waveLineupList))
                return
            lineupID = mainFightMgr.waveLineupList[teamNum - 1] # NPC阵容ID
            GameWorld.DebugLog("teamNum=%s,lineupID=%s" % (teamNum, lineupID))
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -3655,21 +3655,6 @@
            return
        
        # 回合制怪不通知,统一由 // B4 24 回合战斗初始化 #tagSCTurnFightInit
        # 使用bt版本开发测试暂时留着,方便测试,正式需删除通知
        if turnFight.curPlayer:
            clientPack = ChNetSendPack.tagNPCAppear()
            clientPack.ObjID = objID
            clientPack.NPCID = curNPC.GetNPCID()
            clientPack.NPCHP = curNPC.GetHP()
            clientPack.NPCHPEx = curNPC.GetHPEx()
            clientPack.MaxHP = curNPC.GetMaxHP()
            clientPack.MaxHPEx = curNPC.GetMaxHPEx()
            clientPack.CurLV = curNPC.GetCurLV()
            clientPack.PosX = curNPC.GetPosX()
            clientPack.PosY = curNPC.GetPosY()
            clientPack.Speed = curNPC.GetSpeed()
            NetPackCommon.SendFakePack(turnFight.curPlayer, clientPack)
        return
    
    #---------------------------------------------------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -928,8 +928,6 @@
    EventReport.WriteEvent_Entry(curPlayer, 4)
    #EventReport.EventReport(ShareDefine.Def_UserAction_FirstLogin, "", curPlayer)
    
    PlayerControl.SetMainLevelNowInfo(curPlayer) # 初始化章节关卡
    #---补满血满魔---
    GameObj.SetHP(curPlayer, GameObj.GetMaxHP(curPlayer))
    curPlayer.SetMP(curPlayer.GetMaxMP())