ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py
@@ -36,11 +36,12 @@
        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")
        GameWorld.DebugAnswer(curPlayer, "添加buff: TurnFight b 阵营  位置 buff归属阵营 位置 技能ID [ID ...]")
        GameWorld.DebugAnswer(curPlayer, "输出明细: TurnFight p [阵营 位置] ")
        GameWorld.DebugAnswer(curPlayer, "阵营: 1-左边;2-右边")
        GameWorld.DebugAnswer(curPlayer, "位置: 1~6号位")
        GameWorld.DebugAnswer(curPlayer, "属性ID: 6-攻,7-防,8-HPMax,9-HP,12-怒")
        GameWorld.DebugAnswer(curPlayer, "测试战斗: TurnFight f 是否满技能 [武将ID ...]")
        return
    
    value = msgList[0]
@@ -52,6 +53,8 @@
        __doAddBuff(curPlayer, msgList)
    elif value == "p":
        __printInfo(curPlayer, msgList)
    elif value == "f":
        __doFightTest(curPlayer, msgList)
    elif value > 0 and value != ChConfig.Def_FBMapID_Main:
        __reqTurnFight(curPlayer, msgList)
    return
@@ -67,7 +70,8 @@
    clientData.TagID = tagPlayerID
    index = curPlayer.GetIndex()
    tick = GameWorld.GetGameWorld().GetTick()
    TurnAttack.OnTurnFight(index, clientData, tick)
    if not TurnAttack.OnTurnFight(index, clientData, tick):
        GameWorld.DebugAnswer(curPlayer, "请求失败,详见服务器日志!")
    return
def __doSetAttr(curPlayer, msgList):
@@ -159,7 +163,9 @@
def __doAddBuff(curPlayer, msgList):
    faction = msgList[1] if len(msgList) > 1 else 2
    posNum = msgList[2] if len(msgList) > 2 else 1
    skillID = msgList[3] if len(msgList) > 3 else 0
    ownerFaction = msgList[3] if len(msgList) > 3 else faction
    ownerPosNum = msgList[4] if len(msgList) > 4 else posNum
    skillIDList = msgList[5:]
    if faction not in FactionList:
        GameWorld.DebugAnswer(curPlayer, "阵营: 1-左边;2-右边")
        return
@@ -181,11 +187,23 @@
        GameWorld.DebugAnswer(curPlayer, "对象已阵亡:阵营:%s,位置:%s" % (faction, posNum))
        return
    
    addBuff = TurnBuff.DoAddBuffBySkillID(turnFight, batObj, skillID)
    if addBuff:
        GameWorld.DebugAnswer(curPlayer, "添加buff成功! buffID=%s" % addBuff.GetBuffID())
    else:
        GameWorld.DebugAnswer(curPlayer, "添加buff失败")
    ownerFaction = turnFight.getBatFaction(ownerFaction)
    ownerLineup = ownerFaction.getBatlineup(1)
    ownerID = ownerLineup.posObjIDDict.get(ownerPosNum)
    buffOwner = batObjMgr.getBatObj(ownerID)
    if not buffOwner:
        GameWorld.DebugAnswer(curPlayer, "对象不存在:阵营:%s,位置:%s" % (ownerFaction, ownerPosNum))
        return
    if not buffOwner.IsAlive():
        GameWorld.DebugAnswer(curPlayer, "对象已阵亡:阵营:%s,位置:%s" % (ownerFaction, ownerPosNum))
        return
    for skillID in skillIDList:
        addBuff = TurnBuff.DoAddBuffBySkillID(turnFight, batObj, skillID, buffOwner)
        if addBuff:
            GameWorld.DebugAnswer(curPlayer, "添加buff成功!skillID=%s,buffID=%s" % (skillID, addBuff.GetBuffID()))
        else:
            GameWorld.DebugAnswer(curPlayer, "添加buff失败!skillID=%s" % (skillID))
    return
def __printInfo(curPlayer, msgList):
@@ -215,7 +233,8 @@
            batObj = batObjMgr.getBatObj(objID)
            objName = TurnAttack.GetObjName(batObj)
            GameWorld.DebugAnswer(curPlayer, "--- %s%s" % (objName, "" if batObj.IsAlive() else " [被击杀]"))
            GameWorld.DebugAnswer(curPlayer, "HP:%s/%s, Atk:%s, Def:%s" % (batObj.GetHP(), batObj.GetMaxHP(), batObj.GetAtk(), batObj.GetDef()))
            GameWorld.DebugAnswer(curPlayer, "HP:%s/%s" % (batObj.GetHP(), batObj.GetMaxHP()))
            GameWorld.DebugAnswer(curPlayer, "攻:%s,防:%s,怒:%s" % (batObj.GetAtk(), batObj.GetDef(), batObj.GetXP()))
            attrDict = batObj.GetBatAttrDict()
            GameWorld.DebugAnswer(curPlayer, "属性:%s" % attrDict)
            skillMgr = batObj.GetSkillManager()
@@ -225,11 +244,17 @@
            GameWorld.DebugAnswer(curPlayer, "Buff: %s" % buffMgr.GetBuffCount())
            for index in range(buffMgr.GetBuffCount()):
                buff = buffMgr.GetBuffByIndex(index)
                GameWorld.DebugAnswer(curPlayer, "ID:%s,SkillID:%s,回合:%s,层:%s,V:%s"
                GameWorld.DebugAnswer(curPlayer, "ID:%s,SkillID:%s,回合:%s,层:%s,V:%s,来源:%s,光环:%s"
                                      % (buff.GetBuffID(), buff.GetSkillID(), buff.GetRemainTime(), buff.GetLayer(), 
                                         [buff.GetValue1(), buff.GetValue2(), buff.GetValue3()]
                                         [buff.GetValue1(), buff.GetValue2(), buff.GetValue3()], buff.GetOwnerID(), buff.GetHaloObjIDList()
                                         ))
                
    return
def __doFightTest(curPlayer, msgList):
    ## 测试战斗: TurnFight f 是否满技能 [位置1武将ID ...]
    isAllSkill = msgList[1] if len(msgList) > 1 else 1
    heroIDList = msgList[2:]
    TurnAttack.GMTestFight(curPlayer, heroIDList, isAllSkill)
    return