Shiptest 13 - Modules - TypesVar Details - Proc Details

Simulated overmap ship

A ship that corresponds to an actual, physical shuttle.

Can be docked to any other overmap datum that has a valid docking process.

Vars

applicationsLazylist of /datum/ship_applications for this ship. Only used if join_mode == SHIP_JOIN_MODE_APPLY
avg_fuel_amntAverage fuel fullness percentage
blacklistedStations the ship has been blacklisted from landing at, associative station = reason
est_thrustVessel estimated thrust per full burn
helm_lockedIs helm access for this ship locked
helmsAll helms connected to this ship
job_holder_refsList of mob refs indexed by their job instance
job_slot_adjustment_cooldownTime that next job slot change can occur
job_slotsAssoc list of remaining open job slots (job = remaining slots)
join_modeThe ship's join mode. Controls whether players can join freely, have to apply, or can't join at all.
manifestManifest list of people on the ship. Indexed by mob REAL NAME. value is JOB INSTANCE
max_missionsThe maximum number of currently active missions that a ship may take on.
memoShort memo of the ship shown to new joins
missionsList of currently-accepted missions.
owner_actThe action datum given to the current owner; will be null if we don't have one.
owner_check_timer_idThe ID of the timer that is used to check for a new owner, if the ship ends up with a null owner.
owner_mindThe mind of the current ship owner. Mostly kept around so that we can scream in panic if this gets changed behind our back.
owner_mobThe mob of the current ship owner. Tracking mostly uses this; that lets us pick up on logouts, which let us determine if a player is switching to control of a mob with a different mind, who thus shouldn't be the ship owner.
rename_cooldownCooldown until the ship can be renamed again
ship_accountShipwide bank account used for cargo consoles and bounty payouts.
shipkeyThe shipkey for this ship
shuttle_portThe docking port of the linked shuttle. To add a port after creating a controlled ship datum, use /datum/overmap/ship/controlled/proc/connect_new_shuttle_port.
source_templateThe map template the shuttle was spawned from, if it was indeed created from a template. CAN BE NULL (ex. custom-built ships).
unique_ship_accessWhether objects on the ship require an ID with ship access granted

Procs

Initializecreation_template - The template used to create the ship. target_port - The port to dock the new ship to.
add_mob_to_crew_guestbookadds a mob's real name to a crew's guestbooks
calculate_avg_fuelCalculates the average fuel fullness of all engines.
connect_new_shuttle_portConnects a new shuttle port to the ship datum. Should be used very shortly after the ship is created, if at all. Used to connect the shuttle port to a ship datum that was created without a template.
dock_in_empty_spaceDocks to an empty dynamic encounter. Used for intership interaction, structural modifications, and such
manifest_injectBastardized version of GLOB.manifest.manifest_inject, but used per ship. Adds the passed-in mob to the list of ship owner candidates, and makes them the ship owner if there is currently none.
refresh_enginesJust double checks all the engines on the shuttle

Var Details

applications

Lazylist of /datum/ship_applications for this ship. Only used if join_mode == SHIP_JOIN_MODE_APPLY

avg_fuel_amnt

Average fuel fullness percentage

blacklisted

Stations the ship has been blacklisted from landing at, associative station = reason

est_thrust

Vessel estimated thrust per full burn

helm_locked

Is helm access for this ship locked

helms

All helms connected to this ship

job_holder_refs

List of mob refs indexed by their job instance

job_slot_adjustment_cooldown

Time that next job slot change can occur

job_slots

Assoc list of remaining open job slots (job = remaining slots)

join_mode

The ship's join mode. Controls whether players can join freely, have to apply, or can't join at all.

manifest

Manifest list of people on the ship. Indexed by mob REAL NAME. value is JOB INSTANCE

max_missions

The maximum number of currently active missions that a ship may take on.

memo

Short memo of the ship shown to new joins

missions

List of currently-accepted missions.

owner_act

The action datum given to the current owner; will be null if we don't have one.

owner_check_timer_id

The ID of the timer that is used to check for a new owner, if the ship ends up with a null owner.

owner_mind

The mind of the current ship owner. Mostly kept around so that we can scream in panic if this gets changed behind our back.

owner_mob

The mob of the current ship owner. Tracking mostly uses this; that lets us pick up on logouts, which let us determine if a player is switching to control of a mob with a different mind, who thus shouldn't be the ship owner.

rename_cooldown

Cooldown until the ship can be renamed again

ship_account

Shipwide bank account used for cargo consoles and bounty payouts.

shipkey

The shipkey for this ship

shuttle_port

The docking port of the linked shuttle. To add a port after creating a controlled ship datum, use /datum/overmap/ship/controlled/proc/connect_new_shuttle_port.

source_template

The map template the shuttle was spawned from, if it was indeed created from a template. CAN BE NULL (ex. custom-built ships).

unique_ship_access

Whether objects on the ship require an ID with ship access granted

Proc Details

Initialize

creation_template - The template used to create the ship. target_port - The port to dock the new ship to.

add_mob_to_crew_guestbook

adds a mob's real name to a crew's guestbooks

calculate_avg_fuel

Calculates the average fuel fullness of all engines.

connect_new_shuttle_port

Connects a new shuttle port to the ship datum. Should be used very shortly after the ship is created, if at all. Used to connect the shuttle port to a ship datum that was created without a template.

dock_in_empty_space

Docks to an empty dynamic encounter. Used for intership interaction, structural modifications, and such

manifest_inject

Bastardized version of GLOB.manifest.manifest_inject, but used per ship. Adds the passed-in mob to the list of ship owner candidates, and makes them the ship owner if there is currently none.

refresh_engines

Just double checks all the engines on the shuttle