Quest Guide — Homer's LOTR

This guide covers every quest and journal category in the module: what triggers them, how they progress, what they reward, and which ones are currently broken. A Working badge means the quest is fully scripted; Minor Bug means it functions but has a tag mismatch or minor issue; Broken means it cannot be completed; AWOL means it once existed or was planned but has no placed content.

Update (2026-05-28): The fixes described in this guide have been implemented in the module source. The status badges below reflect the post-fix state. Three earlier diagnoses in this guide were corrected during implementation: sc_001.nss never blocked Gloison's conversation (its Random(100) >= 100 branch can never fire, so it always returns TRUE); hgll_cliententer.nss had no pre-existing first-login check to hang the server-info journals from; and the Book of the Cora already carries useful properties. Changes still require an in-game pass — see UAT.


Active Quests

Quests that can be started and completed by players today.

Bill Ferny's Ring Working

Journal tag: Ferny's Ring Giver: Bill Ferny, Bree Level range: 1–10 Reward: 500 XP + 200 gp (or 500 XP + keep Sharkey's Orders)

Bill Ferny, a shifty resident of Bree, claims an underling ran into a nearby cave with his ring. He asks you to retrieve it. A straightforward early quest that uncovers a darker conspiracy.

How to start: Speak to Bill Ferny in Bree.

Steps:
  1. Accept Ferny's request — journal entry 1 is set.
  2. Enter Bree Cave and recover the Ring of Sharkey from the bandits (or a container).
  3. Return to Ferny. The ring's inscription reads "Servant of Sharkey" — suspicious.
  4. At Ferny's house you will face an ambush. Two choices after:
    • Give Ferny back his letter (Sharkey's Orders) — 150 XP + 200 gp. Journal entry 4.
    • Keep the letter — 150 XP, no gold, but you retain an evidence item. Journal entry 3.
Journal entries:
  1. You agreed to help Ferny recover his ring from a bandit who fled into a nearby cave.
  2. You delivered the ring. The inscription "Servant of Sharkey" gives you pause. (Note: this entry appears set via a separate branch — see DM note.)
  3. An ambush awaited at Ferny's house. You kept the letter about Sharkey.
  4. An ambush awaited at Ferny's house. You gave Ferny his letter back.
Journal entry 2 is defined in the journal but the DLG Quest field for it points to the correct tag. The ring item (RingofSharkey) and Sharkey's Orders (SharkeysOrders) must be in inventory when speaking to Ferny. The ambush trigger is in ferny_convo2.dlg.json. XP: 500 via endferny1.nss (give letter) or aquirering.nss (keep letter) — raised from 150.

The Miller's Son Working

Journal tag: Bree Millers Son Giver: Han the Bree Miller, Bree Level range: 1–10 Reward: 450 XP

The Miller of Bree has lost his son — the boy was delivering an ale shipment to Tharbad along the South Greenway Road. He asks you to find out what happened.

How to start: Speak to Han the Bree Miller in Bree.

Steps:
  1. Accept the Miller's request — journal entry 1 is set.
  2. Travel south along the Greenway. You will find what happened to his son.
  3. Return and deliver the grim news to the Miller — journal entry 2. 450 XP awarded via at_003.nss (raised from 150).
Journal entries:
  1. You agreed to find the Miller's son and the missing ale shipment headed for Tharbad.
  2. You delivered the sad news. The Miller grieves; his wife and his ale are small comfort.
Conversation in b_miller_convo1.dlg.json. Completion script at_003.nss (now 450 XP). The shipment scene is scripted on the South Greenway.

Feeding Tharbad Working

Journal tag: Feeding Tharbad Giver: Temple of Ilúvatar cleric, Tharbad Level range: 5–15 Reward: 500 XP + Book of the Cora

The Temple of Ilúvatar in Tharbad is struggling to feed hungry refugees at the bridge. They ask you to purchase venison from a local store and hand it out to 20 refugees at the bridge.

How to start: Speak to the Temple of Ilúvatar cleric in Tharbad.

Steps:
  1. Agree to help — journal entry 1 set. Local variable agreefeed = 1 is stored.
  2. Buy venison from the general store.
  3. Travel to Tharbad Bridge and feed 20 refugees.
  4. Return to the cleric — journal entry 2 set. 500 XP (raised from 200) and the Book of the Cora awarded.
Journal entries:
  1. You agreed to help the Temple feed hungry refugees at Tharbad Bridge — buy venison and feed 20 people.
  2. The refugees will not go hungry tonight. You gave selflessly for a noble cause.
Conversation in clericq.dlg.json. Completion via at_046.nss (now 500 XP). The reward item is bookofthecora.uti.jsonBook of the Cora — which already carries 5 properties and a high gold value, so it is a meaningful reward as-is.

Elrond's Request Working

Journal tag: Elrond's Request Giver: Elrond, Rivendell Level range: 15–30 Reward: 2,000 XP + Elrond's Writ

Elrond of Rivendell charges you with two tasks: break the Uruk-hai siege of the Troll Halls and retrieve the Helm of Azog the Warlord, then venture into Moria and find evidence of Balin's Expedition (the Dwarf Head). This is the module's main mid-game quest chain.

How to start: Speak to Elrond in Rivendell and accept both tasks. Journal entry 1 is set via the DLG engine's built-in Quest field.

Steps:
  1. Kill Azog the Warlord (CR 14) in the Angmar Mountain area and loot the Helm of the Warlord.
  2. Push into Balin's Tomb in Moria and retrieve the Dwarf Head (evidence of Balin's expedition).
  3. Return to Elrond with both items in your party's inventory. Script sc_015 checks for both.
  4. Agree to accept your reward — at_026 destroys both items; at_024 gives 2,000 XP and the Elrond's Writ item. Journal entry 2 set.
