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