From e1fb8828f3e3ade575522e1717322a27e0521daf Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 10 十一月 2025 20:09:16 +0800
Subject: [PATCH] 247 【付费内容】特权卡-服务端

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py |   31 +++++++++++++++++++++++--------
 1 files changed, 23 insertions(+), 8 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 8d4f209..f89ad1e 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
@@ -36,7 +36,7 @@
         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号位")
@@ -67,7 +67,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 +160,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 +184,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):

--
Gitblit v1.8.0