@@ -1118,8 +1118,11 @@ void ZR_ApplyKnockbackExplosion(CBaseEntity* pProjectile, CCSPlayerPawn* pVictim
11181118	pVictim->m_vecAbsVelocity  = pVictim->m_vecAbsVelocity () + vecKnockback;
11191119}
11201120
1121- void  ZR_FakePlayerDeath (CCSPlayerController* pAttackerController, CCSPlayerController* pVictimController, const  char * szWeapon)
1121+ void  ZR_FakePlayerDeath (CCSPlayerController* pAttackerController, CCSPlayerController* pVictimController, const  char * szWeapon,  bool  bDontBroadcast )
11221122{
1123+ 	if  (!pVictimController->m_bPawnIsAlive ())
1124+ 		return ;
1125+ 
11231126	IGameEvent* pEvent = g_gameEventManager->CreateEvent (" player_death" 
11241127
11251128	if  (!pEvent)
@@ -1132,7 +1135,7 @@ void ZR_FakePlayerDeath(CCSPlayerController* pAttackerController, CCSPlayerContr
11321135	pEvent->SetString (" weapon" 
11331136	pEvent->SetBool (" infected" true );
11341137
1135- 	g_gameEventManager->FireEvent (pEvent, false );
1138+ 	g_gameEventManager->FireEvent (pEvent, bDontBroadcast );
11361139}
11371140
11381141void  ZR_StripAndGiveKnife (CCSPlayerPawn* pPawn)
@@ -1265,8 +1268,7 @@ void ZR_Infect(CCSPlayerController* pAttackerController, CCSPlayerController* pV
12651268
12661269	ZR_CheckTeamWinConditions (CS_TEAM_T);
12671270
1268- 	if  (!bDontBroadcast)
1269- 		ZR_FakePlayerDeath (pAttackerController, pVictimController, " knife" //  or any other killicon
1271+ 	ZR_FakePlayerDeath (pAttackerController, pVictimController, " knife" //  or any other killicon
12701272
12711273	CCSPlayerPawn* pVictimPawn = (CCSPlayerPawn*)pVictimController->GetPawn ();
12721274	if  (!pVictimPawn)
@@ -1301,6 +1303,9 @@ void ZR_InfectMotherZombie(CCSPlayerController* pVictimController, std::vector<S
13011303		return ;
13021304
13031305	pVictimController->SwitchTeam (CS_TEAM_T);
1306+ 
1307+ 	ZR_FakePlayerDeath (pVictimController, pVictimController, " knife" true ); //  not sent to clients
1308+ 
13041309	ZR_StripAndGiveKnife (pVictimPawn);
13051310
13061311	//  pick random spawn point
0 commit comments