Skip to content
Alberyk edited this page Mar 2, 2023 · 3 revisions

This is currently a work in progress while the PR is being finalized

Overview

A ghost-role needs a role definition, which defines what mob is spawned in, what equipment they have and how they look. This is done via the /datum/ghostspawner. There are subtypes for humans (which offerer additional options that are only relevant for humans) and simple mobs.

Selecting a Spawnpoint

Unless select_spawnpoint() is specifically overwritten, the first available spawnpoint of the spawnpoint types in var/list/spawnpoints is selected.

If you wish to overwrite select_spawnpoint() ensure it returns null or a turf.

Actions before / after spawning

If you wish to perform certain actions before or after spawning, you can overwrite pre_spawn() and post_spawn(), but ensure that you are calling the parent proc.

Specifying a outfit based on the species (human mobs only)

It is possible to specify a specific outfit based on the species of the mob. Use the variable species_outfits for this purpose. For example:

species_outfits = list("Tajara"=/datum/outfit/nt/admin/ccia/tajara, "Unathi"=/datum/outfit/nt/admin/ccia/unathi)

Changing the faction (human mobs only)

If you spawn a person on a away site (for example the syndicate base), you might want to change their faction. You can overwrite the faction of mob using the faction variable on the spawner datum

Asking them for the name (human mobs only)

If players joining as a specific role need to choose a special name (for example only a last name or a callsign), then you should specify that in the mob_name_pick_message

A name prefix/suffix can be specified there aswell. This prefix/suffix is automatically added to the name they enter (and it is ensured that they do not enter it twice by removing it from the user message should the user add it on their own)

Standards and Guidelines

A collection of standards and guidelines applied to the codebase.

Common API Documentation

Documentation regarding common APIs which speed up feature implementation and should be known by all coders.

Less Common APIs

Documentation for less used APIs that are not often needed.

Subsystems

Documentation regarding our implementation of StonedMC (SMC).

Decrepit

Decrepit or unused systems.

  • Dynamic Maps (Not to be confused with the newer away mission implementation.)
Clone this wiki locally