6.21 Permissions

Our permissions system, which is, or will be, used in multiple places,
allows one to specify exactly who can access something, or who is affected 
by something. For instance, the shop system (HELP SHOPKEEPING) uses it to
decide the discounts or surcharges that will be assessed to a purchase.

The permissions are actually called 'boolean expressions', but don't let
this scare you - all it means is that they are either true or false. A
permission might look like this (capitalization unnecessary): RANK 10 OF 
SHALLAH. That permission would mean that people who are rank 10 in the 
Order of Shallah pass the permissions test. You can also combine multiple 
permissions, to, for instance, let in everybody on your allies list, 
everybody from your guild, and everybody from your city higher than, say, 
rank 2.

To get even more elaborate, you can also use the 'not' modifier to take the
opposite of a permission string, and even the 'except' modifier to
specifically exclude certain people or groups of people.


An example of a set of permissions using everything you've learned so far
could
be:
NOT ENEMY
RANK 10 OF THANATOS
AVASYU
NOT STAVENN
EXCEPT NOT RANK 3 OF ANTIOCH
EXCEPT FRED


So, in total, the following would pass the permissions test:
  - People who aren't your enemies. (Note that this is most people.)
  - People who are rank 10 in Thanatos' order.
  - Avasyu.
  - Everyone who is NOT a member of Stavenn.

It would prevent people from opening the door who are:
  - Less than city rank 3 in Antioch.
  - Fred.

Obviously this is a bit of a silly set of permissions, but it shows how
elaborate you can get. The following are the specific permissions that you
can
use:

PERSON
  - A specific person.

ALLY
  - Your allies.

ENEMY
  - Your enemies.

MEMBER OF <organization>
  - A member of an organization, including clans, guilds, orders, cities,
    nature council, etc.

ENEMY OF <organization>
  - An enemy of an organization.

COUNCIL_MEMBER/SECRETARY OF <city/guild/council>
  - A member of the ruling council of a city, a secretary of a guild.

LEADER/GUILDMASTER of <org>
  - A city leader, a Guildmaster, or the leader of a clan.

RANK <x> OF <org>
  - At least rank <x> in cities, guilds, or orders.

NOVICEHEAD OF <guild>
  - The novicehead of a guild.

NOVICE OF <org>
  - Novices in a certain organization.
  - GUILDNOVICE OF <guild> still works for backwards compatibility.

<ministry> OF <city>
  - A minister a city. For instance: AMBASSADOR OF ANTIOCH

<ministry>_AIDES of <org>
  - A minister and his aides. For instance: AMBASSADOR_AIDES OF ANTIOCH