129 【战斗】战斗系统-服务端(效果6038改为计算敌方全体被冰冻次数;)
3个文件已修改
23 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6038.py 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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():
    ## 战斗阵营
    
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, 
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