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 | |
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 |
Procs | |
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 |
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
- H - human mob to add to the 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.
- new_port - The new shuttle port to connect to the ship.
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.
- H - Human mob to add to the manifest
- C - client of the mob to add to the manifest
- human_job - Job of the human mob to add to the manifest
refresh_engines
Just double checks all the engines on the shuttle