From 24972a123ae7b218c6c3017545fa43ad0655b8e9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 04 一月 2024 11:08:44 +0800
Subject: [PATCH] 10084 【主干】【港台】【越南】【BT0.1】【BT0.1-1元】100%聚灵丹(仙界秘境)与50%聚灵丹(仙界秘境)效果修改(支持共存)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py
index eb57f2d..7625c1d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BZZD.py
@@ -524,14 +524,7 @@
     playerID = curPlayer.GetPlayerID()
     
     enterLV = curPlayer.GetLV()
-    expRateEx = 0
-    expRateLayerBuff = SkillCommon.FindBuffByID(curPlayer, ChConfig.Def_SkillID_BZZDBuff)[0]
-    if expRateLayerBuff:
-        hasEffect = SkillCommon.GetSkillEffectByEffectID(expRateLayerBuff.GetSkill(), ChConfig.TYPE_Calc_AttrFightExpRate)
-        if hasEffect:
-            expRateEx = hasEffect.GetEffectValue(0)   # 能叠加的最大上限
-        DoReduceExpBuff(curPlayer, expRateLayerBuff)
-        
+    expRateEx = DoReduceExpBuff(curPlayer)
     GameWorld.DebugLog("仙界秘境扫荡: mapID=%s,lineID=%s,sweepCnt=%s,expRateEx=%s" % (mapID, lineID, sweepCnt, expRateEx), playerID)
     
     totalExp = 0
@@ -588,10 +581,19 @@
     __SendBZZDOverInfo(curPlayer, overDict)
     return
 
-def DoReduceExpBuff(curPlayer, buff=None):
-    BuffSkill.ReduceBuffLayer(curPlayer, buff, ChConfig.Def_SkillID_BZZDBuff, 1)
+def DoReduceExpBuff(curPlayer):
+    buffExpRate = 0
+    buffSkillTypeIDList = IpyGameDataPY.GetFuncEvalCfg("XjmjMonsterExp", 3)
+    for skillTypeID in buffSkillTypeIDList:
+        buff = SkillCommon.FindBuffByID(curPlayer, skillTypeID)[0]
+        if not buff:
+            continue
+        hasEffect = SkillCommon.GetSkillEffectByEffectID(buff.GetSkill(), ChConfig.TYPE_Calc_AttrFightExpRate)
+        if hasEffect:
+            buffExpRate += hasEffect.GetEffectValue(0)
+        BuffSkill.ReduceBuffLayer(curPlayer, buff, skillTypeID, 1)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_BZZD_NeedReduceExpBuff, 0)
-    return
+    return buffExpRate
 
 def ReduceExpBuffOnLogin(curPlayer):
     if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BZZD_NeedReduceExpBuff):

--
Gitblit v1.8.0