====== 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