I would say it depends on how it sounds, for example it would be:
An S Grade weapon ("ess" Grade)
A B Grade Weapon ("bee" Grade)
Unless of course you don't read it how its shortened, but instead what the full version would be, for example:
NPC - if you are saying N P C, then it would be "an NPC" however if you read "NPC" as "Non-Playable Character" it would be "a NPC (Non-playable Character)".
I didn't learn what Lord_Chaos has been taught in my English lessons, but maybe he is right. I personally use the first system I mentioned.
If the word following it sounds like a vowel, use "an."
If it sounds like a consonant, use "a".
If you are pronouncing the acronym, NPC, as "en-pee-see", then use "an". But if for some odd reason you're pronouncing that acronym as "Nipsy", then and only then would you use "a."
Naturally this all can be pretty confusing if you've had 5 years of French lessons and come across the letter "h", which is silent in many words, and have to separate the rules of grammar in your day to day English speaking.
Is it "a historical" telling or "an historical" telling? :D
Well, back in the dark ages the letter H became silent. It's only really during the recent few English Monarchies where the H has become more pronounced.
I'm English, and I miss leading H's. I pronounce the H. Some people in the UK say "An 'Otel." or "An Orse". You will find anyone with a strong accent (Brummy, Geordie, Cockney etc) will use ignore the H where was people with more "Queen's English" or no accent at all, will pronounce the H.
It also depends if someone says "Ay" for a, or "Ah" for a. e.g. Ay Umbrella, or Ah-n Umbrella; Ay Hotel or Ah-n 'Otel.
depending on your country and the year of your birth you would have been taught either "use an if the next word starts with a vowel (an excellent weapon)" or "use an if the next word sounds like it starts with a vowel (an S grade weapon/ an Ess grade weapon)"
Naturally these rules of grammar do not apply to any of our North Easterners, Deep ("Dirty") Southerners, or anyone who happens to be named George Bush. When they start talking, you better have a Rosetta Stone handy. :D :D :D