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."
This commit is contained in:
Matt Atlas
2020-04-05 20:15:31 +02:00
committed by GitHub
parent cf7fe3eff7
commit 2e5fdf970c
100 changed files with 15780 additions and 16628 deletions

View File

@@ -83,7 +83,7 @@
data["have_printer"] = 0
//Shuttle Stuff
var/datum/shuttle/ferry/supply/shuttle = SScargo.shuttle
var/datum/shuttle/autodock/ferry/supply/shuttle = SScargo.shuttle
if(shuttle)
data["shuttle_available"] = 1
data["shuttle_has_arrive_time"] = shuttle.has_arrive_time()
@@ -92,8 +92,8 @@
data["shuttle_can_cancel"] = shuttle.can_cancel()
data["shuttle_can_force"] = shuttle.can_force()
data["shuttle_at_station"] = shuttle.at_station()
if(shuttle.docking_controller)
data["shuttle_docking_status"] = shuttle.docking_controller.get_docking_status()
if(shuttle.active_docking_controller)
data["shuttle_docking_status"] = shuttle.active_docking_controller.get_docking_status()
else
data["shuttle_docking_status"] = "error"
else
@@ -108,7 +108,7 @@
ui.set_auto_update(1)
/datum/nano_module/program/civilian/cargocontrol/Topic(href, href_list)
var/datum/shuttle/ferry/supply/shuttle = SScargo.shuttle
var/datum/shuttle/autodock/ferry/supply/shuttle = SScargo.shuttle
var/obj/item/modular_computer/console = host
if (!shuttle)
world.log << "## ERROR: Eek. The supply/shuttle datum is missing somehow."