pioneerspacesim/pioneer — pull request #1973 by Brianetta (2013-01-20 20:35:25+00:00)
Title: Crew

# For testing and collaboration.

This PR introduces the idea of crew to ships.

Crew members are instances of Character. They can be hired from the bulletin board, and fired from InfoView. If they have a contract, they are paid weekly. All crew from the bulletin board are given a contract (after negotiation), but it's quite possible for another script to provide indentured crew with no contract at all.

Crew are capable of performing tasks. Through the InfoView page, you can order your crew at large (not individual members). The script will have each member of crew attempt the order in turn - if appropriate, the player's Character will also have a go. At the moment, crew can attempt hull repairs, can fly the ship and can attack an enemy. Of these tasks, the player is included in the hull repair effort. Repairing the hull this way require metal allows to be on board.

Crew with good **engineering** can save your hyperdrive from failure, and will be able to keep it limping along for some time. A large ship with a lot of crew can pretty much avoid ever having a failure ever again, although the wage bill can be high.

When hiring crew, the player can negotiate their wages. The candidate can be offered more or less money, and can be asked to complete a test. Being offered less money, and having to take tests, annoys the candidate. Being offered more money cheers them up a lot.

Crew on board your ship will slowly improve. Basically, each week when they get paid they get another point to allocate to their skill sheet. This is allocated to their best skills first, unless they're getting very high, in which case they will start to round their skills out.

If crew aren't paid on time, they get grumpy - and can't be fired. You must ensure all wages are up to date before you can fire them through the UI. Paying the crew (by having enough money) makes them happier, up to a limit.

Crew that have been fired will find their way onto the bulletin board, and can be re-hired. They'll generally hang around for a month. Re-hiring crew that you have not treated will is not always possible.

Other ships have Schrödinger's Crew. They don't exist until you attempt to look at them, after which they continue to exist as long as the ship does. Crew characters aboard a ship that has been destroyed can be marked as dead, which lets other scripts do a missing persons ad.

Sacked crew members become available to the pool of persistent characters, so can be re-used by other scripts. You really *might* regret sacking so-and-so.

## Not done yet

Currently, there's no way to prevent the launch of a ship that does not have enough crew. This will be resolved when the ship's dash and the main station menu use the new UI.

Crew who have not been paid do not storm off in a huff yet. This is a to-do.

Another to-do is to have intern crew, who are very cheap or even free, but very unskilled. They will be skilled up in time (it takes about three years' experience to stop sucking completely) and this will make for a very inexpensive way to benefit from crew. That said, interns might not stay on the ship forever.

We can also have BB ads where somebody joins the crew just to get where they're going, essentially working their passage. They might be fleeing danger, or just out of luck.

A ship has a minimum and a maximum crew size. Below the minimum, and it should not be possible to launch, as mentioned above. Above the minimum, there should be other drawbacks to not having more than a skeleton crew, but this is yet to be implemented, too.

Future uses for crew could be their ability to negotiate with other entities in the game (such as talking a hostile faction's station into letting you dock).