I am not willing to code specific conditions based on GAMEPLAY. Achievements are another matter entirely, however we have to make sure achievements are actually achievable given the dynamic nature of our gameplay. So I like to keep them generic. The simple solution is, have the achievement look at the NUMBER OF UNIQUE WEAPONS currently spawned by the weaponset. This overcomes the whole problem of specificity because KLOBBS, SLAPPERS, and Ag7's will fail the test ( say > 3 unique weapons ).
Specifics yields confined results. Generality results in a better experience that is extensible and less Valve like.