From 5ac407ea08e218f3638e67b37c9261b437393d34 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 03 十二月 2025 19:55:29 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(支持多地图战斗)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/TurnFight.py | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 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 f89ad1e..e2f98f4 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
@@ -41,6 +41,7 @@
GameWorld.DebugAnswer(curPlayer, "阵营: 1-左边;2-右边")
GameWorld.DebugAnswer(curPlayer, "位置: 1~6号位")
GameWorld.DebugAnswer(curPlayer, "属性ID: 6-攻,7-防,8-HPMax,9-HP,12-怒")
+ GameWorld.DebugAnswer(curPlayer, "测试战斗: TurnFight f 是否满技能 [武将ID ...]")
return
value = msgList[0]
@@ -52,6 +53,8 @@
__doAddBuff(curPlayer, msgList)
elif value == "p":
__printInfo(curPlayer, msgList)
+ elif value == "f":
+ __doFightTest(curPlayer, msgList)
elif value > 0 and value != ChConfig.Def_FBMapID_Main:
__reqTurnFight(curPlayer, msgList)
return
@@ -230,9 +233,17 @@
batObj = batObjMgr.getBatObj(objID)
objName = TurnAttack.GetObjName(batObj)
GameWorld.DebugAnswer(curPlayer, "--- %s%s" % (objName, "" if batObj.IsAlive() else " [被击杀]"))
- GameWorld.DebugAnswer(curPlayer, "HP:%s/%s, Atk:%s, Def:%s" % (batObj.GetHP(), batObj.GetMaxHP(), batObj.GetAtk(), batObj.GetDef()))
+ GameWorld.DebugAnswer(curPlayer, "HP:%s/%s" % (batObj.GetHP(), batObj.GetMaxHP()))
+ GameWorld.DebugAnswer(curPlayer, "攻:%s,防:%s,怒:%s" % (batObj.GetAtk(), batObj.GetDef(), batObj.GetXP()))
+ attrStr = ""
attrDict = batObj.GetBatAttrDict()
- GameWorld.DebugAnswer(curPlayer, "属性:%s" % attrDict)
+ attrIDList = attrDict.keys()
+ attrIDList.sort()
+ for attrID in attrIDList:
+ attrValue = attrDict[attrID]
+ if attrValue:
+ attrStr += "%s=%s;" % (attrID, attrValue)
+ GameWorld.DebugAnswer(curPlayer, "属性:%s" % attrStr)
skillMgr = batObj.GetSkillManager()
skillIDList = skillMgr.GetSkillIDList()
GameWorld.DebugAnswer(curPlayer, "技能: %s,%s" % (len(skillIDList), skillIDList))
@@ -240,11 +251,18 @@
GameWorld.DebugAnswer(curPlayer, "Buff: %s" % buffMgr.GetBuffCount())
for index in range(buffMgr.GetBuffCount()):
buff = buffMgr.GetBuffByIndex(index)
- GameWorld.DebugAnswer(curPlayer, "ID:%s,SkillID:%s,回合:%s,层:%s,V:%s"
- % (buff.GetBuffID(), buff.GetSkillID(), buff.GetRemainTime(), buff.GetLayer(),
- [buff.GetValue1(), buff.GetValue2(), buff.GetValue3()]
+ buffName = GameWorld.CodeToGbk(buff.GetSkillData().GetSkillName())
+ GameWorld.DebugAnswer(curPlayer, "ID:%s,%s(%s),回合:%s,层:%s,V:%s,来源:%s,光环:%s"
+ % (buff.GetBuffID(), buffName, buff.GetSkillID(), buff.GetRemainTime(), buff.GetLayer(),
+ [buff.GetValue1(), buff.GetValue2(), buff.GetValue3()], buff.GetOwnerID(), buff.GetHaloObjIDList()
))
return
+def __doFightTest(curPlayer, msgList):
+ ## 测试战斗: TurnFight f 是否满技能 [位置1武将ID ...]
+ isAllSkill = msgList[1] if len(msgList) > 1 else 1
+ heroIDList = msgList[2:]
+ TurnAttack.GMTestFight(curPlayer, heroIDList, isAllSkill)
+ return
--
Gitblit v1.8.0