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
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:
- Accept Ferny's request — journal entry 1 is set.
- Enter Bree Cave and recover the Ring of Sharkey from the bandits (or a container).
- Return to Ferny. The ring's inscription reads "Servant of Sharkey" — suspicious.
- 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.
- You agreed to help Ferny recover his ring from a bandit who fled into a nearby cave.
- You delivered the ring. The inscription "Servant of Sharkey" gives you pause. (Note: this entry appears set via a separate branch — see DM note.)
- An ambush awaited at Ferny's house. You kept the letter about Sharkey.
- An ambush awaited at Ferny's house. You gave Ferny his letter back.
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
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:
- Accept the Miller's request — journal entry 1 is set.
- Travel south along the Greenway. You will find what happened to his son.
- Return and deliver the grim news to the Miller — journal entry 2. 450 XP awarded via
at_003.nss(raised from 150).
- You agreed to find the Miller's son and the missing ale shipment headed for Tharbad.
- You delivered the sad news. The Miller grieves; his wife and his ale are small comfort.
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
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:
- Agree to help — journal entry 1 set. Local variable
agreefeed = 1is stored. - Buy venison from the general store.
- Travel to Tharbad Bridge and feed 20 refugees.
- Return to the cleric — journal entry 2 set. 500 XP (raised from 200) and the Book of the Cora awarded.
- You agreed to help the Temple feed hungry refugees at Tharbad Bridge — buy venison and feed 20 people.
- The refugees will not go hungry tonight. You gave selflessly for a noble cause.
clericq.dlg.json. Completion via at_046.nss (now 500 XP). The reward item is bookofthecora.uti.json — Book 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
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:
- Kill Azog the Warlord (CR 14) in the Angmar Mountain area and loot the Helm of the Warlord.
- Push into Balin's Tomb in Moria and retrieve the Dwarf Head (evidence of Balin's expedition).
- Return to Elrond with both items in your party's inventory. Script
sc_015checks for both. - Agree to accept your reward —
at_026destroys both items;at_024gives 2,000 XP and the Elrond's Writ item. Journal entry 2 set.
- 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.
- 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.
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
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:
- Find and kill Azagoth in the Moria Byss / Balrog of Moria area.
- Loot Azagoth's Head from the corpse.
- Return to the Gondor Scribe with the head —
at_008.nssremoves the head and awards 4,000 XP (raised from 1,000). The Annuminas Key is given byat_007.nss(no XP of its own). Journal entry 2 set.
- You agreed to face Azagoth and stop his entry into the Well of Souls. May fate guide your steps.
- 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.
at_008.nss. A named item drop themed around souls would still be a welcome future addition.Kallrist Tiger Hunt Working
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:
- Hunt Kallrist Tigers across the island's nine areas. Each drops a Kallrist Tiger Heart.
- Return to Sald with hearts in your inventory — he inspects via
sc_sald05, destroys the heart, and pays 200 gp. - 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.
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
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):| Guide | Challenge | Journal tag | Status |
|---|---|---|---|
| Jordan Peterson | Prove you understand responsibility and hierarchy | MW Jordan Peterson | Working |
| Alan Watts | Answer questions about the play of the universe | MW Alan Watts | Working |
| Joseph Campbell | Walk a hero's journey of your own | MW Joseph Campbell | Working |
| Terence McKenna | Survive the visions | MW Terence McKenna | Working |
| Jocko Willink | Complete his combat trial | MW Jocko Willink | Working |
| Carl Jung | Face what stands behind you | MW Carl Jung | Working |
| Marcus Aurelius | Speak about what is and is not in your power | MW Marcus Aurelius | Working |
mw_unlock_inc.nss):
- 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.
- One legend recognises you. Six remain.
- Two legends. Five remain.
- Three legends. Four remain.
- Four legends. The music grows clearer.
- Five legends gathered. Two voices still hidden.
- Six legends. One voice remains.
- All seven. Akira the Don awaits in the Hall of Legends — find the Wayshrine in the Well of Eru.
- (Finale) Akira the Don passed you the mixtape. The path of meaning is walked, but the journey never ends.
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
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:- Speak to Gloin in Erebor and accept the task — journal entry 1 set via the DLG Quest field.
- Travel to the Ruins of Dale and kill Gerrey Halliams (CR 17). He carries the heirloom
(
item029, Gloison's Coat of Arms, tagGloisonsFamilyStone) as a droppable. - Return to Gloin. The turn-in reply appears only while you hold the heirloom (gated by
sc_glsn_have).at_glsn_rwdconsumes 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.nssnever blocked anything.Random(100) >= 100can 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 scriptssc_glsn_haveandat_glsn_rwd.
Ruin of Annuminas Working
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.
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
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.
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
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 / Script | Missing tag | Status |
|---|---|---|
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. |
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.