From a99b65c9ca7569dcaa24fef933e913e400fa9fef Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 25 十二月 2025 20:18:29 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(行商地板价后砍价随机范围开配置;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
index a8e07ca..7b0a141 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -138,6 +138,11 @@
             deadCnt += 1
         return deadCnt
     
+    def getHeroObj(self, heroID):
+        if heroID not in self.heroObjIDDict:
+            return
+        return BattleObj.GetBatObjMgr().getBatObj(self.heroObjIDDict[heroID])
+    
 class BatFaction():
     ## 战斗阵营
     
@@ -1868,6 +1873,8 @@
     buffMgr = batObj.GetBuffManager()
     for index in range(buffMgr.GetBuffCount())[::-1]:
         buff = buffMgr.GetBuffByIndex(index)
+        if not buff: # 有出现过报错,先做下防范,理论上不太可能
+            continue
         buffID = buff.GetBuffID()
         skillID = buff.GetSkillID()
         skillData = buff.GetSkillData()
@@ -2033,7 +2040,7 @@
     killerObjID = killer.GetID() if killer else 0
     skillID = useSkill.GetSkillID() if useSkill else 0
     GameWorld.DebugLogEx("        %s 回合战斗主体被击杀: curID=%s,killerObjID=%s,skillID=%s", GetObjName(gameObj), objID, killerObjID, skillID)
-    gameObj.SetDead()
+    gameObj.SetDead(killer)
     TurnBuff.DoBuffByDead(turnFight, gameObj)
     
     clientPack = ChPyNetSendPack.tagMCTurnFightObjDead()
@@ -2186,13 +2193,15 @@
     if not os.path.exists(ReportDir):
         os.makedirs(ReportDir)
     else:
-        items = os.listdir(ReportDir)
-        for item in items:
-            fullPath = os.path.join(ReportDir, item)
-            try:
-                os.remove(fullPath)
-            except:
-                pass
+        isSaveOne = IpyGameDataPY.GetFuncCfg("TurnFightProcess", 2) # 个人战报是否只保留1份
+        if isSaveOne:
+            items = os.listdir(ReportDir)
+            for item in items:
+                fullPath = os.path.join(ReportDir, item)
+                try:
+                    os.remove(fullPath)
+                except:
+                    pass
             
     saveFilePath = os.path.join(ReportDir, "%s.tfr" % guid)
     GameWorld.DebugLogEx("战报路径=%s", saveFilePath)

--
Gitblit v1.8.0