Simulated overmap ship
![code/modules/overmap/ships/controlled_ship_datum.dm 8](git.png)
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
![code/modules/overmap/ships/controlled_ship_datum.dm 61](git.png)
Lazylist of /datum/ship_applications for this ship. Only used if join_mode == SHIP_JOIN_MODE_APPLY
avg_fuel_amnt
![code/modules/overmap/ships/controlled_ship_datum.dm 15](git.png)
Average fuel fullness percentage
blacklisted
![code/modules/overmap/ships/controlled_ship_datum.dm 71](git.png)
Stations the ship has been blacklisted from landing at, associative station = reason
est_thrust
![code/modules/overmap/ships/controlled_ship_datum.dm 13](git.png)
Vessel estimated thrust per full burn
helm_locked
![code/modules/overmap/ships/controlled_ship_datum.dm 31](git.png)
Is helm access for this ship locked
helms
![code/modules/overmap/ships/controlled_ship_datum.dm 29](git.png)
All helms connected to this ship
job_holder_refs
![code/modules/overmap/ships/controlled_ship_datum.dm 44](git.png)
List of mob refs indexed by their job instance
job_slot_adjustment_cooldown
![code/modules/overmap/ships/controlled_ship_datum.dm 68](git.png)
Time that next job slot change can occur
job_slots
![code/modules/overmap/ships/controlled_ship_datum.dm 66](git.png)
Assoc list of remaining open job slots (job = remaining slots)
join_mode
![code/modules/overmap/ships/controlled_ship_datum.dm 59](git.png)
The ship's join mode. Controls whether players can join freely, have to apply, or can't join at all.
manifest
![code/modules/overmap/ships/controlled_ship_datum.dm 41](git.png)
Manifest list of people on the ship. Indexed by mob REAL NAME. value is JOB INSTANCE
max_missions
![code/modules/overmap/ships/controlled_ship_datum.dm 38](git.png)
The maximum number of currently active missions that a ship may take on.
memo
![code/modules/overmap/ships/controlled_ship_datum.dm 64](git.png)
Short memo of the ship shown to new joins
missions
![code/modules/overmap/ships/controlled_ship_datum.dm 36](git.png)
List of currently-accepted missions.
owner_act
![code/modules/overmap/ships/controlled_ship_datum.dm 54](git.png)
The action datum given to the current owner; will be null if we don't have one.
owner_check_timer_id
![code/modules/overmap/ships/controlled_ship_datum.dm 56](git.png)
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
![code/modules/overmap/ships/controlled_ship_datum.dm 52](git.png)
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
![code/modules/overmap/ships/controlled_ship_datum.dm 50](git.png)
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
![code/modules/overmap/ships/controlled_ship_datum.dm 17](git.png)
Cooldown until the ship can be renamed again
ship_account
![code/modules/overmap/ships/controlled_ship_datum.dm 33](git.png)
Shipwide bank account used for cargo consoles and bounty payouts.
shipkey
![code/modules/overmap/ships/controlled_ship_datum.dm 27](git.png)
The shipkey for this ship
shuttle_port
![code/modules/overmap/ships/controlled_ship_datum.dm 20](git.png)
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
![code/modules/overmap/ships/controlled_ship_datum.dm 22](git.png)
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
![code/modules/overmap/ships/controlled_ship_datum.dm 24](git.png)
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