Files
Aurora.3/code/controllers/subsystems/initialization/misc_late.dm
Matt Atlas 2e5fdf970c Landmark Shuttles (#8512)
The lifeless live again. Or in this case, what never actually lived here.

Ports Baystation12/Baystation12#17460 probably for real this time. What this allows us to do is create shuttles on runtime and make shuttles easier by just making landmarks and a shuttle instead of areas and shuttles. Also allows runtime landmark creation via flares or whatever AND allows shuttles to use different landmarks at will.

I removed most of the overmap stuff, I think. It shouldn't be hard to slam it in whenever we need to.

Changes:

    "Shuttle code has been completely reworked."
    "Shuttles can now be modified to have more than one destination."
    "Shuttles now have a takeoff sound."
    "You can now throw mobs against walls to damage them. A lot."
    "You now need a neckgrab to throw mobs."
    "BEING UNBUCKLED DURING SHUTTLE LAUNCH IS DANGEROUS! Don't do it."
    "Adminghosts can now interact with all shuttles."
2020-04-05 21:15:31 +03:00

45 lines
1.3 KiB
Plaintext

// This subsystem loads later in the init process. Not last, but after most major things are done.
/datum/controller/subsystem/misc_late
name = "Late Miscellaneous Init"
init_order = SS_INIT_MISC
flags = SS_NO_FIRE | SS_NO_DISPLAY
/datum/controller/subsystem/misc_late/Initialize(timeofday)
var/turf/picked
// Setup the teleport locs.
for (var/thing in all_areas)
var/area/AR = thing
picked = null
if(!(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station) || istype(AR, /area/wizard_station)))
picked = pick_area_turf(AR.type, list(/proc/is_station_turf))
if (picked)
teleportlocs += AR.name
teleportlocs[AR.name] = AR
if(istype(AR, /area/turret_protected/aisat) || istype(AR, /area/tdome) || istype(AR, /area/shuttle/specops/centcom))
ghostteleportlocs += AR.name
ghostteleportlocs[AR.name] = AR
picked = pick_area_turf(AR.type, list(/proc/is_station_turf))
if (picked)
ghostteleportlocs += AR.name
ghostteleportlocs[AR.name] = AR
sortTim(teleportlocs, /proc/cmp_text_asc)
sortTim(ghostteleportlocs, /proc/cmp_text_asc)
setupgenetics()
if (config.fastboot)
admin_notice("<span class='notice'><b>Fastboot is enabled; some features may not be available.</b></span>", R_DEBUG)
populate_code_phrases()
..(timeofday)
/proc/sorted_add_area(area/A)
all_areas += A
sortTim(all_areas, /proc/cmp_name_asc)