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.
Removes a very large amount of world loops.
Adds a macro to painlessly generate a global list, and the needed code to modify the list when an object is made or deleted automatically.
Cleans up some commented out code.
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.
- Added missing shutters to certain areas.
- Military Jacket variant added (different patches)
- Added different colored jumpsuits to the loadout
- Fixed some voided tiles on the telecomm outpost
- Added missing equipment to the forensics area
- Edited the crew transfer wording to be more lore friendly
- Entertainment monitors now properly hang on walls.
- Screwdriver added for IKEA floorlights in bar.
- IAA camera properly secured to wall.
- Ore boxes added to mining outpost.
- Paper bin added to chapel.
- AI core interior door and blast door button with proper access
- oxygen tank added to security voidsuit in armory.
- Hazard stripes fixed in medical.
- Asteroid dug tiles should be fixed.
- More carp added and carp spawns to both mining/research outpost and main station.
- Phoron line in atmospherics brought back into OSHA compliance.
- End of docks have cameras now.
- Visitor area properly fixed with cameras.
- Radios fixed in the visitors lounge.
- Tables added underneath computers in the library.
- Missing pipe leading to air tank in atmospherics fixed.
- Fixed lockdowns so they are not see through.
- Engineering breakroom disposals properly piped.
- Air alarm added to both medical maintenance areas, EVA maint, and engineering starboard maint.
- Included which dock the transfer and evacuation shuttles will be docking at in their announcement texts.
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.
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.