From 4c55d01385dec553dceeb3f5481ea70be727cb39 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 09 九月 2025 11:47:38 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(修复切换小队未清除buff可能引起的报错; 优化切换小队重置:暂时仅保留当前血量、怒气、死亡状态,其他重置;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
index 95f6e59..be8b637 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Hero.py
@@ -40,6 +40,7 @@
GameWorld.DebugAnswer(curPlayer, "武将觉醒: Hero a 背包位置 设置等级")
GameWorld.DebugAnswer(curPlayer, "武将图鉴: Hero t 武将ID 图鉴星级 图鉴突破等级")
GameWorld.DebugAnswer(curPlayer, "重置图鉴: Hero t 0")
+ GameWorld.DebugAnswer(curPlayer, "重置重生: Hero r")
GameWorld.DebugAnswer(curPlayer, "武将皮肤: Hero sk 武将ID 皮肤索引 是否解锁")
GameWorld.DebugAnswer(curPlayer, "清空武将: ClearPack 35")
GameWorld.DebugAnswer(curPlayer, "新增武将: MakeItemCount 英雄ID [个数]")
@@ -96,6 +97,12 @@
PlayerHero.Sync_HeroInfo(curPlayer, syncHeroIDList)
return
+ # 重生
+ if value == "r":
+ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HeroAwakeRebirthCnt, 0)
+ PlayerHero.Sync_PlayerHeroInfo(curPlayer)
+ return
+
# 皮肤
if value == "sk":
heroID = value2
@@ -141,7 +148,7 @@
# 突破
if value == "b":
breakLV = msgList[2] if len(msgList) > 2 else 0
- PlayerHero.SetHeroBreakLV(heroItem, breakLV)
+ PlayerHero.SetHeroBreakLV(curPlayer, heroItem, breakLV)
GameWorld.DebugAnswer(curPlayer, "设置武将突破: %s,itemIndex=%s" % (breakLV, itemIndex))
return
@@ -157,8 +164,10 @@
def __oneKeyLineup(curPlayer, msgList):
## 阵容上阵: Hero f 阵容ID [武将ID ...]
lineupID = msgList[1] if len(msgList) > 1 else 0
- heroIDList = list(set(msgList[2:])) # 去重,单阵容武将ID不能重复
-
+ heroIDList = []
+ for heroID in msgList[2:]: # 去重,单阵容武将ID不能重复
+ if heroID not in heroIDList:
+ heroIDList.append(heroID)
if lineupID not in ShareDefine.LineupList:
GameWorld.DebugAnswer(curPlayer, "不存在该阵容: %s" % lineupID)
return
@@ -305,7 +314,7 @@
if not IpyGameDataPY.GetIpyGameDataNotLog("HeroQualityBreak", quality, bLV):
break
breakLV = bLV
- PlayerHero.SetHeroBreakLV(heroItem, breakLV, False)
+ PlayerHero.SetHeroBreakLV(curPlayer, heroItem, breakLV, False)
# 星级
starMax = PlayerHero.GetHeroStarMax(heroItem)
--
Gitblit v1.8.0