hxp
2025-10-22 e4003a189bbf7533f679f3eea4d300a8ff61ce2b
129 【战斗】战斗系统-服务端(TurnFight命令增加发起战斗支持)
2个文件已修改
20 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py
@@ -17,6 +17,7 @@
import ChConfig
import GameWorld
import ChPyNetPack
import ChPyNetSendPack
import NetPackCommon
import TurnAttack
@@ -32,6 +33,7 @@
#  @remarks 函数详细说明.
def OnExec(curPlayer, msgList):
    if not msgList:
        GameWorld.DebugAnswer(curPlayer, "发起战斗: TurnFight mapID [lineID 玩家ID]")
        GameWorld.DebugAnswer(curPlayer, "设置属性: TurnFight a 属性ID 值 [阵营 位置] ")
        GameWorld.DebugAnswer(curPlayer, "击杀目标: TurnFight k 阵营 [位置 ...] ")
        GameWorld.DebugAnswer(curPlayer, "添加buff: TurnFight b 阵营  位置 buff技能ID")
@@ -50,7 +52,22 @@
        __doAddBuff(curPlayer, msgList)
    elif value == "p":
        __printInfo(curPlayer, msgList)
    elif value > 0 and value != ChConfig.Def_FBMapID_Main:
        __reqTurnFight(curPlayer, msgList)
    return
def __reqTurnFight(curPlayer, msgList):
    mapID = msgList[0]
    funcLineID = msgList[1] if len(msgList) > 1 else 0
    tagPlayerID = msgList[2] if len(msgList) > 2 else 0
    clientData = ChPyNetPack.tagCMTurnFight()
    clientData.MapID = mapID
    clientData.FuncLineID = funcLineID
    clientData.TagType = 0 if not tagPlayerID else 1
    clientData.TagID = tagPlayerID
    index = curPlayer.GetIndex()
    tick = GameWorld.GetGameWorld().GetTick()
    TurnAttack.OnTurnFight(index, clientData, tick)
    return
def __doSetAttr(curPlayer, msgList):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -81,6 +81,7 @@
                    
    if not tagObjList:
        # 可扩展其他目标选择,如复活技能没有死亡单位时则使用另外的效果
        GameWorld.ErrLog("找不到技能目标! skillID=%s,mapID=%s,funcLineID=%s" % (skillID, turnFight.mapID, turnFight.funcLineID), turnFight.playerID)
        return
    
    objID = curBatObj.GetID()