# Belonging to corps

## How to join a corp

Find a corp to join. You can see people's main corp by using the `who` command.
Try messaging someone who seems cool and asking if they can get you into your
corp.

To join a corp, you need to be in the same place as the person inviting you.
Then, they offer to hire you with `corp hire <yourname> into <corpname>`, where `<yourname>` is
replaced with your username. You get a message and accept it with `corp join <corpname>`.

You can join more than one corp (but no more than 5) - so you can spy on one corp for
another, or join a union, or maybe a secret division of your main corp!

## Chatting to others in your corp

In your main (first) corp, you can chat to everyone in your corp simply by prefixing
your message with `c `. For example, `c Hello fellow corpmates!`.

If you belong to more corps, you can specify which one as: `c @corpname Hello fellow corpmates!`.

## Corps and allow combat

When you are a lone operator, people can only attack you if you have a fight consent
in place (`allow fight ...`). Corporations can go to war against other corporations
if the leaders of both corporations consent - and any member of a corp at war can attack
any member of the other corp. When you join a corp, you are affected by any existing
wars the corp has consented to.

Joining a corp doesn't necessarily require you agree that the leaders can start a war
you get pulled into, however. There is a setting called 'allow combat' (that applies to
your membership of a corp) - and leaders can only declare war (consent to fighting
with another corp) if all members of the corp have 'allow combat' turned on.

To turn on allow combat (so that your corp can get into wars), use the command
`corp allow combat from <corpname>`. To turn off allow combat (so that your corp
can't get into wars), use the command `corp disallow combat from <corpname>`.

However, some corps want to go to war, and don't want people stopping them by
having allow combat off. Those corps might turn on the 'allow combat required'
setting with the command `corp config <corpname> allow combat required` (it can
be reversed with `corp config <corpname> disallow combat required`). If they do
this, everyone new who joins gets `allow combat` turned on automatically (you will
be warned when invited to join a corp with allow combat required on). Also, no one
in the corp with allow combat on can turn it off. It won't automatically turn
on allow combat for members with it turned off - but the leaders might fire you
if you don't agree to turn it on!

If everyone in your corp allows combat, and you have the `war` privilege in the
corp, you can declare war as follows: `allow fight against <corp> by <corp> <options>`.
`<options>` are the same as for individual consents.

## Listing what corps you belong to

You can list who is in your corp: `corp list`

## Finding out about a corp you are in

You can see who is in a corp, and what privileges they have, with `corp info <corpname>`.

## Changing what corp is 'primary'

Run `corp order <corpname> as <number>`, where the lower `<number>` is,
the earlier it is in the list. The first corp in your list (lowest number) is
your primary corp, which is where messages sent with `c` go if you don't name
a specific corp - and what corp comes up against your name in who.

## Changing subscriptions

If you get sick of all the messages you get from being in a corp, you can turn
some of them off with the `corp unsubscribe <commtype> from <corpname>`.
`<commtype>` can be chat (chat messages), notice (notices like people joining,
leaving, being promoted, and so on), connect (people in your corp
logging in), reward (people getting a reward), death (notices if someone in your
corp is killed) and consent (related to declaring war).

# Running your own corp

## How to create corp

Head to the Kings Office (KO) in Melbs, and buy a Corp Licence.
Use `write <corpname> on corp licence`, replacing `<corpname>` with the name you want your new
corp to have, to write on the licence. You can rub it out and write again by
repeating the `write` command if you make a mistake. Finally, sign the licence
with `sign corp licence`.

You become the founder of the corp, and holder of a corp licence.

## Privileges

Just having one person who does everything to manage the corp will probably get
a bit boring - and running a good corp can become a 24x7 affair, so having others
to help you can be important.

Luckily, Blastmud has a rich 'privileges' system, where you can grant others permissions
to do things in the corp.

The `corp promote` command allows you to promote (or demote) a player to a specific title
within a corp, and also modify their privileges. Here is the syntax:

```corp promote <user> in <corp> to <title> privileges <privileges>```

`<user>` - the player you want to promote.
`<corpname>` - the name of the corporation you want to promote the player within.
`<title>` - the title you want to assign to the player
`<privileges>` - the privileges you want to grant or remove from the player,
prefixed with "+" or "-" respectively, separated by spaces.

The following privileges exist:

|Privilege|Meaning|
|---------|-------|
|holder   | The owner of the corp. Can do anything except demote / fire a more senior holder (implies all other privileges). |
|hire     | Can hire new people into the corp. |
|fire     | Can fire people from the corp. |
|promote  | Can promote/demote people (but not holders), and delegate privileges they have to others. |
|war      | Can declare war against other corps on behalf of the corp. |
|configure| Can change the settings of the corp. |
|finance  | Can access (or embezzle!) the corp's funds. |

## Configuring your corporation

The `corp config` command allows leaders (with the `configure` privilege) to configure
various settings for their corp, such as member privileges and combat consent requirements.

To use this command, type `corp config <corpname> <configuration>`. Replace `<corpname>` with the
name of your corp and `<configuration>` with one of the following options:

* `allow combat required`: Requires that all new members have the `allow combat`
  setting (and no one with it on can turn it off while the setting is in place). Once all members have `allow combat`
  enabled, anyone with the `war` privilege can declare war.
* `allow combat not required`: Stops requiring that new members have `allow combat` on, and allows members to
  disallow combat.
* `base privileges privilege_name privilege_name`: Sets the privileges that new members receive when they join the corporation. Replace `privilege_name` with the name of the privilege all new members should get. Use spaces to separate multiple privilege names.
