Largely ported from the work done at Baystation in https://github.com/Baystation12/Baystation12/pull/17460 and later commits.
- Shuttles no longer require a separate area for each location they jump to.
Instead destinations are indicated by landmark objects, which are not necessarily exclusive to that shuttle.
This means that more than one shuttle could use the same docking port (not at the same time of course).
- Enhanced shuttle control computers to use nanoui if they didn't.
- Organizes shuttle datum code a bit better so there is less re-inventing the wheel in subtypes.
- Allows the possibility of shuttles (or destinations) that start on late-loaded maps.
- Deprecate the "extra" shuttle areas that are no longer needed and update shuttle areas in unit tests
This all required a bit of infrastructure improvements.
- ChangeArea proc, for changing the area of a turf.
- Fixed lighting overlays actually being able to be destroyed.
- Added a few utility macros and procs.
- Added "turf translation" procs which are like move_contents_to but more flexible.
Shuttles now set themselves up upon being instantiated instead of relying on a monolithic proc in the shuttle controller.
Shuttles can now be defined more cleanly on a per-map basis, as well.
Accidentally fixes a broken admin shuttle.
Links many map-specific details such as the station name, z-level information, and allowed jobs from global vars to map datum vars, which should help us maintain multiple maps at once in the future, which will be needed for the future Southern Cross.
Note that a config change will be needed to change GENERATE_ASTEROID to GENERATE_MAP, otherwise no changes should be required to continue normal map usage.
To change to a different map, it's suggested to tick the file that ticks all the other needed files, which for the Northern Star is called northern_star.dm.
- Rough fix in place for the holodeck thunder dome.
- Jukebox added to the coffee shop and bar.
- Latex gloves added to Xenoflora.
- Insulated gloves added to Engineering Outpost.
- Connected the main airlocks on the mining and research outposts to the distro.
- Changes 'Vir Regional Spaceport' to ' Vir Interstellar Spaceport'
- Fixed another name issue in reference to crew transfer shuttle.
Everything in game/machinery/computers/ and modules/shuttles should now have properly (de)capitalized names. Computer, board and research names should now be coherent, too. Adds a research for employment records circuit board.
Turns announcements into a datum based system to allow a variety of configurations.
Current configuration options include:
Admin logging
Which sound that should play when announced, if any
If the announcement should be stored as a newscast
Request console/standard announcements currently match priority announcements, but have a smaller style/footprint.
Player announcements now include the assignment and name of the person (or the id rather) who made it.
Have currently only updated the request console and all announcements which previously used captain_announce().
Affected automated announcements, such as shuttle messages, should be exactly the same as before.
Escape pods now no longer launch automatically during regular crew
transfers. However they can be set to launch during a regular crew
transfer by emagging the escape pod controller.
Also fixes emergency shuttle arrival announcement having the wrong ETD.