What are the best NPC happiness combinations for discounts in Terraria?

In Terraria, NPC happiness is a system that affects the prices of items sold by NPCs, as well as their willingness to sell certain items. When NPCs are happy, they offer discounts on their goods, which can significantly reduce the cost of purchasing items, especially in the early to mid-game. To maximize NPC happiness and achieve the best discounts, you need to understand the mechanics of the system and carefully plan your town layout.

The happiness system is influenced by two main factors: biome preference and neighbor preference. Each NPC has a preferred biome and a list of NPCs they like, love, dislike, or hate as neighbors. Placing an NPC in their preferred biome and near NPCs they like or love will increase their happiness. Conversely, placing them in a biome they dislike or near NPCs they dislike or hate will decrease their happiness. Happiness levels directly affect the prices of items sold by NPCs, with happier NPCs offering discounts of up to 20%.

To achieve the best NPC happiness combinations, you should first identify the preferred biomes and neighbors for each NPC. For example, the Guide prefers the Forest biome and likes the Zoologist and Clothier as neighbors. The Merchant prefers the Forest biome and likes the Golfer and Nurse as neighbors. The Nurse prefers the Hallow biome and likes the Arms Dealer and Wizard as neighbors. The Arms Dealer prefers the Desert biome and likes the Nurse and Steampunker as neighbors. The Steampunker prefers the Desert biome and likes the Cyborg and Painter as neighbors. The Cyborg prefers the Snow biome and likes the Steampunker and Mechanic as neighbors. The Mechanic prefers the Snow biome and likes the Goblin Tinkerer and Cyborg as neighbors. The Goblin Tinkerer prefers the Underground biome and likes the Mechanic and Dye Trader as neighbors. The Dye Trader prefers the Desert biome and likes the Painter and Arms Dealer as neighbors. The Painter prefers the Jungle biome and likes the Dryad and Dye Trader as neighbors. The Dryad prefers the Jungle biome and likes the Witch Doctor and Painter as neighbors. The Witch Doctor prefers the Jungle biome and likes the Dryad and Guide as neighbors. The Zoologist prefers the Forest biome and likes the Golfer and Guide as neighbors. The Golfer prefers the Forest biome and likes the Angler and Zoologist as neighbors. The Angler prefers the Ocean biome and likes the Pirate and Demolitionist as neighbors. The Pirate prefers the Ocean biome and likes the Angler and Tavernkeep as neighbors. The Tavernkeep prefers the Hallow biome and likes the Goblin Tinkerer and Mechanic as neighbors. The Demolitionist prefers the Underground biome and likes the Tavernkeep and Goblin Tinkerer as neighbors. The Wizard prefers the Hallow biome and likes the Golfer and Merchant as neighbors. The Clothier prefers the Underground biome and likes the Tax Collector and Truffle as neighbors. The Tax Collector prefers the Underground biome and likes the Merchant and Clothier as neighbors. The Truffle prefers the Glowing Mushroom biome and likes the Guide and Dryad as neighbors.

To maximize happiness, you should create small towns in different biomes, each housing a group of NPCs that like or love each other. For example, you can create a Forest town with the Guide, Merchant, Zoologist, and Golfer. You can create a Desert town with the Arms Dealer, Steampunker, Dye Trader, and Painter. You can create a Snow town with the Cyborg, Mechanic, and Goblin Tinkerer. You can create a Jungle town with the Dryad, Witch Doctor, and Painter. You can create an Ocean town with the Angler, Pirate, and Demolitionist. You can create a Hallow town with the Nurse, Wizard, and Tavernkeep. You can create an Underground town with the Clothier, Tax Collector, and Demolitionist. You can create a Glowing Mushroom town with the Truffle and Guide.

When building these towns, make sure each NPC has their own house, and the houses are close enough to each other to count as neighbors but not too close to overcrowd the area. Overcrowding can reduce happiness, so it's important to space out the houses appropriately. You should also avoid placing NPCs in biomes they dislike or near NPCs they dislike or hate. For example, the Arms Dealer dislikes the Nurse, so you should not place them near each other. The Clothier dislikes the Tax Collector, so you should not place them near each other. The Truffle dislikes the Guide, so you should not place them near each other.

To prepare for building these towns, you will need a variety of materials, including wood, stone, glass, and other building materials. You will also need to craft furniture, such as tables, chairs, and lighting, to make the houses suitable for NPCs. You can gather these materials by mining, chopping down trees, and crafting. You can also purchase some materials from NPCs, such as the Merchant and Painter.

In terms of class and equipment considerations, the happiness system does not directly affect combat or progression, but it can help you save money on items, which can be useful for all classes. For example, the Arms Dealer sells ammunition, which is useful for the Ranger class. The Nurse sells healing potions, which are useful for all classes. The Goblin Tinkerer sells reforging services, which are useful for all classes. The Steampunker sells teleporters, which are useful for all classes. The Wizard sells magic-related items, which are useful for the Mage class. The Dryad sells nature-related items, which are useful for all classes. The Truffle sells mushroom-related items, which are useful for all classes.

In conclusion, achieving the best NPC happiness combinations for discounts in Terraria requires careful planning and attention to detail. By understanding the preferences of each NPC and creating small towns in different biomes, you can maximize happiness and save money on items. Avoid common mistakes such as overcrowding and placing NPCs in biomes they dislike or near NPCs they dislike or hate. With the right preparation and strategy, you can create a thriving town with happy NPCs and enjoy the benefits of discounted items.