Well, the good news is I fixed it, the bad news is that there was nothing wrong with it in the first place. This is how the weapons work
WeaponSet
Conditions = None
Weapon = PRIMARY FoxMarineCombatRifle
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY FoxMarineCombatRifle
Weapon = SECONDARY FoxMarineCombatGrenade
PreferredAgainst = PRIMARY INFANTRY
PreferredAgainst = SECONDARY VEHICLE
WeaponLockSharedAcrossSets = No
End
Now, for infantry that has the upgrade purchased after its creation it works fine and it fires it rifle at infantry and the grenade at vehicles but for infantry created after the upgrade it just uses it's rifle at everything. Any ideas why?