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