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.
Southern Cross shuttles one and two can now launch.
Adds missing areas for shuttles 1 and 2.
Shuttles warming up, moving, or stopping now make a nice sound, ported from /tg/.
Rearranges shuttle datum/computer definitions to make it easier to read.
Removes cloaking abilities for most multi-shuttles.
Lowers transit time for multi-shuttles. Can be raised later if desired.
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.
Okay, the administration shuttle isn't new, I just made it more comprehensive.
-Made it easier to create multi-destination shuttles for player-use when not antags. The existing ones were pretty geared towards the Mercenary game mode. Now it's pretty easy to make a shuttle that goes a bunch of places.
-Redesigned admin shuttle (pac-man shaped one at CC) to be multi-destination shuttle more capable of supporting RP. Can be used on 'hard' away missions by putting in the appropriate area in the away mission (`/area/shuttle/administration/away_mission`). Or, hell, include it on every new away mission and say that it's the E-Z mode version of that mission.
-Added new AwayMission shuttle to Dock 1. By default it can only go between the station and the old abandoned construction site, but if it detects that there's a map loaded with the appropriate area (`/area/shuttle/awaymission/away`), then it will be available for travel to that destination as well, listed as "Unknown Location". The shape of the area should be 13 wide x 5 tall. The shuttle opens to the right, in the center of the 5.
-Redid several parts of Centcom. Nothing too huge. Mostly made some hallways less barren, allowed access to the trams area on the right by default for shift-end people to use the trams, tweaked a couple of hallways to make sense (going through the bridge to get to a security checkpoint?) and added a couple more potted plants for good measure. Mostly added windows because several hallways were just... like... I feel like I'm underground.
-Changes on z1: Added away shuttle to dock.
-Changes on z2: Lots, see above.
-Changes on z4: Add area for Away Mission shuttle.
Computers now use an overlay based system, instead of demanding a full set of icons (on, off, broken) for every different computer.
Partially ports ParadiseSS13/Paradise#1468 which is a port of tgstation/-tg-station#9931.
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.
Moves all ferry shuttle processing into one place: the new shuttle
controller.
Also cleans up the emergency shuttle controller a bit more and fixes
multi-shuttle cooldown.