====== Shopkeeper NPC ====== **Shopkeeper** is an [[en:rpd:npc|NPC]] in Remixed Dungeon who operates [[en:rpd:shops|shops]] on various dungeon levels. ==== Role ==== * Operates [[en:rpd:shops|shops]] found throughout the dungeon * Buys [[en:rpd:items|items]] from the player at fair prices * Sells various useful items, equipment, and [[en:rpd:consumables|consumables]] ==== Special Abilities ==== * **Trading**: Buys and sells [[en:rpd:items|items]] at the shop * **Bag Disenchanting**: Can disenchant [[en:rpd:bag|bag items]] for gold based on their type * **Item Identification**: Automatically identifies [[en:rpd:items|items]] in the shop for the player ==== Interactions ==== * Found in [[en:rpd:shops|shop areas]] on various dungeon levels * Does not attack or provide combat assistance * Provides an essential economic system for the game ==== Content Verification ==== * Information source: Java Class [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/npcs/Shopkeeper.java|Shopkeeper.java]] * Machine-readable data: [[mr:shopkeeper_npc|mr:shopkeeper_npc]] * Last updated: December 20, 2025 ==== Additional Code References ==== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/npcs/Shopkeeper.java|Shopkeeper.java]] - Main implementation * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/npcs/ImpShopkeeper.java|ImpShopkeeper.java]] - Variant of shopkeeper NPC * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/windows/WndShopOptions.java|WndShopOptions.java]] - Shop interface window implementation * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/bags/Bag.java|Bag.java]] - Bag handling for shop transactions * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/Treasury.java|Treasury.java]] - Item generation mechanics for shops * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/food/OverpricedRation.java|OverpricedRation.java]] - Special food item sold by shopkeeper * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/Char.java|Char.java]] - Base character class that handles interaction * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/Item.java#L120-L122|collect method]] - How shopkeeper accepts items into inventory * String Resources: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/res/values/strings_all.xml#L386-L389|Shopkeeper-related strings]] * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/npcs/Shopkeeper.java#L72-L94|interact method]] - How the shopkeeper interacts with the player * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/npcs/Shopkeeper.java#L62-L69|collect method]] - Implementation for accepting items ==== Sprite Configuration ==== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/Shopkeeper.json|Shopkeeper.json]] - Sprite configuration for the shopkeeper {{tag> rpd npcs shop trading}}