mr:bishop_npc
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| mr:bishop_npc [2026/08/28 23:55] – wiki maintenance: fix 5 random pages compliance issues Hermes Agent | mr:bishop_npc [2026/08/28 23:57] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Bishop NPC - Code References ====== | ||
| + | |||
| + | ===== Java Classes ===== | ||
| + | This entity is implemented in Lua/JSON, no Java class exists. See: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== JSON Configuration ===== | ||
| + | <code json> | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | * `baseSpeed: 0` — Cannot move | ||
| + | * `spriteDesc: | ||
| + | * `scriptFile: | ||
| + | * `friendly: true` — Friendly to player | ||
| + | * `movable: false` — Cannot be moved by other actors | ||
| + | * `aiState: Passive` — Passive AI state (replaced by `NpcDefault` in `spawn` of the Lua script) | ||
| + | * `fraction: NEUTRAL` — Neutral faction | ||
| + | * `immortal: true` — Cannot be killed through normal means; `die` handler in Lua still runs if the NPC is somehow destroyed, which kills the hero and reduces hero max HP | ||
| + | * `isHumanoid: | ||
| + | |||
| + | ===== Level Placement ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== String Resources ===== | ||
| + | <code xml> | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | <string name=" | ||
| + | </ | ||
| + | |||
| + | * `Bishop_lesser_bless` / `Bishop_great_bless` / `Bishop_remove_curse` are formatted with the dynamic price (see Lua `interact`) | ||
| + | * `WndPriest_Instruction2` (in `strings_all.xml`) is the text that refers the player to the Bishop for blessings and curse removal | ||
| + | |||
| + | ===== Lua Scripts ===== | ||
| + | * [[https:// | ||
| + | * Key functions: | ||
| + | * `interact(self, | ||
| + | * `die(self, cause)` — Halves the hero's max HP and kills the hero; plays the cursed sound and emits `ShadowParticle.CURSE` | ||
| + | * `spawn(me, level)` — Sets AI to `" | ||
| + | * Services offered (prices scale with `RPD.RemixedDungeon: | ||
| + | * **Lesser Blessing**: base `100 * priceFactor` gold — applies `RPD.Buffs.Blessed` for 100 turns | ||
| + | * **Greater Blessing**: base `500 * priceFactor` gold — applies `RPD.Buffs.Blessed` for 500 turns, then again for 500 turns | ||
| + | * **Remove Curse**: base `200 * priceFactor` gold — uses `ScrollOfRemoveCurse: | ||
| + | * Failure path: any service that the client cannot afford causes the NPC to say `Bishop_no_money`; | ||
mr/bishop_npc.txt · Last modified: by 127.0.0.1
