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:

* Sold only at night, after at least one Eater of Worlds has been defeated.

** Sold during a new moon

*** Sold during a Blood Moon

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!"
 * "Don't bother with that firework vendor, I've got all you need right here." (Only if Demolitionist is present.)
 * "I see you're eyeballin' the Minishark.. You really don't want to know how it was made."
 * "Make it quick! I've got a date with the nurse in an hour." (Only if Nurse is present.)
 * "That dryad is a looker. Too bad she's such a prude." (Only if Dryad is present.)
 * "I love nights like tonight, there's no shortage of things to kill" (only on blood moon)