From bc5f3f1c88d225109fa39a85b209ef13f5fb52a9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 06 二月 2026 21:28:13 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(跨服公会所有基本功能支持、跨服砍价支持;修改查看目标公会、查看目标玩家方式;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py
index be6b8d7..ff365f8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py
@@ -16,11 +16,12 @@
#-------------------------------------------------------------------------------
import TurnBuff
+import BattleObj
def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
layerPer = curEffect.GetEffectValue(0) # 每层增加的万分比
buffStateList = curEffect.GetEffectValue(1) # buff状态 [状态1, 状态2, ...]
- checkTag = curEffect.GetEffectValue(2) # buff检查自己还是对方: 0-自己,1-对方
+ checkTag = curEffect.GetEffectValue(2) # buff检查自己还是对方: 0-自己,1-对方,2-主技能目标
isDelBuff = curEffect.GetEffectValue(3) # 触发效果后是否扣除buff
if not buffStateList:
return
@@ -31,12 +32,23 @@
turnFight = skillkwargs["turnFight"]
layerTotal = 0
- buffObj = defender if checkTag else attacker
- buffMgr = buffObj.GetBuffManager()
- for buffState in buffStateList:
- for buff in buffMgr.FindBuffListByState(buffState)[::-1]:
- layerTotal += buff.GetLayer()
- if isDelBuff:
- TurnBuff.DoBuffDel(turnFight, buffObj, buff, connSkill)
+ if checkTag == 2:
+ objMgr = BattleObj.GetBatObjMgr()
+ for tagID in attacker.GetMainTagIDList():
+ buffObj = objMgr.getBatObj(tagID)
+ if not buffObj:
+ continue
+ buffMgr = buffObj.GetBuffManager()
+ for buffState in buffStateList:
+ for buff in buffMgr.FindBuffListByState(buffState)[::-1]:
+ layerTotal += buff.GetLayer()
+ else:
+ buffObj = defender if checkTag else attacker
+ buffMgr = buffObj.GetBuffManager()
+ for buffState in buffStateList:
+ for buff in buffMgr.FindBuffListByState(buffState)[::-1]:
+ layerTotal += buff.GetLayer()
+ if isDelBuff:
+ TurnBuff.DoBuffDel(turnFight, buffObj, buff, connSkill)
return layerTotal * layerPer
--
Gitblit v1.8.0