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

job

Vars

all_occupationsList of all jobs.
assigned_captainIf TRUE, some player has been assigned Captaincy or Acting Captaincy at some point during the shift and has been given the spare ID safe code.
chain_of_commandKeys should be assigned job roles. Values should be >= 1. Represents the chain of command on the station. Lower numbers mean higher priority. Used to give the Cap's Spare safe code to a an appropriate player. Assumed Captain is always the highest in the chain of command. See [/datum/controller/subsystem/ticker/proc/equip_characters]
config_documentationThis is just the message we prepen and put into all of the config files to ensure documentation. We use this in more than one place, so let's put it in the SS to make life a bit easier.
dynamic_forced_occupationsLazylist of mob:occupation_string pairs.
experience_jobs_mapDictionary of jobs indexed by the experience type they grant.
job_priorities_to_stringsDictionary that maps job priorities to low/medium/high. Keys have to be number-strings as assoc lists cannot be indexed by integers. Set in setup_job_lists.
joinable_departmentsList of all departments with joinable jobs.
joinable_departments_by_typeList of all joinable departments indexed by their typepath, sorted by their own display order.
joinable_occupationsList of jobs that can be joined through the starting menu.
legacy_modeAre we using the old job config system (txt) or the new job config system (TOML)? IF we are going to use the txt file, then we are in "legacy mode", and this will flip to TRUE.
name_occupationsDictionary of all jobs, keys are titles.
safe_code_request_locThe loc to which the emergency safe code has been requested for delivery.
safe_code_requestedWhether the emergency safe code has been requested via a comms console on shifts with no Captain or Acting Captain.
safe_code_timer_idTimer ID for the emergency safe code request.
type_occupationsDictionary of all jobs, keys are types.

Procs

AssignRoleAssigns the given job role to the player.
CheckHeadPositionsAttempts to fill out all possible head positions for players with that job at a a given job priority level.
DivideOccupations
DropLandAtRandomHallwayPointLands specified mob at a random spot in the hallways
FillHeadPositionWill try to select a head, ignoring ALL non-head preferences for every level until.
assign_priority_positionsBlindly assigns the required roles to every player in the dynamic_forced_occupations list.
check_job_eligibilityRuns a standard suite of eligibility checks to make sure the player can take the reqeusted job.
export_tomlProc that we call to generate a new jobconfig.toml file and send it to the requesting client. Returns TRUE if a file is successfully generated.
fill_ai_positionsAttempts to fill out all available AI positions.
generate_configCalled from an admin debug verb that generates the jobconfig.toml file and then allows the end user to download it to their machine. Returns TRUE if a file is successfully generated, FALSE otherwise.
get_all_headsReturns a list of minds of all heads of staff
get_all_secReturns a list of minds of all security members
get_living_headsReturns a list of minds of all heads of staff who are alive
get_living_secReturns a list of minds of all security members who are alive
job_priority_level_to_stringTakes a job priority #define such as JP_LOW and gets its string representation for logging.
load_jobs_from_configCalled in jobs subsystem initialize if LOAD_JOBS_FROM_TXT config flag is set: reads jobconfig.toml (or if in legacy mode, jobs.txt) to set all of the datum's values to what the server operator wants.
regenerate_job_configIf we add a new job or more fields to config a job with, quickly spin up a brand new config that inherits all of your old settings, but adds the new job with codebase defaults. Returns TRUE if a file is successfully generated, FALSE otherwise.
send_spare_id_safe_codeSend a drop pod containing a piece of paper with the spare ID safe code to loc
setup_job_listsBuilds various lists of jobs based on station, centcom and additional jobs with icons associated with them.

Var Details

all_occupations

List of all jobs.

assigned_captain

If TRUE, some player has been assigned Captaincy or Acting Captaincy at some point during the shift and has been given the spare ID safe code.

chain_of_command

Keys should be assigned job roles. Values should be >= 1. Represents the chain of command on the station. Lower numbers mean higher priority. Used to give the Cap's Spare safe code to a an appropriate player. Assumed Captain is always the highest in the chain of command. See [/datum/controller/subsystem/ticker/proc/equip_characters]

config_documentation

This is just the message we prepen and put into all of the config files to ensure documentation. We use this in more than one place, so let's put it in the SS to make life a bit easier.

dynamic_forced_occupations

Lazylist of mob:occupation_string pairs.

experience_jobs_map

Dictionary of jobs indexed by the experience type they grant.

job_priorities_to_strings

Dictionary that maps job priorities to low/medium/high. Keys have to be number-strings as assoc lists cannot be indexed by integers. Set in setup_job_lists.

joinable_departments

List of all departments with joinable jobs.

joinable_departments_by_type

List of all joinable departments indexed by their typepath, sorted by their own display order.

joinable_occupations

List of jobs that can be joined through the starting menu.

legacy_mode

Are we using the old job config system (txt) or the new job config system (TOML)? IF we are going to use the txt file, then we are in "legacy mode", and this will flip to TRUE.

name_occupations

Dictionary of all jobs, keys are titles.

safe_code_request_loc

The loc to which the emergency safe code has been requested for delivery.

safe_code_requested

Whether the emergency safe code has been requested via a comms console on shifts with no Captain or Acting Captain.

safe_code_timer_id

Timer ID for the emergency safe code request.

type_occupations

Dictionary of all jobs, keys are types.

Proc Details

AssignRole

Assigns the given job role to the player.

Arguments:

CheckHeadPositions

Attempts to fill out all possible head positions for players with that job at a a given job priority level.

Arguments:

DivideOccupations

DropLandAtRandomHallwayPoint

Lands specified mob at a random spot in the hallways

FillHeadPosition

Will try to select a head, ignoring ALL non-head preferences for every level until.

Basically tries to ensure there is at least one head in every shift if anyone has that job preference enabled at all.

assign_priority_positions

Blindly assigns the required roles to every player in the dynamic_forced_occupations list.

check_job_eligibility

Runs a standard suite of eligibility checks to make sure the player can take the reqeusted job.

Checks:

Arguments:

export_toml

Proc that we call to generate a new jobconfig.toml file and send it to the requesting client. Returns TRUE if a file is successfully generated.

fill_ai_positions

Attempts to fill out all available AI positions.

generate_config

Called from an admin debug verb that generates the jobconfig.toml file and then allows the end user to download it to their machine. Returns TRUE if a file is successfully generated, FALSE otherwise.

get_all_heads

Returns a list of minds of all heads of staff

get_all_sec

Returns a list of minds of all security members

get_living_heads

Returns a list of minds of all heads of staff who are alive

get_living_sec

Returns a list of minds of all security members who are alive

job_priority_level_to_string

Takes a job priority #define such as JP_LOW and gets its string representation for logging.

load_jobs_from_config

Called in jobs subsystem initialize if LOAD_JOBS_FROM_TXT config flag is set: reads jobconfig.toml (or if in legacy mode, jobs.txt) to set all of the datum's values to what the server operator wants.

regenerate_job_config

If we add a new job or more fields to config a job with, quickly spin up a brand new config that inherits all of your old settings, but adds the new job with codebase defaults. Returns TRUE if a file is successfully generated, FALSE otherwise.

send_spare_id_safe_code

Send a drop pod containing a piece of paper with the spare ID safe code to loc

setup_job_lists

Builds various lists of jobs based on station, centcom and additional jobs with icons associated with them.