entWatch4: Drop Ammo aswell, when force drops happen.

This commit is contained in:
zaCade
2019-04-25 17:44:51 +02:00
parent 249fb0460e
commit b09777159a
3 changed files with 27 additions and 3 deletions
@@ -69,6 +69,30 @@ stock int Client_GetObserverTarget(int client)
return GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
}
/**
* Drops a client's weapon.
*
* @param client Client Index.
* @param weapon Weapon Index.
* @noreturn
*/
stock void Client_DropWeapon(int client, int weapon)
{
int iPrimaryAmmoType = GetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoType");
int iSecondaryAmmoType = GetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoType");
int iAmmoPrimary = GetEntProp(client, Prop_Send, "m_iAmmo", _, iPrimaryAmmoType);
int iAmmoSecondary = GetEntProp(client, Prop_Send, "m_iAmmo", _, iSecondaryAmmoType);
SetEntProp(client, Prop_Send, "m_iAmmo", 0, _, iPrimaryAmmoType);
SetEntProp(client, Prop_Send, "m_iAmmo", 0, _, iSecondaryAmmoType);
SDKHooks_DropWeapon(client, weapon, NULL_VECTOR, NULL_VECTOR);
SetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoCount", iAmmoPrimary);
SetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoCount", iAmmoSecondary);
}
/*
* Checks if an entity is valid and exists.
*