====== InnKeeperNPC - Code References ======
{{ rpd:images:innkeepernpc_sprite.png|Innkeeper NPC }}
==== Java Classes ====
This entity is not implemented in Java. It uses Lua scripting instead.
==== JSON Configuration ====
{
"defenseSkill" :3,
"attackSkill" :8,
"baseSpeed" :0,
"attackDelay" :1,
"ht" :5,
"spriteDesc" :"spritesDesc/InnKeeperNPC.json",
"scriptFile" :"scripts/npc/Innkeeper",
"friendly" :true,
"movable" :false,
"aiState" :"Passive",
"fraction" :"NEUTRAL",
"immortal" :true
}
* Found in: `RemixedDungeon/src/main/assets/mobsDesc/InnKeeperNPC.json`
* **Key Properties**:
* `friendly: true` - NPC is non-hostile to the player
* `movable: false` - NPC cannot move from its position
* `aiState: "Passive"` - Uses passive AI behavior
* `fraction: "NEUTRAL"` - Belongs to neutral faction
* `immortal: true` - NPC cannot be killed
==== Sprite Configuration ====
{
"texture" : "mobs/town_townsfolk_innkeeper.png",
"width" : 16,
"height" : 16,
"idle" : { "fps" : 5, "looped" : true, "frames" : [0,0,0,1,2,3,4,5,6,7] },
"run" : { "fps" : 1, "looped" : true, "frames" : [0,0,0] },
"attack" : { "fps" : 1, "looped" : false, "frames" : [0,0,0] },
"die" : { "fps" : 1, "looped" : false, "frames" : [0,0,0] },
"bloodColor" : "0xCC0000"
}
* Found in: `RemixedDungeon/src/main/assets/spritesDesc/InnKeeperNPC.json`
* **Animation Details**:
* Idle animation: 10 frames at 5 FPS, looped
* Run/Attack/Die: Placeholder animations (not used for stationary NPC)
==== String Resources ====
inn keeper
inn keeper
masculine
The inn keeper is proud of himself.
* Source: `RemixedDungeon/src/main/res/values/strings_all.xml` (lines 2666-2669)
* Also available in multiple languages in corresponding `values-*` directories
==== Lua Scripts ====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/npc/Innkeeper.lua|Innkeeper.lua]]
* Script implements the following functions:
* `spawn()` - Initializes NPC with trade items (FriedFish, ChargrilledMeat, FrozenCarpaccio)
* `interact()` - Opens trade window between NPC and player
* `priceForSell()` - Sets sell price multiplier (10x item base price)
* `sellMode()` - Uses `CARCASS` backpack mode for selling items to player
* `buyMode()` - Uses `FOR_BUY` backpack mode for purchasing items from player
* Uses `scripts/lib/mob` library for mob initialization
* Uses `scripts/lib/commonClasses` (RPD) for common functions
==== Level Placement ====
* Found in: `RemixedDungeon/src/main/assets/levelsDesc/Inn_2021_03.json`
* Found in: `RemixedDungeon/src/main/assets/levelsDesc/ScriptsArena.json`
* Spawned as a stationary NPC in town/inn areas
==== Related mr Entities ====
* [[mr:shopkeeper_npc|ShopkeeperNPC]] - Shop trader NPC
* [[mr:bard_npc|BardNPC]] - Town NPC
* [[mr:healer_npc|HealerNPC]] - Town healer NPC
* [[mr:librarian_npc|LibrarianNPC]] - Town librarian NPC
{{tag> mr npc innkeeper innkeepernpc town trader}}