CONCEPT
levels
LAST UPDATE
Mateese, 17-Mar-98
PLAYER LEVELS
One Step Beyond has two different levels systems: player levels and
immortal levels These two systems are completely distinct and
independent from one another.
Player levels are subdivided into two groupings, low level
players (LLP's) and high level players (HLP's). LLP's range from
levels 1-19, and HLP's range from levels 20-50.
Players require both experience points (XP) and quest points (QP)
to advance up to level 20. Once a player attains HLP status, only
XP is necessary to advance levels.
Players are able to advance their levels in their respective guild
houses. It is not necessary, however, for a player to join a guild;
any player may advance their level in the Adventurers' Guild.
The 'level' (P_LEVEL) of the player is a completely guild
specific value and not mandatory at all. However, for
comparison purposes, there is an internal P_REAL_LEVEL which is
computed from the players experience and solved quests.
Players with a 'real level' of more than 19 are 'high level
players'. It is not stored explicitely in a player, but computed
on the fly by the /obj/racemaster.
BECOMING IMMORTAL
There are two kinds of immortality: Ancience and Wizardhood. COmmon
two both is that the player is no longer part of the game.
Any player who has reached level 20 may become Ancient. This doesn't
happen automatically, instead the player has to ask a wizard or other
elder (her sponsor) to promote her. As an Ancient, the player is immortal,
has access to the wizard channels and boards, and teleport abilities,
but no access to the implementation details.
A player may become wizard any time. To become a wizard, the player
has to find a sponsoring wizard which puts her request up for voting.
If the vote comes out in favor (>= 66% of all registered voters), the
sponsor can promote the player to wizardhood.
In any case the sponsors are responsible for teaching the new elder
or wizard about their status: help them get started, explain the
rules to them, etc.
TECHNICAL DETAILS
The immortality system is based on the notion of the 'user level'.
This level is not a player-property, but is rather maintained by
the /secure/master.
Internally the levels are represented by numbers according to
this scheme:
Player : userlevel = LVL_PLAYER (0)
Ancient : userlevel = LVL_ANCIENT (1)
Wizard : userlevel = LVL_WIZARD (2)
The userlevel of someone can be queried with the sefun
query_user_level(). For easier use, following macros exist:
IS_PLAYER(x) : True if 'x' is a player.
IS_ANCIENT(x) : True if 'x' is an Ancient.
IS_WIZARD(x) : True if 'x' is a Wizard.
IS_IMMORTAL(x) : True if 'x' is an Ancient or a Wizard.
When displaying information about a player, printing the numeric
level is higly discouraged. Instead the short descriptions returned
by the sefun query_user_tag() are to be used.
IMPORTANT NOTE
The various userlevels DO NOT form a social hierarchy.
Read that again and keep it in mind.
SEE ALSO
query_user_level(sefun), query_user_tag(sefun)