User Tools

Site Tools


rumors_and_quests

This is an old revision of the document!


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 silver takes 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

  1. item create Rats! – the item name is the quest name.
  2. item Rats! desc <the overall goal> – shown at the top of quest <name>.
  3. item Rats! data quest kill – mark it a quest (any non-empty type works as the marker).
  4. set the step fields below with item Rats! data <field> <value>.
  5. quest add Rats! – file it onto the board you're standing at (this consumes the staging item; quest remove gets 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 Lord of the Rats.

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. gem of garaldor or 3 healing potion. The factory is the canonical source, so the reward item is identical to the real thing (a Gem of Garaldor carries its skillgem flag and turns in at Wizzy's exactly like a dropped one). If no factory template matches, the reward is silently skipped – so itemf add the 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 one-time prize the first time and a lesser, farmable reward after – e.g. reward_1 a Gem of Garaldor, repeat_reward_1 1000 xp.

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> (or quest d) – set a quest aside.

Builder board commands

  • quest add <item> – post a held quest item onto the board here.
  • quest remove <#|name> (or quest rem) – pull a posted quest back into your inventory as an editable item (revise, then quest add again).
  • 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: Rats!

name:  Rats!
desc:  Kill the Lord of the Rats in the Mosgaard Sewers.
data:
  quest            kill
  info_0           To find the Lord of the Rats, you may need a magic key.
                   They say there is one hidden in the gray wizard's tower.
  cond_0           find magic key
  pass_0           You found the magic key!
  reward_0         1000 xp
  info_1           Seek out the lair of the Lord of the Rats, deep beneath the sewers.
  cond_1           kill Lord of the Rats
  pass_1           You have slain the Lord of the Rats and received your reward!
  reward_1         gem of garaldor
  repeat_reward_1  1000 xp
  cond_2           done
  repeatable       true

Play-through: accept the quest → holding a magic key clears step 0 for 1000 xp → slaying the Lord of the Rats clears step 1 for a Gem of Garaldor (or 1000 xp on repeats) → done.

Notes and limits

  • kill credit 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.
rumors_and_quests.1783288106.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki