void CElementRPCs::SetCustomWeaponTarget ( CClientEntity * pSource, NetBitStreamInterface& bitStream ) { ElementID elementID = INVALID_ELEMENT_ID; char cTargetBone = 0; bool bVector = false; CVector vecTarget; if ( bitStream.ReadBit ( bVector ) && pSource->GetType() == CCLIENTWEAPON ) { CClientWeapon * pWeapon = static_cast < CClientWeapon * > ( pSource ); if ( bVector ) { if ( bitStream.ReadVector ( vecTarget.fX, vecTarget.fY, vecTarget.fZ ) ) { pWeapon->SetWeaponTarget ( vecTarget ); } } else { if ( bitStream.Read ( elementID ) && bitStream.Read ( cTargetBone ) ) { pWeapon->SetWeaponTarget ( CElementIDs::GetElement( elementID ), cTargetBone ); } } } }