Fixes drop pods, fixes the Ninja TP consoles, fixes shuttles being unable to dock with the Horizon. (#14138)

This commit is contained in:
Matt Atlas
2022-05-29 20:26:06 +02:00
committed by GitHub
parent 73e16b02cf
commit f3bb184919
14 changed files with 689 additions and 642 deletions

View File

@@ -110,6 +110,11 @@
desc = "A computer that has a special teleporter control program loaded."
_app_preset_type = /datum/modular_computer_app_presets/command/teleporter
/obj/item/modular_computer/console/preset/command/teleporter/ninja
name = "teleporter control console"
desc = "A computer that has a special teleporter control program loaded."
_app_preset_type = /datum/modular_computer_app_presets/command/teleporter/ninja
// Civilian
/obj/item/modular_computer/console/preset/civilian
name = "civilian console"

View File

@@ -245,6 +245,26 @@
)
return _prg_list
/datum/modular_computer_app_presets/command/teleporter/ninja
name = "ninja_teleporter"
display_name = "Offsite - Teleporter"
description = "Contains the most common command programs and has a special teleporter control program loaded."
available = FALSE
/datum/modular_computer_app_presets/command/teleporter/ninja/return_install_programs(obj/item/modular_computer/comp)
var/list/_prg_list = list(
new /datum/computer_file/program/ntnetdownload(comp),
new /datum/computer_file/program/filemanager(comp),
new /datum/computer_file/program/newsbrowser(comp),
new /datum/computer_file/program/manifest(comp),
new /datum/computer_file/program/chat_client(comp),
new /datum/computer_file/program/civilian/cargoorder(comp),
new /datum/computer_file/program/comm(comp, FALSE),
new /datum/computer_file/program/records/employment(comp),
new /datum/computer_file/program/teleporter/ninja(comp)
)
return _prg_list
/datum/modular_computer_app_presets/command/hop
name = "command_hop"
display_name = "Command - HoP"

View File

@@ -162,3 +162,8 @@
linked_pad.visible_message(SPAN_NOTICE("Locked in."), range = 2)
SSvueui.check_uis_for_change(src)
/datum/computer_file/program/teleporter/ninja
required_access_run = list()
requires_ntnet = FALSE
requires_access_to_run = FALSE

View File

@@ -17,8 +17,6 @@
fire_dam_coeff = 0.6
brute_dam_coeff = 0.5
var/list/validfirelocations = list(1, 7, 9) // above the station, at the centcomm z-level and at derelicts.
var/status = READY
var/mob/humanload
@@ -180,32 +178,30 @@
var/area/A = null
var/target = href_list["fire"]
switch(target)
if("arrivals")
var/arrivals_destination_list = list(
/area/hallway/secondary/entry/fore = 35,
/area/hallway/secondary/entry/port = 35,
/area/security/vacantoffice = 15,
/area/hallway/secondary/entry/departure_lounge = 15
if("recreational_areas")
var/list/recreational_areas_list = list(
/area/horizon/crew_quarters/fitness/hallway = 25,
/area/horizon/crew_quarters/fitness/changing = 25,
/area/horizon/crew_quarters/fitness/pool = 25,
/area/horizon/crew_quarters/fitness/gym = 25
)
A = pickweight(arrivals_destination_list)
if("cargo")
var/cargo_destination_list = list(
/area/quartermaster/loading = 50,
/area/quartermaster/qm = 20,
/area/maintenance/store = 10,
/area/store = 5,
/area/hallway/secondary/entry/aft = 10,
/area/sconference_room = 5
A = pickweight(recreational_areas_list)
if("operations")
var/list/ops_list = list(
/area/operations/break_room = 15,
/area/maintenance/wing/starboard = 20,
/area/maintenance/wing/starboard/deck1 = 20,
/area/operations/office = 10,
/area/operations/storage = 15,
/area/outpost/mining_main/refinery = 20
)
A = pickweight(cargo_destination_list)
if("commandescape")
var/commandescape_destination_list = list(
/area/bridge/levela = 35,
/area/bridge/levela/research_dock = 35,
/area/security/bridge_surface_checkpoint = 15,
/area/maintenance/bridge_elevator/surface = 15
A = pickweight(ops_list)
if("starboard_wing")
var/list/starboard_wing_list = list(
/area/maintenance/wing/starboard = 50,
/area/maintenance/wing/starboard/far = 50
)
A = pickweight(commandescape_destination_list)
A = pickweight(starboard_wing_list)
if(A)
var/mob/user = usr
if(!(user in src))
@@ -238,16 +234,23 @@
else
obstacle_found = FALSE
if(!length(turf_selection)) //If the list of turfs is empty then the pick below would runtime and break the pod.
pod_error()
return
var/target_turf = pick(turf_selection)
if(!target_turf)
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
visible_message(SPAN_WARNING("\The [src]'s screen displays an error: Targeting module malfunction. Attempt relaunch."))
status = READY
if(connected_blastdoor)
blastdoor_interact(TRUE)
pod_error()
return
fire(target_turf)
/obj/vehicle/droppod/proc/pod_error()
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
visible_message(SPAN_WARNING("\The [src]'s screen displays an error: Targeting module malfunction. Attempt relaunch."))
status = READY
if(connected_blastdoor)
blastdoor_interact(TRUE)
/obj/vehicle/droppod/proc/fire(var/turf/A)
if(!isturf(A))
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
@@ -257,14 +260,6 @@
blastdoor_interact(TRUE)
return
if(!(src.z in validfirelocations))
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
visible_message(SPAN_WARNING("\The [src]'s screen displays an error: Pod cannot be launched from this position."))
status = READY
if(connected_blastdoor)
blastdoor_interact(TRUE)
return
var/turf/aboveturf = GetAbove(A)
if(aboveturf)
applyfalldamage(aboveturf)