mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-23 16:42:13 +00:00
Fixes drop pods, fixes the Ninja TP consoles, fixes shuttles being unable to dock with the Horizon. (#14138)
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user