From d9f26c754f42f4b3ae6e2dba882131db70f1e045 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 03 三月 2026 16:44:25 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(效果6038改为计算敌方全体被冰冻次数;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6038.py |   10 ++++++----
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py                    |   11 +++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py                             |    2 +-
 3 files changed, 18 insertions(+), 5 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 517a882..d4fc6e5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -169,6 +169,17 @@
             deadCnt += 1
         return deadCnt
     
+    def GetBeFrozenCnt(self):
+        ## 获取本阵容累计被冰冻次数
+        totalCnt = 0
+        batObjMgr = BattleObj.GetBatObjMgr()
+        for objID in self._batHeroObjIDList:
+            batObj = batObjMgr.getBatObj(objID)
+            if not batObj:
+                continue
+            totalCnt += batObj.GetBeFrozenCnt()
+        return totalCnt
+    
 class BatFaction():
     ## 战斗阵营
     
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index b41cbd1..7d57969 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3931,7 +3931,7 @@
 PassiveEff_AddBuffTime = 6035 # 增加buff持续时间
 PassiveEff_AddSkillUseCntLimit = 6036 # 增加7009回合数
 PassiveEff_AddDamBackPerByBuffLayer = 6037 # 增加反弹伤害万分比(根据buff层级)
-PassiveEff_AddSkillPerByBeFrozenCnt = 6038 # 增加本次技能万分比(按目标累计被冰冻次数)
+PassiveEff_AddSkillPerByBeFrozenCnt = 6038 # 增加本次技能万分比(按敌方全体本场战斗累计被冰冻次数)
 
 # 被动效果ID有触发值时就返回的
 PassiveEffHappenValueList = [PassiveEff_ChangeHurtType, PassiveEff_ImmuneControlBuff, PassiveEff_MustSuperHit, PassiveEff_SkillInvalid, 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6038.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6038.py
index 8d9e724..a59c7bd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6038.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6038.py
@@ -4,12 +4,12 @@
 #
 ##@package Skill.PassiveTrigger.PassiveEff_6038
 #
-# @todo:增加本次技能万分比(按目标累计被冰冻次数)
+# @todo:增加本次技能万分比(按敌方全体本场战斗累计被冰冻次数)
 # @author hxp
 # @date 2026-03-02
 # @version 1.0
 #
-# 详细描述: 增加本次技能万分比(按目标累计被冰冻次数)
+# 详细描述: 增加本次技能万分比(按敌方全体本场战斗累计被冰冻次数)
 #
 #-------------------------------------------------------------------------------
 #"""Version = 2026-03-02 19:00"""
@@ -18,9 +18,11 @@
 def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     addPer = curEffect.GetEffectValue(0) # 每层增加的万分比
     maxPer = curEffect.GetEffectValue(1) # 最大增加的万分比
-    addTotal = defender.GetBeFrozenCnt() * addPer
+    batFaction = defender.GetTFBatLineup()
+    beFrozenCnt = batFaction.GetBeFrozenCnt()
+    addTotal = beFrozenCnt * addPer
     if maxPer and addTotal > maxPer:
         addTotal = maxPer
     #import GameWorld
-    #GameWorld.DebugLogEx("6038,addTotal=%s,defID=%s,BeFrozenCnt=%s", addTotal, defender.GetID(), defender.GetBeFrozenCnt())
+    #GameWorld.DebugLogEx("6038,addTotal=%s,beFrozenCnt=%s", addTotal, beFrozenCnt)
     return addTotal

--
Gitblit v1.8.0