hxp
8 天以前 d629712afdd7ff097902578febbc93bf1bec490e
129 【战斗】战斗系统-服务端(大乔全部技能; 增加效果5025;)
1个文件已修改
1个文件已添加
53 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5025.py 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_Attr.py 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5025.py
New file
@@ -0,0 +1,41 @@
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Skill.PassiveTrigger.PassiveEff_5025
#
# @todo:增减目标身上某种状态buff回合数
# @author hxp
# @date 2025-12-17
# @version 1.0
#
# 详细描述: 增减目标身上某种状态buff回合数
#
#-------------------------------------------------------------------------------
#"""Version = 2025-12-17 11:00"""
#-------------------------------------------------------------------------------
import TurnBuff
import GameWorld
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
    buffStateList = curEffect.GetEffectValue(0) # buff [״̬1, ״̬2, ...]
    addRemainTime = curEffect.GetEffectValue(1) # 变化回合数
    addType = curEffect.GetEffectValue(2) # 变化是增还是减: 1-增;2-减
    buffMgr = tagObj.GetBuffManager()
    for buffState in buffStateList:
        buffList = buffMgr.FindBuffListByState(buffState)
        if not buffList:
            continue
        for buff in buffList:
            remainTime = buff.GetRemainTime()
            if not remainTime:
                continue
            if addType == 2:
                addRemainTime = -addRemainTime
            remainTime += addRemainTime
            GameWorld.DebugLogEx("增减目标身上某种状态buff回合数: tagID=%s,buffID=%s,addRemainTime=%s,reaminTime=%s", tagObj.GetID(), buff.GetBuffID(), addRemainTime, remainTime)
            TurnBuff.SetBuffRemainTime(turnFight, tagObj, buff, remainTime)
    return True
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_Attr.py
@@ -26,6 +26,14 @@
    if calcType == 10:
        buffStateList = curEffect.GetEffectValue(2)
        maxValue = curEffect.GetEffectValue(3) # 累计最高增加值
        checkBatType = curEffect.GetEffectValue(4) # 验证攻击类型 0-不验证;1-连击;2-追击;3-反击
        if checkBatType:
            if not connSkill:
                return
            if connSkill.GetBatType() != checkBatType:
                #GameWorld.DebugLog("额外属性效果非该战斗类型不触发: checkBatType=%s,skillBatType=%s" % (checkBatType, connSkill.GetBatType()))
                return
        layerTotal = 0
        buffMgr = defender.GetBuffManager()
        for buffState in buffStateList:
@@ -34,8 +42,8 @@
        attrValue *= layerTotal
        if maxValue and attrValue > maxValue:
            attrValue = maxValue
        GameWorld.DebugLog("按对方buff层级增加属性: attrID=%s,attrValue=%s,buffStateList=%s,layerTotal=%s,maxValue=%s"
                           % (attrID, attrValue, buffStateList, layerTotal, maxValue))
        GameWorld.DebugLogEx("按对方buff层级增加属性: attrID=%s,attrValue=%s,buffStateList=%s,layerTotal=%s,maxValue=%s,checkBatType=%s",
                             attrID, attrValue, buffStateList, layerTotal, maxValue, checkBatType)
    # 11-根据自己已损失血量百分比
    elif calcType == 11:
        curHP = attacker.GetHP()