From 3432541b467d53ffe4ed3872c734e76638e30df8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 24 十月 2025 17:58:12 +0800
Subject: [PATCH] 302 【公会】BOSS讨伐-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 54 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py
index a3b0243..1b854b5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py
@@ -17,10 +17,12 @@
 
 import ChConfig
 import GameWorld
+import ChPyNetPack
 import ChPyNetSendPack
 import NetPackCommon
 import TurnAttack
 import BattleObj
+import TurnBuff
 
 FactionList = [1, 2]
 
@@ -31,8 +33,10 @@
 #  @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")
         GameWorld.DebugAnswer(curPlayer, "输出明细: TurnFight p [阵营 位置] ")
         GameWorld.DebugAnswer(curPlayer, "阵营: 1-左边;2-右边")
         GameWorld.DebugAnswer(curPlayer, "位置: 1~6号位")
@@ -44,9 +48,26 @@
         __doSetAttr(curPlayer, msgList)
     elif value == "k":
         __doKillObj(curPlayer, msgList)
+    elif value == "b":
+        __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):
@@ -132,6 +153,38 @@
     NetPackCommon.SendFakePack(curPlayer, clientPack)
     return
 
+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
+    if faction not in FactionList:
+        GameWorld.DebugAnswer(curPlayer, "阵营: 1-左边;2-右边")
+        return
+    mainFightMgr = TurnAttack.GetMainFightMgr(curPlayer)
+    turnFight = mainFightMgr.turnFight
+    if not turnFight.isInFight():
+        GameWorld.DebugAnswer(curPlayer, "主线非战斗中")
+        return
+    
+    batObjMgr = BattleObj.GetBatObjMgr()
+    batFaction = turnFight.getBatFaction(faction)
+    batLineup = batFaction.getBatlineup(1)
+    objID = batLineup.posObjIDDict.get(posNum)
+    batObj = batObjMgr.getBatObj(objID)
+    if not batObj:
+        GameWorld.DebugAnswer(curPlayer, "不存在该战斗对象:阵营:%s,位置:%s" % (faction, posNum))
+        return
+    if not batObj.IsAlive():
+        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失败")
+    return
+
 def __printInfo(curPlayer, msgList):
     ## 输出信息
     faction = msgList[1] if len(msgList) > 1 else 0

--
Gitblit v1.8.0