looks neat, i think you can even let out BotHasWeapon and make a check it is not < 0. As iSecondaryWeapon is checked on what weapon it has....
something like:
Code:
if (iSecondaryWeapon > -1 && current_Weapon.iId != iSecondaryWeapon) // we have a secondary weapon, but we do not hold it yet...
{
// select
}
will work too
