Arms Dealer

The Arms Dealer is an NPC vendor that will spawn once the following criteria have been met:
 * There is an empty house.
 * You have acquired a gun (the gun must be in your Inventory, not just stored in a chest somewhere).
 * It works with ammunition like Musket Ball too, if you have it in your inventory.

The easiest gun to acquire for this purpose is the Musket, which can be obtained by destroying a Shadow Orb.

Once the Arms Dealer has moved into a house, he will sell the following:

Note: As with all NPCs, right-clicking an item will allow multiple purchases rather than purchasing it one by one.

Quotes

 * "Keep your hands off my gun, buddy!"
 * "Hey, this ain't a movie, pal. Ammo is extra."
 * "I see you're eyeballin' the Minishark... You really don't want to know how it was made."
 * "Don't bother with [Name of Demolitionist], I've got all you need right here." (Only if Demolitionist is present.)
 * "What's [Name of Demolitionist]'s problem? Does he even realize we sell completely different stuff?" (Only if Demolitionist is present.)
 * "Make it quick! I've got a date with [Name of Nurse] in an hour." (Only if Nurse is present.)
 * "I want what [Name of Nurse] is sellin'. What do you mean, she don't sell anything ?" (Only if Nurse is present.)
 * "[Name of Dryad] is a looker. Too bad she's such a prude." (Only if Dryad is present.)
 * "I love nights like tonight, there is never a shortage of things to kill" (Only during blood moon.)
 * "Man, it's a good night not to talk to anybody, don't you think, [Name of Player]?" (Only during blood moon.)
 * "I heard there is a doll that looks very similar to [Name of Guide] somewhere in the underworld. I'd like to put a few rounds in it." (This will be the only message available if Skeletron is defeated, but Wall of Flesh is not.)