From 697e46856089c0a05d6a4c5fbee3778f8eb942fa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 26 九月 2025 16:17:47 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(孙尚香技能;技能增加buff驱散限制字段;增加目标细分6 - 灼烧/玄火优先;增加效果5008 - 转化目标身上类型buff;优化效果5004 5006 5007;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 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..a989353 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
@@ -21,6 +21,7 @@
 import NetPackCommon
 import TurnAttack
 import BattleObj
+import TurnBuff
 
 FactionList = [1, 2]
 
@@ -33,6 +34,7 @@
     if not msgList:
         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,6 +46,8 @@
         __doSetAttr(curPlayer, msgList)
     elif value == "k":
         __doKillObj(curPlayer, msgList)
+    elif value == "b":
+        __doAddBuff(curPlayer, msgList)
     elif value == "p":
         __printInfo(curPlayer, msgList)
         
@@ -132,6 +136,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