From 070a0dfddf2d5f85ac348a8d37a606bdbcd0ea0a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 05 十一月 2025 16:45:46 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(完善技能目标选择逻辑;支持软控魅惑、混乱、嘲讽,及反击复仇目标,buff状态细分目标,属性细分目标等优先级处理;修复反击逻辑bug;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 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 f32029a..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号位")
@@ -160,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
- skillIDList = msgList[3:]
+ 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
@@ -182,8 +184,19 @@
GameWorld.DebugAnswer(curPlayer, "对象已阵亡:阵营:%s,位置:%s" % (faction, posNum))
return
+ 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)
+ addBuff = TurnBuff.DoAddBuffBySkillID(turnFight, batObj, skillID, buffOwner)
if addBuff:
GameWorld.DebugAnswer(curPlayer, "添加buff成功!skillID=%s,buffID=%s" % (skillID, addBuff.GetBuffID()))
else:
--
Gitblit v1.8.0