
Quest bits are flags stored in the player which are used to track player
progress in quests. The number of bits is currently limited to 150 bits per
domain to keep down the size of player files.

Usage:
    player->set_domain_bit(domain, bit)
        Sets the indicated bit

    player->test_domain_bit(domain, bit)
        Returns true if the bit is set for the domain

    player->clear_domain_bit(domain, bit)
        Clears the specified bit

Legacy Bit Groups

In most domains and documentation there is concept called bit groups which
is related to how quest bits were stored in an earlier version of the mudlib.

Bits would be stored in 5 groups of 20 bits. Today these bits are mapped to
bit numbers. This means that in most domains the lower 100 bits are already in
use by legacy code.

Legacy group bits are converted to bit number with this forumula:
    bit = ((group) * 20 + (bit))

N.B. Do NOT use a bit unless you are really really certain that you want
to use it for a specific purpose. Remember that once used, it's almost
impossible to change the use of a bit since it might be set in a number of
unknown players (no way to erase a certain bit in every player).

Some hints as to effective use of the bits:

- If you have a complex quest which is solved in stages, you do better
  by reserving say 4 bits and use them as a number 0-15 for fifteen stages
  in the quest, intead of using fifteen separate bits.

Legacy usage with bit groups:

	player->set_bit(group, bit)
	This sets a given bit in a given group. The euid of the object
	calling is used to decide what domain is relevant.

	player->clear_bit(group, bit)
	This clears a given bit in a given group. The euid of the object
	calling is used to decide what domain is relevant.

	player->test_bit(domain, group, bit)
	This tests a given bit in a given group in a given domain.