Journal entries:
  1. Elrond has given you two tasks: break the Uruk-hai siege of the Trollshaws and bring the Helm of Azog; venture into Moria and find sign of Balin's Expedition.
  2. Both tasks are complete. You now have a new place to call home.

Fixed (2026-05-28): The reply node in elrondconv.dlg.json that set the bogus tag Category000 (QuestEntry 1) now sets Elrond's Request. This was the quest-accept entry — previously only entry 2 (completion) was ever written, so players saw no journal entry on accepting. A dangling at_023 action still sets a local variable only (no quest effect); harmless.

The "existing journals got removed upon accepting the quest" report is a false diagnosis. No script in the module calls any journal-clearing function. What actually happened: the server-info journals (Rules, Website) are never given to players at all because mod_enter.nss is unwired (see Server Info section below). Players who noticed those journal entries gone were never receiving them in the first place. The Elrond quest is not the culprit. Fixed: server-info journal delivery is now wired into the OnClientEnter hook (hgll_cliententer.nss), so that symptom is gone — see the Server Info section below.

The Well of Souls Working

Journal tag: The Well of Souls Giver: Gondor Scribe, Gondor area Level range: 30–45 Reward: 4,000 XP + Annuminas Key

The Gondor Scribe asks you to face Azagoth, who threatens to open the Well of Souls. You must kill Azagoth and bring back his head to prove the deed is done.

How to start: Speak to the Gondor Scribe. Journal entry 1 is set.

Steps:
  1. Find and kill Azagoth in the Moria Byss / Balrog of Moria area.
  2. Loot Azagoth's Head from the corpse.
  3. Return to the Gondor Scribe with the head — at_008.nss removes the head and awards 4,000 XP (raised from 1,000). The Annuminas Key is given by at_007.nss (no XP of its own). Journal entry 2 set.
Journal entries:
  1. You agreed to face Azagoth and stop his entry into the Well of Souls. May fate guide your steps.
  2. Azagoth is dead and the Well of Souls is safe. Time for a drink at the Prancing Pony.

Fixed (2026-05-28): The dialogue node in gondorscribe.dlg.json that set the DLG Quest field to wellofsouls now sets The Well of Souls, so the accept entry is written. The completion entry (entry 2) was already correct.

Balance: Azagoth is a Moria-deep boss, so the old 1,000 XP was trivial for the level-30+ players who can reach him. Reward raised to 4,000 XP in at_008.nss. A named item drop themed around souls would still be a welcome future addition.

Kallrist Tiger Hunt Working

Journal tag: Kallrist Tiger Hunt Giver: Sald (potion merchant), Kallrist Island Level range: 10–20 Reward: 200 gp per Kallrist Tiger Heart

A potion merchant named Sald on Kallrist Island will pay 200 gold for every Kallrist Tiger Heart you bring him. The tigers (CR 6) roam the island's shore and interior areas. This is a repeatable delivery quest — there is no fixed completion state.

How to start: Speak to Sald on Kallrist Island and accept the hunt.

Steps:
  1. Hunt Kallrist Tigers across the island's nine areas. Each drops a Kallrist Tiger Heart.
  2. Return to Sald with hearts in your inventory — he inspects via sc_sald05, destroys the heart, and pays 200 gp.
  3. Repeat as desired — the open-ended journal entry stays in the log.

Fixed (2026-05-28): A Kallrist Tiger Hunt journal category was added with an open-ended (non-completing) entry, and at_sald01.nss (Sald's accept node) now sets it via AddJournalQuestEntry. This was the quest the player reported as "AWOL" — it was always functional, it just had zero journal presence.

The island has 9 areas: kallristinner, kallristeastshor, kallristnorthsho, kallristsouthsho, kallristwestshor, kallristouterban, kallristdarkrim, kallristcryptlow, kallristcryptupp. Tiger blueprint: kallristtiger.utc.json (CR 6, drops kallristtigerhea). A "ten hearts delivered" milestone entry (e.g. 500 XP) remains a possible future addition.

MeaningWave Quests

Seven philosopher guides scattered across Middle-earth. Find them all to unlock the Hall of Legends. See the full MeaningWave guide for locations and challenge details.

The Path of Meaning Working

Journal tag: MW Path of Meaning Total XP: 3,500 (guides) + 2,000 (finale) = 5,500 XP Level range: any — guides span the whole world

A strange music echoes across Middle-earth. Seven legendary figures are scattered through the world, each with their own challenge. Meet all seven, then seek Akira the Don in the Hall of Legends inside the Well of Eru.

The seven guides (500 XP each on unlock):
GuideChallengeJournal tagStatus
Jordan PetersonProve you understand responsibility and hierarchyMW Jordan PetersonWorking
Alan WattsAnswer questions about the play of the universeMW Alan WattsWorking
Joseph CampbellWalk a hero's journey of your ownMW Joseph CampbellWorking
Terence McKennaSurvive the visionsMW Terence McKennaWorking
Jocko WillinkComplete his combat trialMW Jocko WillinkWorking
Carl JungFace what stands behind youMW Carl JungWorking
Marcus AureliusSpeak about what is and is not in your powerMW Marcus AureliusWorking
The Path of Meaning journal entries (set by mw_unlock_inc.nss):
  1. A strange music whispers across Middle-earth. Seven legends are scattered across the world. Find them, prove yourself, and the Hall of Legends will open to you.
  2. One legend recognises you. Six remain.
  3. Two legends. Five remain.
  4. Three legends. Four remain.
  5. Four legends. The music grows clearer.
  6. Five legends gathered. Two voices still hidden.
  7. Six legends. One voice remains.
  8. All seven. Akira the Don awaits in the Hall of Legends — find the Wayshrine in the Well of Eru.
  9. (Finale) Akira the Don passed you the mixtape. The path of meaning is walked, but the journey never ends.
Seven additional loyalty quest categories exist in the journal (MW Jordan Peterson Loyalty etc.) with placeholder text "Content forthcoming." No scripts reference these yet. They are scaffolded for future content — loyalty quests for each guide after you unlock them.

Previously Broken / Unreachable

These quests or journal categories were unreachable or silently broken in the data. As of 2026-05-28 the fixes below have been applied; each entry records what was wrong and what changed.

Gloison's Heirloom Working

Journal tag: Gloison's Heirloom Giver: Gloin King Under the Mountain, Erebor (Lonely Mountain: Main Hall) Level range: high (Gerrey is CR 17) Reward: 5,000 XP + 15,000 gp

Glóin asks you to recover his kinsman Gloisin's family heirloom — a coat of arms stolen by the brigand Gerrey Halliams, who fled to the Ruins of Dale.

Steps:
  1. Speak to Gloin in Erebor and accept the task — journal entry 1 set via the DLG Quest field.
  2. Travel to the Ruins of Dale and kill Gerrey Halliams (CR 17). He carries the heirloom (item029, Gloison's Coat of Arms, tag GloisonsFamilyStone) as a droppable.
  3. Return to Gloin. The turn-in reply appears only while you hold the heirloom (gated by sc_glsn_have). at_glsn_rwd consumes the item and awards 5,000 XP + 15,000 gp; journal entry 2 set.

Fixed (2026-05-28) — this was unbuilt scaffolding, not a simple bug. The earlier diagnosis was wrong on several points:

  • Gerrey is the antagonist, not the giver. His blueprint is a hostile CR-17 mob whose conversation (gloisonscoat.dlg.json) is just a combat bark. He was never placed — now placed in the Ruins of Dale, carrying the heirloom as droppable loot.
  • sc_001.nss never blocked anything. Random(100) >= 100 can never be true (0–99), so the conditional always returns TRUE. It needed no change.
  • The heirloom item already existed (item029.uti.json) — nothing to create.
  • The real gap was a quest-giver. The existing friendly dwarf Gloin King Under the Mountain (uses gloingreet.dlg.json, placed in Erebor) was extended into the giver: offer → accept (journal 1) and a heirloom turn-in (journal 2 + reward) via new scripts sc_glsn_have and at_glsn_rwd.

Ruin of Annuminas Working

Journal tag: Ruin of Annuminas Giver: old woman in Bree ("Hanee the Loon") Reward: none defined

An old woman in Bree tells you to seek out the Ruins of Annuminas, an ancient Dúnedain realm to the north.

Fixed (2026-05-28): The old woman's dialogue (b_oldwoman_con1.dlg.json) set the DLG Quest field to annuminas (entry 1) while the journal category is Ruin of Annuminas, so the entry was silently dropped. The tag now matches and the journal entry is written.

The area (ruinsofannuminas) and its content already exist. This quest is a lore pointer with a single entry — no completion/turn-in is defined.

Server Info Journals (Rules, Guilds, Website) Working

Journal tags: rules, guilds, website Intended trigger: player first login Current state: never delivered to any player

Three journal categories carry server meta-information: the Server Rules, Guild creation rules, and the old forum website URL. These were intended to be given to players automatically on their first login.

Fixed (2026-05-28): The old delivery script mod_enter.nss was dead code — not the module's OnClientEnter handler (that is hgll_cliententer.nss) and not referenced anywhere — and it carried a gguild vs guilds tag typo. Rather than wire it, the three deliveries were added directly to hgll_cliententer.nss with the correct tags. All three categories already have entry 1 with End=1, so they land in the player's Completed section.

Note — correction to an earlier claim: hgll_cliententer.nss had no pre-existing first-login check to hang these from. AddJournalQuestEntry is idempotent (re-adding the same state just resets it), so the calls run unconditionally on every login — this deliberately reaches existing characters too, not just first-time logins.

The website URL in the website journal entry (http://Legend.nwnforums.com) is almost certainly dead — update the entry text in module.jrl.json to the current community resource when one is confirmed.

Unjournaled Quests Partial Content

Scripts reference journal tags that do not exist in module.jrl.json

Several quest scripts call AddJournalQuestEntry with tags that have no matching journal category. NWN silently ignores them, so the underlying quest logic may work but players see no journal entries.

Quest name / ScriptMissing tagStatus
Green Dragon quest (gdqc2.nss, gdrev1/2/3.nss) gdquest1 Journal added Category "The Green Dragon Inn" added (entry 1 accept, entry 2 complete). Reward 500 XP + 1,000 gp via gdrev1.
Gwathdor quest (gqstart.nss) gwathquest Journal added Category "The Oasis of Gwathdor" added (entry 1). Only a start state is scripted; no completion entry is set anywhere yet.
Cursed Grave undead (b_undead_dest.nss) cursedgrave Journal added Category "The Cursed Grave" added with entry 2 (End=1) and category XP=250, so GetJournalQuestExperience now returns 250.
Ported campaign quests (m2/m3 plot scripts) m2q2_Jax, M3Q04_*, etc. Campaign module content ported in; original journal categories not ported.
The Green Dragon, Gwathdor, and Cursed Grave quests now have matching journal categories in module.jrl.json. The m2/m3 ported-campaign remnants are intentionally left alone — they can be removed or wrapped into purpose-built persistent-world equivalents in a future pass.

Balance & Reward Notes

Current XP and gold rewards mapped against expected player level — with recommendations.

Quest Level range Current reward Assessment Suggested reward
Bill Ferny's Ring 1–10 500 XP + 200 gp (was 150) Raised to 500 XP. A small unique (e.g. a Ferny's Grudge dagger) remains an optional future addition. 500 XP + 200 gp ✓ applied
The Miller's Son 1–10 450 XP (was 150) Raised to 450 XP. An optional Bree Miller's Favour token remains a future idea. 450 XP ✓ applied
Feeding Tharbad 5–15 500 XP + Book of the Cora (was 200) Raised to 500 XP. The Book already carries useful properties, so no item change was needed. 500 XP ✓ applied
Elrond's Request 15–30 2,000 XP + Elrond's Writ Reasonable for a two-part quest chain that requires entering Moria. Verify Elrond's Writ has a tangible use. Keep 2,000 XP. Ensure Elrond's Writ unlocks something meaningful — e.g. access to Rivendell's inner vault store, or a permanent +1 to saves as an alignment reward via SetLocalInt.
The Well of Souls 30–45 4,000 XP + Annuminas Key (was 1,000) Resolved. The old 1,000 XP was trivial for a Moria-deep boss; raised to 4,000 XP, addressing the "chicken feed" complaint. 4,000 XP ✓ applied. A named soul-themed item drop remains a future idea.
Kallrist Tiger Hunt 10–20 200 gp/heart, repeatable Fair rate for CR 6 enemies. The journal-presence problem is now resolved (open-ended category added). Journal category ✓ added. A one-time 10-hearts-delivered milestone (500 XP + a unique item from Sald) remains an optional future addition.
MeaningWave (per guide) any 500 XP per guide, 2,000 XP finale Good. The spread across the game's levels means it never feels too easy or too hard. Finale reward (the mixtape item) is thematic. Keep as-is. When loyalty quests are implemented, 1,000–1,500 XP per loyalty task would be appropriate given they are mid-to-late game content.

General balancing principle: NWN1 EE characters gain roughly 1,000–3,000 XP per level in the early tiers from combat alone. A quest reward should represent a meaningful bump — roughly half a level's worth of combat XP at the quest's target tier. Early quests (levels 1–10) should give 400–800 XP; mid quests (15–30) should give 1,500–3,000 XP; end-game quests 3,000–8,000 XP.

Item rewards: Most quests give XP and gold only. Adding a unique named item to each quest — even a minor one — significantly increases perceived value and gives players something to talk about. Items don't need to be powerful; they need to be memorable.


Investigating Player Reports

Three historical bug reports, traced to their roots.

"The Kallrist Island tiger quest is AWOL"

Verdict: Quest existed but had no journal tracking — now resolved.

The Kallrist Tiger Hunt was always fully functional — NPC Sald, the tiger creatures, the Kallrist Tiger Heart item, and the 200 gp payout all work. Players never saw it in their quest log because there was no journal category. Fixed: a Kallrist Tiger Hunt category was added and wired into Sald's accept node (at_sald01.nss), so the hunt now shows in the journal.

"The demon north of Bree quest is broken — gave 1,000 XP, chicken feed by the time you can kill it"

Verdict: No demon exists near Bree today. The 1,000 XP report points to the Well of Souls.

A thorough search of all creature placements in and around Bree and the surrounding north areas finds no demon creature. The 1,000 XP reward described matches at_008.nss — the Gondor Scribe's payout for bringing Azagoth's Head (Well of Souls quest completion). Azagoth is placed in the Moria Byss area, not near Bree. Either:

  • A demon NPC was placed near Bree by a DM in the past and later removed from the GIT, or
  • The player confused Azagoth (Moria) with a Bree-region encounter.

Either way, the 1,000 XP complaint was valid — resolved: the Well of Souls payout in at_008.nss was raised to 4,000 XP.

"Elrond's quest is fixed, but existing journals (server updates) got removed when accepting it"

Verdict: Elrond's scripts never clear any journal entries. The server-info journals were simply never given.

No script in the module calls RemoveJournalQuestEntry or any equivalent function. The Elrond quest sets entries via the DLG engine's built-in Quest field, which only adds entries and cannot remove existing ones.

The real problem: mod_enter.nss (which contained the server rules/guilds/website journal delivery) was dead code, not wired to any event, so players never received those entries. Before and after speaking to Elrond, the server-info journals were absent — because they were never given. The timing coincidence made it look like Elrond's quest was clearing them.

Fixed: the three AddJournalQuestEntry calls (with the correct guilds tag) were added directly to hgll_cliententer.nss, the real OnClientEnter handler, and run idempotently on every login so all characters receive them in their Completed section. The dead-code gguild typo in mod_enter.nss is bypassed. The forum URL in the website entry is still stale and should be refreshed when a current community resource is known.