Daedalus Dock - 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]
departmentsList of all departments.
departments_by_typeList of all departments indexed by their typepath, sorted by their own display order.
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_occupationsList of jobs that can be joined through the starting menu.
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.
temporary_heads_by_depA k:v list of department_path : name, where name is the name of the player who was given head access at roundstart
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_captainFinds a captain first a foremost. Returns success or failure
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.
fill_ai_positionsAttempts to fill out all available AI positions.
get_necessary_departmentsReturns a list of department paths that must be filled.
job_priority_level_to_stringTakes a job priority #define such as JP_LOW and gets its string representation for logging.
promote_to_department_headCalled when there's no department head present.
send_spare_id_safe_codeSend a drop pod containing a piece of paper with the spare ID safe code to loc
setup_alt_job_itemsShows a list of all current and future polls and buttons to edit or delete them or create a new poll.
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]

departments

List of all departments.

departments_by_type

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

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_occupations

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

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.

temporary_heads_by_dep

A k:v list of department_path : name, where name is the name of the player who was given head access at roundstart

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_captain

Finds a captain first a foremost. Returns success or failure

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:

fill_ai_positions

Attempts to fill out all available AI positions.

get_necessary_departments

Returns a list of department paths that must be filled.

job_priority_level_to_string

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

promote_to_department_head

Called when there's no department head present.

send_spare_id_safe_code

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

setup_alt_job_items

Shows a list of all current and future polls and buttons to edit or delete them or create a new poll.

All extra functionality to run on new player mobs, in a place where we actually have the client, and haven't called COMSIG_GLOB_JOB_AFTER_SPAWN yet, so we are running before the wallet trait, and other things that rely on items already being settled.

setup_job_lists

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