====== Mercenary NPC - Code References ======
===== Entity Information =====
* **Entity Kind**: MercenaryNPC
* **Entity Type**: npc
* **Implementation**: Custom NPC via JSON configuration and Lua script
===== Java Classes =====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/actors/mobs/common/CustomMob.java|CustomMob.java]] - Base class for JSON-defined NPCs
===== JSON Configuration =====
{
"baseSpeed" :0,
"spriteDesc" :"spritesDesc/MercenaryNPC.json",
"scriptFile" :"scripts/npc/Mercenary",
"friendly" :true,
"movable" :false,
"aiState" :"Passive",
"fraction" :"NEUTRAL",
"immortal" :true,
"isHumanoid" :true
}
===== Sprite Configuration =====
{
"texture" : "mobs/town_townsfolk_mercenary.png",
"width" : 16,
"height" : 16,
"idle" : {
"fps" : 4,
"looped" : true,
"frames" : [0, 1, 2, 3, 4, 5]
},
"run" : {
"fps" : 8,
"looped" : true,
"frames" : [0, 1, 2, 3]
},
"attack" : {
"fps" : 8,
"looped" : true,
"frames" : [0, 1, 2, 3]
},
"die" : {
"fps" : 8,
"looped" : true,
"frames" : [0, 1, 2, 3]
}
}
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/MercenaryNPC.json|MercenaryNPC.json (sprite description)]]
===== String Resources =====
mercenary
mercenary
masculine
Sturdy looking man.
===== Lua Scripts =====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/npc/Mercenary.lua|Mercenary.lua]]
===== Implementation Details =====
* **Base Speed**: 0 (immobile)
* **AI State**: Passive
* **Fraction**: NEUTRAL
* **Immortal**: true (cannot be killed)
* **Movable**: false (fixed position)
* **Friendly**: true (neutral to player)
* **Script**: Interacts by saying 'Froth_ArrowInKnee' (Elder Scrolls reference)
===== Related mr Entities =====
* [[mr:townsfolk_npc|Townsfolk NPC]] - Other town NPCs that share the townsfolk NPC base
* [[mr:town_portal_spell|Town Portal Spell]] - Town-related spell used near Mercenary's location