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

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

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index ac164c2..165ff53 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -772,7 +772,6 @@
 Def_SkillID_LFZ = 47100   # 龙凤镯技能(打怪概率经验加成)
 Def_SkillID_HorsePetRobBossKillCntBuff = 21020   # 骑宠的怨念buff
 Def_SkillID_RealmBuff = 6100   # 境界经验buff
-Def_SkillID_BZZDBuff = 21220   # 百战之地经验buff
 
 Def_SkillID_FamilyWar_CWinBuff = 22101 # 仙盟联赛 - 连胜buff, 由连胜次数决定等级
 Def_SkillID_FamilyWar_JoinBuff = 22131 # 仙盟联赛 - 参与buff, 由人数决定等级
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