Table of Contents

Quests and Rumors

Builder reference for the guild board. Two coin-fed systems share one board prop: rumors (cheap, unreliable gossip) and quests (real, tracked commissions).

The board

A board is any item flagged data.questboard standing in a room (e.g. the Adventurer's Guild). Players feed it coins:

Either way you're only charged for what's actually delivered – an empty rumor pool, or a board with nothing new for you, costs nothing.

To make a board: create a fixture item in the room and set item <ref> data questboard true.

Rumors (the copper pool)

Rumors are one-line strings, each tagged true or false – a pool tag the player never sees (insert copper returns a random one, true or false). The pool is global. Admin-only:

Quests

A quest is authored as an ordinary item, then posted to a board. Everything the quest does lives in that item's data. Once posted you can also tune it in place – see Builder board commands below.

Authoring a quest

The step machine

A quest is a sequence of steps numbered from 0. Each player's ticket remembers their current step. Step N is described by these data fields (N is the step number):

Field What it does
info_N the “what to do now” line, shown in the quest list and in quest <name> while at step N
cond_N how to clear step N: find <item>, kill <mob>, kill <n> <mob>, kill all <a>|<b>, give <item> to <npc>, or done
tally_N (optional) the plural noun shown in a counted-kill's progress, e.g. “bats”
pass_N flavour line printed the instant cond_N is met
reward_N reward granted on clearing step N (first run)
repeat_reward_N replaces reward_N on a REPEAT run (see Repeatable)

The quest completes the moment it reaches a step whose cond is done.

Conditions

Matching is case-insensitive and by substring, so kill rat would trigger on any mob whose name contains “rat”. Name the target specifically – kill goblin chief, not just kill goblin.

A counted kill can also accept several targets separated by | – any of them counts toward the tally. For example kill 10 lion|tiger|bear clears when the player has slain ten in any mix of lions, tigers and bears.

Where several targets must all be dealt with – a “clear both” objective – use kill all <a>|<b>[|<c>…] instead. This tracks each distinct target and clears only once every one has fallen, in any order, announcing progress as each goes down ([Quest] Fence down – 1/2.). So kill all fence|pickpocket needs both the fence and a pickpocket dead – where kill 2 fence|pickpocket would settle for any two kills between them.

Item turn-ins (give to an NPC)

An NPC will not take an item unless an active quest wants it – otherwise give <item> <npc> just gets “<NPC> doesn't want that item.” So a give <item> to <npc> step is only reachable while its quest is active: the player carries the item to that NPC and either gives it or sells it to them (both hand it in). On the turn-in the item is consumed, the step's pass_N prints (use it for the NPC's dialogue), and reward_N is granted.

To keep the quest item from being sold for coins at some other shop – and lost – mark it unsellable in its data (item <ref> data unsellable true, or on a spawn's data). No shopkeeper will buy an unsellable item; only the turn-in at the right NPC accepts it. (This is a dedicated no-shop flag – unlike junk, it has no recycle or auction side effects.)

Rewards

A reward spec (used for reward_N / repeat_reward_N) is one of:

Bundle several rewards on one step by joining them with +: reward_0 = 250 xp + 5 silver grants both, each announced on its own line. Any mix works, e.g. 1000 xp + 10 silver + healing potion.

The level gate

Every quest has a minimum character level, data.level (default 1). A board never offers a player a quest above their level, and insert silver hands out a random eligible quest from the pool – so a single board can post a whole spread of levels and give each adventurer only what suits them. Unfinished quests come first: a repeatable you've already cleared is only handed back once there's nothing new or resumable left on the board, so you're never sent to re-grind a repeat while fresh content is waiting. If the only quests left are above the player's level, the board tells them to come back stronger (and charges nothing).

Set it while authoring (item <quest> data level 7) or on a posted quest (quest level <#|name> 7).

Repeats age out. The level gate has a ceiling on the repeat side: once a player is 5 levels past a quest's minimum, a repeatable quest stops being handed back for re-runs – a level-10 repeatable can be re-farmed at levels 10 through 14, but not from 15 on (you've outgrown the grind). This caps repeats only; the first run of a quest you've never finished is never aged out – it stays available until you actually complete it, however high you climb, so no story is lost by outleveling it. (An aged-out repeat is simply not offered; the board doesn't send you to “come back stronger” for it.)

Repeatable and unique quests

By default a quest can be taken once: after completion it can never be taken again.

Lifecycle

Player commands

Builder board commands

Stand at the board for all of these. Stock the board:

Tune a posted quest in place – no remove / edit-item / re-add round-trip needed. Refer to the quest by its board number (from examine <board>) or by name:

The tune commands read the first word as the quest reference, so a multi-word name like “Bat Cull” is matched by its first word (“bat”) or – more reliably – by its board number.

Worked example (a made-up quest)

A whole quest authored from scratch. Nothing here is a real Mossworld quest – it just shows the shape: a two-step find-then-kill, with per-step rewards and a repeat reward.

item create Cellar Pests
item Cellar desc The innkeeper's cellar is overrun with rats. Clear it out.
item Cellar data quest kill
item Cellar data level 2
item Cellar data info_0 Ask the innkeeper for the key to the cellar.
item Cellar data cond_0 find cellar key
item Cellar data pass_0 The innkeeper hands you the cellar key.
item Cellar data reward_0 25 copper
item Cellar data info_1 Go down and clear ten rats out of the cellar.
item Cellar data cond_1 kill 10 cellar rat
item Cellar data tally_1 rats
item Cellar data pass_1 The last of the rats is dealt with.
item Cellar data reward_1 2 silver + 100 xp
item Cellar data repeat_reward_1 50 copper
item Cellar data cond_2 done
item Cellar data repeatable true
quest add Cellar

Play-through: the player insert silvers to take the quest (they must be level 2), gets the cellar key (step 0 clears – +25 copper), goes down and kills ten cellar rats (the board shows 3/10 rats as they go; step 1 clears – +2 silver and +100 xp, or +50 copper on repeats), and the quest completes.

To make it a one-and-done relic quest instead, drop the repeat line and mark it unique: quest unique Cellar.

Notes and limits