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
est_thrustVessel estimated thrust per full burn
helm_lockedIs helm access for this ship locked
helmsAll helms connected to this ship
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
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.
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

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_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

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.

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