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