From ab34adf120bd1dfd17094b31af73679fadb70c22 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 22 十二月 2025 09:43:25 +0800
Subject: [PATCH] 66 【公会】基础主体-服务端(修复自动转让离线时间优先级计算bug;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py
index 4285c9e..9496138 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py
@@ -19,12 +19,29 @@
import IpyGameDataPY
import GameWorld
import ChConfig
+import TurnBuff
-def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill):
+def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
rate = curEffect.GetEffectValue(0)
+ bySameCountryFriendRate = curEffect.GetEffectValue(2) # 触发来源友方是同国时的概率
+ if bySameCountryFriendRate:
+ if "byFriendObj" in kwargs:
+ byFriendObj = kwargs["byFriendObj"]
+ if byFriendObj and byFriendObj.GetCountry() == batObj.GetCountry():
+ rate = bySameCountryFriendRate
if not GameWorld.CanHappen(rate):
- #GameWorld.DebugLog("概率进行追击不触发!")
+ #GameWorld.DebugLogEx("5012概率进行追击不触发! %s", rate)
return
+
+ costBuffState = curEffect.GetEffectValue(3) # 可设置需消耗某状态buff(默认1层)
+ if costBuffState:
+ buffMgr = batObj.GetBuffManager()
+ buff = buffMgr.FindBuffByState(costBuffState)
+ if not buff:
+ #GameWorld.DebugLogEx("5012不存在buff状态,无法触发! costBuffState=%s", costBuffState)
+ return
+ TurnBuff.DoBuffLayerChange(turnFight, batObj, buff, buff.GetLayer() - 1, connSkill)
+
skillID = curEffect.GetEffectValue(1) # 技能ID,为0时释放本技能
if not skillID:
passiveSkill = effSkill
@@ -32,8 +49,11 @@
passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
if not passiveSkill:
return
- return TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Pursue, bySkill=connSkill)
+ noUseXP = curEffect.GetEffectValue(4) # 怒气追击时是否不消耗怒气
+ if noUseXP:
+ kwargs["noUseXP"] = 1
+ return TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Pursue, bySkill=connSkill, byBuff=connBuff, **kwargs)
-def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill):
+def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
effSkill = effBuff.GetSkillData().GetIpyData()
- return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill)
+ return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)
--
Gitblit v1.8.0