From 6431718d4fabf83de74f7abe40f671590dbf91c0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 26 十二月 2025 09:08:44 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(马车炸弹不出裂纹;马车炸开后通知马车空白;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5008.py |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5008.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5008.py
index f013a6b..28f11bb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5008.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5008.py
@@ -17,6 +17,8 @@
 
 import TurnBuff
 import GameWorld
+import TurnPassive
+import ChConfig
 import random
 
 def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
@@ -40,21 +42,26 @@
         return
     
     random.shuffle(tagBuffList) # 随机
-    
-    changeToLayer = 0
+    if changeLayers < len(tagBuffList):
+        # 不足时才额外取其他被动增加的
+        effSkillTypeID = effSkill.GetSkillTypeID()
+        changeLayers += TurnPassive.GetTriggerEffectValue(turnFight, batObj, tagObj, ChConfig.PassiveEff_AddChangeLayers5008, connSkillTypeID=effSkillTypeID, **kwargs)
+        
+    remainLayers = changeLayers # 剩余可转层数
+    changeToLayer = 0 # 最终转层数
     for tagBuff in tagBuffList:
-        if changeLayers <= 0:
+        if remainLayers <= 0:
             break
         skillID = tagBuff.GetSkillID()
         curLayer = max(1, tagBuff.GetLayer()) # 至少算1层
-        if curLayer > changeLayers:
-            updLayer = curLayer - changeLayers
-            changeLayers = 0
-            changeToLayer += changeLayers
+        if curLayer > remainLayers:
+            updLayer = curLayer - remainLayers
+            changeToLayer += remainLayers
+            remainLayers = 0
         else:
             updLayer = 0
-            changeLayers -= curLayer
             changeToLayer += curLayer
+            remainLayers -= curLayer
         GameWorld.DebugLog("转化buff: tagID=%s,tagBuffID=%s,skillID=%s,curLayer=%s,updLayer=%s,changeToLayer=%s" 
                            % (tagObj.GetID(), tagBuff.GetBuffID(), skillID, curLayer, updLayer, changeToLayer))
         TurnBuff.DoBuffLayerChange(turnFight, tagObj, tagBuff, updLayer, connSkill)

--
Gitblit v1.8.0