Ensure HasPrimary flag assignation on successful weapon removal (#866)

This commit is contained in:
Francisco Muñoz 2023-10-10 19:03:48 -03:00 committed by GitHub
parent e422a37d8b
commit a2678a18ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -8056,8 +8056,10 @@ CBaseEntity *EXT_FUNC CBasePlayer::__API_HOOK(DropPlayerItem)(const char *pszIte
g_pGameRules->GetNextBestWeapon(this, pWeapon);
UTIL_MakeVectors(pev->angles);
#ifndef REGAMEDLL_FIXES
if (pWeapon->iItemSlot() == PRIMARY_WEAPON_SLOT)
m_bHasPrimary = false;
m_bHasPrimary = false; // I may have more than just 1 primary weapon :)
#endif
if (FClassnameIs(pWeapon->pev, "weapon_c4"))
{
@ -8127,6 +8129,12 @@ CBaseEntity *EXT_FUNC CBasePlayer::__API_HOOK(DropPlayerItem)(const char *pszIte
return nullptr;
}
#ifdef REGAMEDLL_FIXES
if (!m_rgpPlayerItems[PRIMARY_WEAPON_SLOT]) {
m_bHasPrimary = false; // ensure value assignation on successful weapon removal
}
#endif
if (FClassnameIs(pWeapon->pev, "weapon_c4"))
{
pWeaponBox->m_bIsBomb = true;