PERMISSIONS - Lusternia Online Help

6.19 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 housing system (HELP HOUSING) uses it to decide
who can and cannot open a door in a house.

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 ROARK. That
permission would mean that people who are rank 10 in the Order of Roark 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 when specifying whom to let in.

Once you have specified who is allowed in using the above, you can define exceptions to these rules using 'except' clauses. Exceptions only work to narrow down the list of people to whom you have granted permission, and if you have not granted explicit permission to anyone then exception clauses don't make sense.


An example of a set of permissions using everything you've learned so far could
be:
NOT ENEMY
RANK 10 OF ROARK
NOT MEMBER OF CELEST
EXCEPT GUILDMASTER OF UR'GUARD
EXCEPT NOT RANK 3 OF MAGNAGORA
EXCEPT ESTARRA


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

It would prevent people from opening the door who matched one of the following, even if they pass the above tests:
  - The Guildmaster of the ur'Guard
      OR
  - Less than city rank 3 in Magnagora.
      OR
  - Is the goddess Estarra.

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:

ANYONE
  - Allow anyone in. Useful in conjunction with 'except' clauses if all you
    want to do is exclude people. Grant permission to ANYONE and then define
    your exceptions.

<person>
  - A specific person.

ALLY
  - Your allies.

ENEMY
  - Your enemies.

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

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

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

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

ADMINISTRATOR OF <org>
  - The Administrator of a guild.

CHAMPION OF <org>
  - The Champion of a guild.

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

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

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