From 85a55d93ea4c99337ad1b81d2c471208effaebd1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 十二月 2025 18:59:22 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(修复个别情况下上阵中的生效卡被视为未生效的bug;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5012.py | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 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 7e30a7d..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, 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,7 +49,10 @@
passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
if not passiveSkill:
return
- return TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Pursue, bySkill=connSkill, byBuff=connBuff)
+ 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, connBuff, **kwargs):
effSkill = effBuff.GetSkillData().GetIpyData()
--
Gitblit v1.8.0