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
 | 
 |  |  |     
 |