1) No, because it's called just when you really touch a weapon, so basically after checks like :
Code:
void CWeaponBox::Touch( CBaseEntity *pOther )
{
if ( ~pev->flags & FL_ONGROUND || !pOther->IsPlayer() || !pOther->IsAlive() ) )
{
return;
}
if( pOther->m_fIsVIP || pOther->m_iUserPrefs & USERPREFS_SHIELD_DRAWN )
{
return;
}
pOther->OnTouchingWeapon( this );
[...]
2)
Ham_DeathSound already exists.
__________________