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:
insert copper– prints a random rumor (true or false; buyer beware).insert silver– takes on a quest posted at this board.insert 3 silvertakes up to three at once.
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:
addrumor true|false <text>– post a rumor (stand at a board).remrumor <id>– remove one by id.rumors– list every rumor with its id and T/F tag (works anywhere).
Quests
A quest is authored as an ordinary item, then posted to a board. Everything the quest does lives in that item's data.
Authoring a quest
item create Cellar Pests– the item name is the quest name.item Cellar desc <the overall goal>– shown at the top ofquest <name>.item Cellar data quest kill– mark it a quest (any non-empty type works as the marker).- set the step fields below with
item Cellar data <field> <value>. quest add Cellar– file it onto the board you're standing at (this consumes the staging item;quest removegets it back).
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>, or done |
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
find <item>– met while the player is holding a matching item. It fires on pickup, on loot, or immediately if they already carry it when they accept the quest. The item is not consumed – they keep it.kill <mob>– met when the player slays a matching mob (credited to the killer).
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.
Rewards
A reward spec (used for reward_N / repeat_reward_N) is one of:
<n> xp– experience, e.g.1000 xp.<n> gold|silver|copper– coins, e.g.5 gold.[<n>] <item name>– item(s) copied from the item factory, e.g.healing potionor3 healing potion. The factory is the canonical source, so the reward item is identical to the real thing – any special data it carries (skill hooks, flags) comes along. If no factory template matches, the reward is silently skipped, soitemf addthe item first.
Repeatable quests
Set item <quest> data repeatable true. After a completion the player may take the quest again; it restarts at step 0. On every run after the first, each step pays repeat_reward_N if present, otherwise reward_N. Use this to give a prized reward the first time and a lesser, farmable one after – a rare item on the first clear, say, and a handful of coins on every run after.
Lifecycle
- Abandon (
quest drop): the quest is hidden from the player's list, but its step is kept. Re-taking resumes exactly where they left off – so nobody can drop-and-retake to farm an early step's reward. - Repeat: re-taking a completed repeatable quest restarts it at step 0, and every step now uses its repeat reward.
- A non-repeatable quest, once complete, cannot be taken again.
Player commands
insert silver– take on an available quest at the board.quest– list your active quests, each with its current objective.quest <#|name>– the overall goal plus what to do now.quest drop <#|name>(orquest d) – set a quest aside.
Builder board commands
quest add <item>– post a held quest item onto the board here.quest remove <#|name>(orquest rem) – pull a posted quest back into your inventory as an editable item (revise, thenquest addagain).quest copy <#|name>– take a playable ticket of a posted quest, to test it end to end.examine <board>– lists the quests posted at that board with their numbers.
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 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 the rats out of the cellar. item Cellar data cond_1 kill cellar rat item Cellar data pass_1 The last of the rats is dealt with. item Cellar data reward_1 2 silver 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, gets the cellar key (step 0 clears – +25 copper), goes down and kills a cellar rat (step 1 clears – +2 silver, or +50 copper on repeats), and the quest completes.
Notes and limits
killcredit currently goes to the killer only – no party-wide credit yet.- Reward items must already exist in the item factory (
itemf add) or the reward is skipped. - Quest tickets are pure data (their own table), never real items – they can't be dropped, sold, or stored, and only show under
quest.
