| | |
| | | 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
|
| | |
| | | __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):
|