Skip to content

Commit c70cf83

Browse files
committed
Test for remote weapon desync #3
1 parent 2399b9d commit c70cf83

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

Client/mods/deathmatch/logic/CClientPlayer.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,14 +260,21 @@ void CClientPlayer::SetNametagText ( const char * szText )
260260
}
261261
}
262262

263-
263+
// Only called for remote players
264264
void CClientPlayer::DischargeWeapon ( eWeaponType weaponType, const CVector& vecStart, const CVector& vecEnd, float fBackupDamage, uchar ucBackupHitZone, CClientPlayer* pBackupDamagedPlayer )
265265
{
266266
if ( m_pPlayerPed )
267267
{
268268
g_pApplyDamageLastDamagedPed = NULL;
269269
g_fApplyDamageLastAmount = 0;
270270

271+
// Ensure remote player has the weapon
272+
if ( weaponType != GetCurrentWeaponType() )
273+
{
274+
GiveWeapon(weaponType, 99, true);
275+
AddReportLog(5432, SString("DischargeWeapon adding missing weapon %d (%s)", weaponType, GetNick()), 30);
276+
}
277+
271278
// Check weapon matches and is enabled for bullet sync
272279
if ( weaponType == GetCurrentWeaponType () &&
273280
g_pClientGame->GetWeaponTypeUsesBulletSync ( weaponType ) )

0 commit comments

Comments
 (0)