5642 【后端】【1.4】跨服匹配回合结束清除所有Debuff
| | |
| | | GameWorld.Log("回合结束: roomID=%s,roundNum=%s,winnerID=%s,loserID=%s,updWinCnt=%s" % (roomID, roundNum, winnerID, loserID, updWinCnt))
|
| | | isOver = (updWinCnt >= IpyGameDataPY.GetFuncCfg("CrossRealmPKFB", 3))
|
| | | if not isOver:
|
| | | if winner:
|
| | | clearDeBuff = False
|
| | | # 胜利者马上清除负面buff,防止死亡导致回合表现异常,如中毒
|
| | | for buffType in [IPY_GameWorld.bfDeBuff, IPY_GameWorld.bfProcessDeBuff, IPY_GameWorld.bfActionBuff]:
|
| | | buffTuple = SkillCommon.GetBuffManagerByBuffType(winner, buffType)
|
| | | if buffTuple:
|
| | | buffState = buffTuple[0]
|
| | | buffCount = buffState.GetBuffCount()
|
| | | if buffCount:
|
| | | clearDeBuff = True
|
| | | buffState.Clear()
|
| | | GameWorld.DebugLog("胜者马上清除 buffType=%s,buffCount=%s" % (buffType, buffCount), winner.GetPlayerID())
|
| | | |
| | | if clearDeBuff:
|
| | | PlayerControl.PlayerControl(winner).RefreshAllState()
|
| | | |
| | | FBCommon.SetFBStep(FB_State_Reborn, tick)
|
| | | return
|
| | |
|