/tg/ Station 13 - Modules - TypesVar Details - Proc Details

soulcatcher

Soulcatcher Component

This component functions as a bridge between the soulcatcher_room attached to itself and the parented datum. It handles the creation of new soulcatcher rooms, TGUI, and relaying messages to the parent datum. If the component is deleted, any soulcatcher rooms inside of soulcatcher_rooms will be deleted.

Vars

communicate_as_parentAre are the souls inside able to emote/speak as the parent?
ghost_joinableAre ghosts currently able to join this soulcatcher?
max_soulsWhat is the max number of people we can keep in this soulcatcher? If this is set to FALSE we don't have a limit
nameWhat is the name of the soulcatcher?
removableIs the soulcatcher removable from the parent object?
require_approvalDo we want to ask the user permission before the ghost joins?
soulcatcher_roomsWhat rooms are linked to this soulcatcher
targeted_soulcatcher_roomWhat soulcatcher room are verbs sending messages to?
ui_themeWhat theme are we using for our soulcatcher UI?

Procs

check_for_vacancyChecks the total number of souls present and compares it with max_souls returns TRUE if there is room (or no limit), otherwise returns FALSE
create_roomCreates a /datum/soulcatcher_room and adds it to the soulcatcher_rooms list.
get_approvalAttempts to ping the current user of the soulcatcher, asking them if joiner_name is allowed in. If they are, the proc returns TRUE, otherwise returns FALSE
get_current_holderTries to find out who is currently using the soulcatcher, returns the holder. If no holder can be found, returns FALSE
get_current_soulsReturns a list containing all of the souls currently present within a soulcatcher.
receive_messageReceives a message from a soulcatcher room.
remove_selfAttempts to remove the soulcatcher from the attached object
scan_bodyAttempts to scan the body for the previous_body component, returns FALSE if the body is unable to be scanned, otherwise returns TRUE

Var Details

communicate_as_parent

Are are the souls inside able to emote/speak as the parent?

ghost_joinable

Are ghosts currently able to join this soulcatcher?

max_souls

What is the max number of people we can keep in this soulcatcher? If this is set to FALSE we don't have a limit

name

What is the name of the soulcatcher?

removable

Is the soulcatcher removable from the parent object?

require_approval

Do we want to ask the user permission before the ghost joins?

soulcatcher_rooms

What rooms are linked to this soulcatcher

targeted_soulcatcher_room

What soulcatcher room are verbs sending messages to?

ui_theme

What theme are we using for our soulcatcher UI?

Proc Details

check_for_vacancy

Checks the total number of souls present and compares it with max_souls returns TRUE if there is room (or no limit), otherwise returns FALSE

create_room

Creates a /datum/soulcatcher_room and adds it to the soulcatcher_rooms list.

Arguments

get_approval

Attempts to ping the current user of the soulcatcher, asking them if joiner_name is allowed in. If they are, the proc returns TRUE, otherwise returns FALSE

get_current_holder

Tries to find out who is currently using the soulcatcher, returns the holder. If no holder can be found, returns FALSE

get_current_souls

Returns a list containing all of the souls currently present within a soulcatcher.

receive_message

Receives a message from a soulcatcher room.

remove_self

Attempts to remove the soulcatcher from the attached object

scan_body

Attempts to scan the body for the previous_body component, returns FALSE if the body is unable to be scanned, otherwise returns TRUE