From e8efbe61134c70c4f8103d5a33bbd057c3707bea Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Sun, 1 Dec 2024 14:07:47 -0500 Subject: [PATCH 01/17] Actual code + Horizon implementation --- code/modules/overmap/ships/computers/ship.dm | 12 +- code/modules/shuttles/shuttle_console.dm | 4 + html/changelogs/Ben10083 - Ship Access.yml | 61 ++++++++++ maps/sccv_horizon/sccv_horizon.dmm | 112 +++++++++++++------ 4 files changed, 152 insertions(+), 37 deletions(-) create mode 100644 html/changelogs/Ben10083 - Ship Access.yml diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index f25dbbb16e3..08d36b607ca 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -18,7 +18,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov /obj/machinery/computer/ship/attack_hand(mob/user) if(use_check_and_message(user)) return - + if(!allowed(user)) + to_chat(user, SPAN_WARNING("Access denied.")) + return FALSE user.set_machine(src) ui_interact(user) @@ -28,6 +30,14 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov src.add_hiddenprint(user) ui_interact(user) +/obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user) + if(!hacked) + req_access = list() + req_one_access = list() + hacked = TRUE + to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") + return TRUE + /obj/machinery/computer/ship/Topic(href, href_list) if(..()) return TOPIC_HANDLED diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index ff87dbe7f02..40a0c592867 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -44,6 +44,9 @@ return ..() /obj/machinery/computer/shuttle_control/attack_hand(mob/user) + if(!allowed(user)) + to_chat(user, SPAN_WARNING("Access denied.")) + return FALSE ui_interact(user) /obj/machinery/computer/shuttle_control/attack_ai(mob/user) @@ -162,6 +165,7 @@ /obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user) if(!hacked) req_access = list() + req_one_access = list() hacked = TRUE to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") return TRUE diff --git a/html/changelogs/Ben10083 - Ship Access.yml b/html/changelogs/Ben10083 - Ship Access.yml new file mode 100644 index 00000000000..591a6561ee6 --- /dev/null +++ b/html/changelogs/Ben10083 - Ship Access.yml @@ -0,0 +1,61 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: Ben10083 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - code_imp: "Adds ID check functionality to ship/shuttle consoles." + - rscadd: "ID Checks added to SCCV Horizon ship/shuttle consoles. Bridge Crew given access to all shuttles." + - balance: "Emagging a ship console will allow it to be usable by anyone." + - rscadd: "Many offships and their shuttles given access checks." diff --git a/maps/sccv_horizon/sccv_horizon.dmm b/maps/sccv_horizon/sccv_horizon.dmm index 13b6c89409e..51b9bce2736 100644 --- a/maps/sccv_horizon/sccv_horizon.dmm +++ b/maps/sccv_horizon/sccv_horizon.dmm @@ -1497,7 +1497,8 @@ "akf" = ( /obj/effect/floor_decal/spline/fancy, /obj/machinery/computer/ship/engines{ - dir = 1 + dir = 1; + req_access = list(19) }, /turf/simulated/floor/carpet/rubber, /area/bridge/controlroom) @@ -3551,7 +3552,8 @@ /area/tcommsat/chamber) "ayB" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_one_access = list(65,74) }, /turf/simulated/floor/tiled/dark, /area/shuttle/quark/cockpit) @@ -16694,7 +16696,7 @@ dir = 4 }, /obj/machinery/alarm/north{ - req_one_access = list(24,11,47,65) + req_one_access = list(24,11,47,65,73) }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/intrepid/atmos_compartment) @@ -17563,10 +17565,13 @@ /obj/machinery/light/spot, /obj/structure/bed/stool/chair/cockpit, /obj/machinery/computer/ship/engines/cockpit{ - pixel_x = 26 + pixel_x = 26; + req_one_access = list(73,74) }, /obj/machinery/computer/shuttle_control/explore/canary/left{ - pixel_x = -25 + pixel_x = -25; + req_one_access = list(73,74); + req_access = null }, /turf/simulated/floor/carpet/rubber, /area/shuttle/canary) @@ -24054,7 +24059,9 @@ /obj/structure/cable/green{ icon_state = "0-2" }, -/obj/machinery/power/apc/quark/west, +/obj/machinery/power/apc/quark/west{ + req_one_access = list(65,47,74,74) + }, /turf/simulated/floor/plating, /area/shuttle/quark/cargo_hold) "dtT" = ( @@ -31033,7 +31040,7 @@ dir = 4 }, /obj/machinery/alarm/north{ - req_one_access = list(24,11,47,65) + req_one_access = list(24,11,47,65,73) }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/intrepid/cargo_bay) @@ -34253,15 +34260,19 @@ /area/shuttle/intrepid/quarters) "eTv" = ( /obj/machinery/computer/ship/sensors/cockpit{ - pixel_x = -27 + pixel_x = -27; + req_one_access = list(48,74) }, /obj/structure/bed/stool/chair/shuttle, /obj/machinery/computer/ship/helm/cockpit{ - pixel_y = -24 + pixel_y = -24; + req_one_access = list(48,74) }, /obj/machinery/computer/shuttle_control/explore/mining_shuttle{ dir = 8; - pixel_x = 27 + pixel_x = 27; + req_access = null; + req_one_access = list(48,74) }, /obj/effect/floor_decal/industrial/outline/grey, /obj/item/device/radio/intercom/expedition/west{ @@ -36677,7 +36688,8 @@ /area/maintenance/wing/starboard/deck1) "fjW" = ( /obj/machinery/computer/ship/engines/cockpit{ - pixel_x = 27 + pixel_x = 27; + req_one_access = list(48,73) }, /obj/structure/cable/green{ icon_state = "1-2" @@ -36895,7 +36907,7 @@ pixel_y = 6 }, /obj/machinery/alarm/north{ - req_one_access = list(24,11,47,65) + req_one_access = list(24,11,47,65,73) }, /turf/simulated/floor/tiled/dark, /area/shuttle/intrepid/cockpit) @@ -62938,7 +62950,7 @@ name = "\improper Spark docking port controller"; pixel_x = 6; pixel_y = -19; - req_one_access = list(31,48,67); + req_one_access = list(31,48,67,74); tag_door = "mining_shuttle_dock_doors" }, /turf/simulated/floor/tiled, @@ -63072,7 +63084,7 @@ /obj/structure/closet/emcloset, /obj/effect/floor_decal/industrial/outline/operations, /obj/machinery/alarm/north{ - req_one_access = list(24,11,47,65) + req_one_access = list(24,11,47,65,73) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/intrepid/crew_compartment) @@ -63844,7 +63856,9 @@ pixel_x = 9; pixel_y = -4 }, -/obj/machinery/door/window/northright, +/obj/machinery/door/window/northright{ + req_one_access = list(73,74) + }, /obj/item/clothing/head/helmet/pilot/scc{ pixel_x = -9; pixel_y = 2 @@ -67357,7 +67371,8 @@ "jHw" = ( /obj/effect/floor_decal/spline/fancy, /obj/machinery/computer/ship/sensors{ - dir = 1 + dir = 1; + req_access = list(19) }, /turf/simulated/floor/carpet/rubber, /area/bridge/controlroom) @@ -78144,7 +78159,8 @@ dir = 10 }, /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(19) }, /turf/simulated/floor/tiled/dark, /area/bridge/controlroom) @@ -84440,7 +84456,9 @@ /obj/structure/bed/handrail{ dir = 8 }, -/obj/machinery/power/apc/canary/east, +/obj/machinery/power/apc/canary/east{ + req_one_access = list(73,74,11) + }, /obj/machinery/atmospherics/binary/pump/fuel{ dir = 1; name = "Fuel Tank to Thrusters" @@ -89178,7 +89196,9 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, -/obj/machinery/alarm/east, +/obj/machinery/alarm/east{ + req_one_access = list(24,11,65,74) + }, /obj/structure/closet/crate/plastic, /obj/item/storage/bag/inflatable, /obj/item/storage/box/flares, @@ -89659,7 +89679,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, -/obj/machinery/power/apc/mining_shuttle/east, +/obj/machinery/power/apc/mining_shuttle/east{ + req_one_access = list(48,11,74) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/mining) "mXc" = ( @@ -93928,7 +93950,7 @@ /area/hallway/engineering) "nDc" = ( /obj/machinery/alarm/north{ - req_one_access = list(24,11,47,65) + req_one_access = list(24,11,47,65,73) }, /obj/structure/bed/stool/chair/shuttle, /obj/effect/floor_decal/spline/plain{ @@ -96891,7 +96913,8 @@ "oaA" = ( /obj/effect/floor_decal/spline/fancy, /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_access = list(19) }, /turf/simulated/floor/carpet/rubber, /area/bridge/controlroom) @@ -98066,7 +98089,8 @@ }, /obj/machinery/computer/ship/sensors/cockpit{ pixel_x = -22; - pixel_y = 7 + pixel_y = 7; + req_access = list(73) }, /obj/effect/floor_decal/corner/dark_blue{ dir = 6 @@ -103437,7 +103461,9 @@ /area/security/checkpoint2) "oZT" = ( /obj/machinery/computer/shuttle_control/explore/terminal/quark{ - dir = 1 + dir = 1; + req_access = null; + req_one_access = list(65,74) }, /turf/simulated/floor/tiled/dark, /area/shuttle/quark/cockpit) @@ -104870,7 +104896,8 @@ "pjM" = ( /obj/item/device/radio/intercom/expedition/north, /obj/machinery/computer/ship/engines/terminal{ - dir = 4 + dir = 4; + req_one_access = list(65,74) }, /turf/simulated/floor/tiled/dark, /area/shuttle/quark/cockpit) @@ -109755,7 +109782,9 @@ /obj/structure/window/shuttle/unique/scc/research/over{ density = 0 }, -/obj/machinery/computer/ship/helm/cockpit, +/obj/machinery/computer/ship/helm/cockpit{ + req_access = list(73) + }, /obj/effect/floor_decal/corner/dark_blue{ dir = 5 }, @@ -126278,7 +126307,7 @@ name = "Mining Shuttle Exterior"; pixel_x = 21; pixel_y = -22; - req_access = list(48) + req_one_access = list(48,74) }, /turf/simulated/floor/tiled, /area/hangar/operations) @@ -126626,7 +126655,8 @@ /area/horizon/crew_quarters/lounge/bar) "ssh" = ( /obj/machinery/computer/ship/sensors/terminal{ - dir = 1 + dir = 1; + req_one_access = list(65,74) }, /turf/simulated/floor/tiled/dark, /area/shuttle/quark/cockpit) @@ -128043,7 +128073,9 @@ /obj/structure/bed/handrail{ dir = 8 }, -/obj/machinery/alarm/west, +/obj/machinery/alarm/west{ + req_one_access = list(24,11,47,65,73) + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/engine_compartment) "sDj" = ( @@ -130545,7 +130577,8 @@ /obj/item/storage/bag/inflatable, /obj/machinery/alarm/east{ dir = 2; - pixel_x = 0 + pixel_x = 0; + req_one_access = list(24,11,73,74) }, /obj/item/device/gps/stationary/sccv_canary{ pixel_x = 23; @@ -133822,7 +133855,9 @@ dir = 1 }, /obj/machinery/recharge_station, -/obj/machinery/alarm/west, +/obj/machinery/alarm/west{ + req_one_access = list(24,11,47,65,73) + }, /turf/simulated/floor/plating, /area/shuttle/intrepid/engine_compartment) "tvU" = ( @@ -135254,7 +135289,9 @@ req_access = null; pixel_y = 32 }, -/obj/machinery/alarm/east, +/obj/machinery/alarm/east{ + req_one_access = list(24,11,65,74) + }, /obj/item/paper_bin{ pixel_y = 3; pixel_x = 4 @@ -138210,7 +138247,7 @@ }, /obj/machinery/alarm/west{ pixel_y = 14; - req_one_access = list(24,11,48) + req_one_access = list(24,11,48,74) }, /obj/item/storage/firstaid/regular, /obj/item/material/hatchet/machete/steel, @@ -148332,7 +148369,8 @@ }, /obj/machinery/computer/ship/engines/cockpit{ pixel_x = 24; - pixel_y = 7 + pixel_y = 7; + req_access = list(73) }, /obj/effect/floor_decal/corner/dark_blue{ dir = 9 @@ -157513,11 +157551,13 @@ /area/template_noop) "wPX" = ( /obj/machinery/computer/ship/targeting/cockpit{ - pixel_x = -25 + pixel_x = -25; + req_one_access = list(73,74) }, /obj/structure/bed/stool/chair/cockpit, /obj/machinery/computer/ship/sensors/cockpit/right{ - pixel_x = 25 + pixel_x = 25; + req_one_access = list(73,74) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/canary) From 654b13ebc2204e3a68f0dcd61a4ff0f8903c39c9 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Sun, 1 Dec 2024 14:58:09 -0500 Subject: [PATCH 02/17] Offship implementation --- .../peoples_station/peoples_station.dmm | 15 ++++++--- .../uueoaesa/reclamation/ihss_reclamation.dmm | 11 +++++-- .../biesel/tcaf_corvette/tcaf_corvette.dmm | 23 +++++++++---- maps/away/ships/coc/coc_ranger/coc_ship.dmm | 20 +++++++---- .../coc/gadpathur_patrol/gadpathur_patrol.dmm | 21 ++++++++---- .../dominian_corvette/dominian_corvette.dmm | 12 +++++-- .../dominian_science_vessel.dmm | 14 +++++--- .../dominian_unathi_privateer.dmm | 17 +++++++--- .../ships/dpra/hailstorm/hailstorm_ship.dmm | 15 ++++++--- .../elyra/elyra_corvette/elyra_corvette.dmm | 16 ++++++--- maps/away/ships/golden_deep/golden_deep.dm | 2 +- maps/away/ships/golden_deep/golden_deep.dmm | 15 ++++++--- .../fishing_league_trawler.dmm | 8 +++-- .../hegemony_corvette/hegemony_corvette.dmm | 16 ++++++--- .../merchants_guild/merchant_freighter.dmm | 11 ++++--- maps/away/ships/heph/cyclops/cyclops.dmm | 10 ++++-- .../heph/heph_security/heph_security.dmm | 23 +++++++++---- maps/away/ships/iac/iac_rescue_ship.dmm | 4 ++- maps/away/ships/idris/idris_cruiser.dmm | 10 ++++-- .../ships/kataphracts/kataphract_ship.dmm | 10 ++++-- .../einstein_shuttle/einstein_shuttle.dmm | 4 ++- .../ships/konyang/kasf_ship/kasf_ship.dmm | 19 +++++++---- maps/away/ships/lone_spacer/lone_spacer.dmm | 9 +++-- .../ships/nka/nka_merchant/nka_merchant.dmm | 15 ++++++--- maps/away/ships/orion/orion_express_ship.dmm | 8 +++-- .../database_freighter/database_freighter.dmm | 9 +++-- .../ships/pra/headmaster/headmaster_ship.dmm | 20 +++++++---- .../ships/sol/sol_merc/fsf_patrol_ship.dmm | 7 ++-- .../ships/sol/sol_pirate/sfa_patrol_ship.dmm | 7 ++-- maps/away/ships/sol/sol_ssmd/ssmd_ship.dmm | 9 +++-- .../tirakqi_smuggler/tirakqi_smuggler.dmm | 6 ++-- .../ships/tramp_freighter/tramp_freighter.dmm | 15 ++++++--- .../hiskyn/unathi_pirate_hiskyn.dmm | 18 ++++++---- .../izharshan/unathi_pirate_izharshan.dmm | 14 +++++--- .../tarwa/unathi_pirate_tarwa.dmm | 18 ++++++---- maps/away/ships/xanu/xanu_frigate.dmm | 33 ++++++++++++------- maps/sccv_horizon/sccv_horizon.dmm | 30 ++++++----------- 37 files changed, 345 insertions(+), 169 deletions(-) diff --git a/maps/away/away_site/tajara/peoples_station/peoples_station.dmm b/maps/away/away_site/tajara/peoples_station/peoples_station.dmm index 4ef1d9cfd42..a30b45ce296 100644 --- a/maps/away/away_site/tajara/peoples_station/peoples_station.dmm +++ b/maps/away/away_site/tajara/peoples_station/peoples_station.dmm @@ -966,7 +966,8 @@ /area/peoples_station/hangar) "dG" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(209) }, /turf/simulated/floor/plating{ temperature = 278.15 @@ -4375,7 +4376,8 @@ dir = 10 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(209) }, /turf/simulated/floor/tiled/dark{ temperature = 278.15 @@ -7428,7 +7430,8 @@ /area/peoples_station) "BN" = ( /obj/machinery/computer/shuttle_control/explore/terminal/peoples_station_fang{ - dir = 8 + dir = 8; + req_access = list(209) }, /obj/machinery/light/small{ dir = 4 @@ -8665,7 +8668,8 @@ /area/peoples_station/hangar) "Go" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(209) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/peoples_station_transport) @@ -12915,7 +12919,8 @@ /area/peoples_station/fang) "Xy" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(209) }, /obj/machinery/light/small{ dir = 8 diff --git a/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation.dmm b/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation.dmm index 62a39a89d7b..7db82f8e573 100644 --- a/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation.dmm +++ b/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation.dmm @@ -1753,7 +1753,9 @@ dir = 4; color = "#941307" }, -/obj/machinery/computer/shuttle_control/explore/ihss_reclamation, +/obj/machinery/computer/shuttle_control/explore/ihss_reclamation{ + req_one_access = list(113) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/ihss_reclamation) "iW" = ( @@ -4632,7 +4634,9 @@ /turf/simulated/floor/plating, /area/ihss_reclamation/dock) "wx" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_one_access = list(113) + }, /obj/effect/floor_decal/corner/red/diagonal{ dir = 4; color = "#941307" @@ -8750,7 +8754,8 @@ color = "#941307" }, /obj/machinery/computer/ship/targeting{ - dir = 4 + dir = 4; + req_one_access = list(113) }, /turf/simulated/floor/tiled/dark, /area/shuttle/ihss_reclamation) diff --git a/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette.dmm b/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette.dmm index fe21a95fb78..2012b80d31d 100644 --- a/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette.dmm +++ b/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette.dmm @@ -1705,7 +1705,9 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/computer/ship/engines/terminal, +/obj/machinery/computer/ship/engines/terminal{ + req_access = list(204) + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, @@ -3628,7 +3630,8 @@ dir = 10 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(204) }, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/dark, @@ -7221,7 +7224,8 @@ /area/tcaf_corvette/engine) "BW" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(204) }, /obj/effect/floor_decal/industrial/outline/security, /turf/simulated/floor/carpet/rubber, @@ -7851,7 +7855,9 @@ /obj/structure/platform_deco{ dir = 4 }, -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_access = list(204) + }, /obj/effect/floor_decal/industrial/outline/security, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/gunmetal, @@ -8494,7 +8500,8 @@ /area/tcaf_corvette/captain) "HA" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(204) }, /obj/effect/floor_decal/industrial/outline/security, /turf/simulated/floor/carpet/rubber, @@ -10941,7 +10948,8 @@ /area/tcaf_corvette/messhall) "Rt" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(204) }, /obj/effect/floor_decal/industrial/outline/security, /obj/effect/decal/cleanable/dirt, @@ -11238,7 +11246,8 @@ dir = 10 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(204) }, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/dark, diff --git a/maps/away/ships/coc/coc_ranger/coc_ship.dmm b/maps/away/ships/coc/coc_ranger/coc_ship.dmm index c13aee523ae..6463ffe26d7 100644 --- a/maps/away/ships/coc/coc_ranger/coc_ship.dmm +++ b/maps/away/ships/coc/coc_ranger/coc_ship.dmm @@ -277,7 +277,8 @@ }, /obj/structure/railing/mapped, /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_one_access = list(221,222) }, /turf/simulated/floor/tiled/dark/full, /area/ship/ranger_corvette/bridge) @@ -2815,7 +2816,9 @@ /turf/simulated/floor/tiled/dark/full, /area/ship/ranger_corvette/bridge) "lvN" = ( -/obj/machinery/computer/shuttle_control/explore/ranger_shuttle, +/obj/machinery/computer/shuttle_control/explore/ranger_shuttle{ + req_one_access = list(221,222) + }, /turf/simulated/floor/tiled/full, /area/shuttle/ranger_shuttle) "lxT" = ( @@ -2923,7 +2926,8 @@ dir = 4 }, /obj/machinery/computer/ship/helm{ - dir = 4 + dir = 4; + req_access = list(221,222) }, /obj/effect/floor_decal/corner_wide/blue/diagonal, /turf/simulated/floor/tiled/dark, @@ -4064,7 +4068,8 @@ /area/ship/ranger_corvette/bridge) "qhi" = ( /obj/machinery/computer/ship/targeting{ - dir = 8 + dir = 8; + req_access = list(221,222) }, /obj/effect/floor_decal/corner_wide/blue/diagonal, /turf/simulated/floor/tiled/dark, @@ -5151,7 +5156,9 @@ /turf/simulated/floor/tiled/dark, /area/ship/ranger_corvette/crew) "twl" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_one_access = list(221,222) + }, /turf/simulated/floor/tiled/full, /area/shuttle/ranger_shuttle) "tAd" = ( @@ -6058,7 +6065,8 @@ "wmN" = ( /obj/structure/lattice/catwalk/indoor/grate/dark, /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_one_access = list(221,222) }, /turf/simulated/floor/tiled/dark/full, /area/ship/ranger_corvette/bridge) diff --git a/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol.dmm b/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol.dmm index aa9a4b06365..c5a4e75b6b0 100644 --- a/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol.dmm +++ b/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol.dmm @@ -99,7 +99,9 @@ /turf/simulated/wall/shuttle/dark/cardinal/gadpathur, /area/ship/gadpathur_patrol/fuel) "bd" = ( -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_one_access = list(224,223,222) + }, /turf/simulated/floor/tiled/dark, /area/ship/gadpathur_patrol/cic) "bf" = ( @@ -2017,7 +2019,8 @@ /area/ship/gadpathur_patrol/atmos) "qb" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(224,223,222) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/gadpathur_shuttle) @@ -3480,7 +3483,9 @@ /turf/simulated/floor/carpet/rubber, /area/shuttle/gadpathur_shuttle) "BN" = ( -/obj/machinery/door/window/southright, +/obj/machinery/door/window/southright{ + req_one_access = list(224,223,222) + }, /obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 5 }, @@ -4086,7 +4091,9 @@ /turf/simulated/floor, /area/ship/gadpathur_patrol/hangar) "FG" = ( -/obj/machinery/computer/ship/targeting/terminal, +/obj/machinery/computer/ship/targeting/terminal{ + req_one_access = list(224,223,222) + }, /obj/structure/railing/mapped{ dir = 8 }, @@ -5633,7 +5640,8 @@ "Su" = ( /obj/structure/bed/stool/chair/cockpit, /obj/machinery/computer/shuttle_control/explore/gadpathur_shuttle{ - pixel_x = 31 + pixel_x = 31; + req_one_access = list(224,223,222) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/gadpathur_shuttle) @@ -5882,7 +5890,8 @@ /area/ship/gadpathur_patrol/galley) "TY" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_one_access = list(224,223,222) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/gadpathur_shuttle) diff --git a/maps/away/ships/dominia/dominian_corvette/dominian_corvette.dmm b/maps/away/ships/dominia/dominian_corvette/dominian_corvette.dmm index f438a8f9b06..100ea382d33 100644 --- a/maps/away/ships/dominia/dominian_corvette/dominian_corvette.dmm +++ b/maps/away/ships/dominia/dominian_corvette/dominian_corvette.dmm @@ -1589,7 +1589,9 @@ /turf/simulated/floor/plating, /area/shuttle/dominian_shuttle) "fnj" = ( -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(212) + }, /turf/simulated/floor/tiled/dark, /area/ship/dominian_corvette/cic) "fnY" = ( @@ -3061,7 +3063,9 @@ /turf/simulated/floor/marble/dark, /area/ship/dominian_corvette/temple) "kAa" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(212) + }, /obj/structure/sign/flag/dominia{ pixel_y = 32 }, @@ -5742,7 +5746,9 @@ /turf/simulated/floor/tiled/dark, /area/ship/dominian_corvette/engineering) "uCS" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(212) + }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/dominian_shuttle) "uFI" = ( diff --git a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm index 5743c67def2..82446d3fcbe 100644 --- a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm +++ b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm @@ -991,7 +991,8 @@ /area/ship/dominian_science_vessel/hangar) "dfe" = ( /obj/machinery/computer/ship/targeting{ - dir = 4 + dir = 4; + req_access = list(226) }, /turf/simulated/floor/tiled/dark, /area/ship/dominian_science_vessel/bridge) @@ -3987,7 +3988,8 @@ "nke" = ( /obj/machinery/computer/ship/helm{ dir = 8; - accellimit = 0.005 + accellimit = 0.005; + req_access = list(226) }, /turf/simulated/floor/tiled/dark, /area/shuttle/dominian_science_shuttle) @@ -5393,7 +5395,9 @@ /turf/simulated/floor/plating, /area/ship/dominian_science_vessel/port_hall) "sBA" = ( -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(226) + }, /turf/simulated/floor/carpet/rubber, /area/ship/dominian_science_vessel/bridge) "sBG" = ( @@ -5733,7 +5737,9 @@ /turf/simulated/floor/tiled/dark, /area/ship/dominian_science_vessel/engineering) "tCH" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(226) + }, /turf/simulated/floor/carpet/rubber, /area/ship/dominian_science_vessel/bridge) "tEo" = ( diff --git a/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dmm b/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dmm index 24de58b0bab..ba8ead9203f 100644 --- a/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dmm +++ b/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer.dmm @@ -4957,7 +4957,9 @@ /obj/effect/floor_decal/corner/orange{ dir = 10 }, -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(212) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/dominian_unathi) "HA" = ( @@ -5935,7 +5937,8 @@ dir = 4 }, /obj/machinery/computer/ship/targeting{ - dir = 8 + dir = 8; + req_access = list(212) }, /turf/simulated/floor/tiled/dark, /area/ship/dominian_unathi/gun) @@ -6228,7 +6231,9 @@ }, /area/ship/dominian_unathi/hangar) "RC" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(212) + }, /obj/structure/railing/mapped, /obj/machinery/button/distress{ dir = 4; @@ -6542,7 +6547,8 @@ /area/ship/dominian_unathi/bridge) "Tj" = ( /obj/machinery/computer/ship/targeting{ - dir = 8 + dir = 8; + req_access = list(212) }, /obj/structure/railing/mapped{ dir = 4; @@ -7456,7 +7462,8 @@ dir = 10 }, /obj/machinery/computer/ship/targeting{ - dir = 4 + dir = 4; + req_access = list(212) }, /turf/simulated/floor/tiled/dark, /area/shuttle/dominian_unathi) diff --git a/maps/away/ships/dpra/hailstorm/hailstorm_ship.dmm b/maps/away/ships/dpra/hailstorm/hailstorm_ship.dmm index 4c99c271a1b..6e69988e9b4 100644 --- a/maps/away/ships/dpra/hailstorm/hailstorm_ship.dmm +++ b/maps/away/ships/dpra/hailstorm/hailstorm_ship.dmm @@ -206,7 +206,8 @@ status = 2 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(214) }, /turf/simulated/floor/tiled{ temperature = 278.15 @@ -309,7 +310,8 @@ dir = 10 }, /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(214) }, /turf/simulated/floor/tiled{ temperature = 278.15 @@ -1278,7 +1280,8 @@ req_access = list(214) }, /obj/machinery/computer/shuttle_control/explore/terminal/hailstorm_shuttle{ - dir = 4 + dir = 4; + req_access = list(214) }, /turf/simulated/floor/tiled{ temperature = 278.15 @@ -1286,7 +1289,8 @@ /area/shuttle/hailstorm_shuttle) "gU" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(214) }, /turf/simulated/floor/tiled{ temperature = 278.15 @@ -3155,7 +3159,8 @@ dir = 6 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(214) }, /turf/simulated/floor/tiled{ temperature = 278.15 diff --git a/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm b/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm index 9209d277d02..a785e0afb78 100644 --- a/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm +++ b/maps/away/ships/elyra/elyra_corvette/elyra_corvette.dmm @@ -1199,7 +1199,8 @@ /area/ship/elyran_corvette/prayerhall) "fX" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(207) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/elyran_shuttle) @@ -3003,7 +3004,8 @@ dir = 1 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(207) }, /turf/simulated/floor/carpet/rubber, /area/ship/elyran_corvette/starboardwep) @@ -4583,7 +4585,8 @@ dir = 10 }, /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(207) }, /turf/simulated/floor/tiled/dark, /area/ship/elyran_corvette/cic) @@ -5029,7 +5032,9 @@ /obj/effect/floor_decal/corner/brown{ dir = 5 }, -/obj/machinery/computer/ship/targeting/terminal, +/obj/machinery/computer/ship/targeting/terminal{ + req_access = list(207) + }, /turf/simulated/floor/tiled/dark, /area/ship/elyran_corvette/cic) "Cm" = ( @@ -9247,7 +9252,8 @@ dir = 1 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(207) }, /turf/simulated/floor/carpet/rubber, /area/ship/elyran_corvette/portwep) diff --git a/maps/away/ships/golden_deep/golden_deep.dm b/maps/away/ships/golden_deep/golden_deep.dm index 1fa2b3c4cf7..1bee0a3977e 100644 --- a/maps/away/ships/golden_deep/golden_deep.dm +++ b/maps/away/ships/golden_deep/golden_deep.dm @@ -80,7 +80,7 @@ /obj/machinery/computer/shuttle_control/explore/terminal/golden_deep name = "shuttle control console" shuttle_tag = "Golden Deep Shuttle" - req_access = list(ACCESS_GOLDEN_DEEP, ACCESS_GOLDEN_DEEP_OWNED) + req_one_access = list(ACCESS_GOLDEN_DEEP, ACCESS_GOLDEN_DEEP_OWNED) /datum/shuttle/autodock/overmap/golden_deep name = "Golden Deep Shuttle" diff --git a/maps/away/ships/golden_deep/golden_deep.dmm b/maps/away/ships/golden_deep/golden_deep.dmm index 5789b31119f..c44dbc9eeaa 100644 --- a/maps/away/ships/golden_deep/golden_deep.dmm +++ b/maps/away/ships/golden_deep/golden_deep.dmm @@ -324,7 +324,8 @@ /area/golden_deep/private_lounge) "bA" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 8 + dir = 8; + req_one_access = list(217,229) }, /turf/simulated/floor/marble/dark, /area/shuttle/golden_deep/cockpit) @@ -507,7 +508,8 @@ dir = 5 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_one_access = list(229, 217) }, /turf/simulated/floor/marble/dark, /area/golden_deep/bridge) @@ -806,7 +808,8 @@ /area/golden_deep/aft_central_hallway) "dr" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 8 + dir = 8; + req_one_access = list(229, 217) }, /turf/simulated/floor/marble/dark, /area/golden_deep/bridge) @@ -882,7 +885,8 @@ /area/golden_deep/bridge) "dG" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_one_access = list(229, 217) }, /turf/simulated/floor/marble/dark, /area/golden_deep/bridge) @@ -3592,7 +3596,8 @@ "pm" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/computer/ship/targeting/terminal{ - dir = 8 + dir = 8; + req_one_access = list(229, 217) }, /turf/simulated/floor/tiled/dark/full, /area/golden_deep/starboard_dock) diff --git a/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler.dmm b/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler.dmm index c7ae0ea307f..83d67f776b1 100644 --- a/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler.dmm +++ b/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler.dmm @@ -4405,7 +4405,9 @@ /turf/simulated/floor/tiled/freezer, /area/ship/fishing_trawler/Captain) "GP" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(241) + }, /obj/effect/floor_decal/corner/black{ dir = 10 }, @@ -5996,7 +5998,9 @@ /turf/simulated/floor/tiled/white, /area/ship/fishing_trawler/kitchen) "Un" = ( -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_access = list(241) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/fishing_trawler) "Ur" = ( diff --git a/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dmm b/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dmm index 8a006309044..d392ba64097 100644 --- a/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dmm +++ b/maps/away/ships/hegemony/hegemony_corvette/hegemony_corvette.dmm @@ -925,7 +925,9 @@ /obj/effect/floor_decal/spline/plain{ dir = 10 }, -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(113) + }, /turf/simulated/floor/tiled/dark, /area/hegemony_ship/bridge) "fB" = ( @@ -5285,7 +5287,9 @@ /turf/simulated/wall/shuttle/space_ship/mercenary, /area/shuttle/hegemony) "EY" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(113) + }, /obj/structure/lattice/catwalk/indoor/grate, /turf/simulated/floor/plating, /area/shuttle/hegemony) @@ -5829,7 +5833,9 @@ /obj/structure/railing/mapped{ dir = 8 }, -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(113) + }, /turf/simulated/floor/plating, /area/hegemony_ship/gun_deck_bruiser) "HJ" = ( @@ -6132,7 +6138,9 @@ /area/hegemony_ship) "JG" = ( /obj/effect/floor_decal/spline/plain, -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(113) + }, /turf/simulated/floor/tiled/dark, /area/hegemony_ship/bridge) "JN" = ( diff --git a/maps/away/ships/hegemony/merchants_guild/merchant_freighter.dmm b/maps/away/ships/hegemony/merchants_guild/merchant_freighter.dmm index 0395ea2ecf4..5cb31aa5b91 100644 --- a/maps/away/ships/hegemony/merchants_guild/merchant_freighter.dmm +++ b/maps/away/ships/hegemony/merchants_guild/merchant_freighter.dmm @@ -396,8 +396,8 @@ }, /obj/machinery/door/airlock/glass_service{ name = "Crew Quarters"; - req_access = list(215); - dir = 4 + dir = 4; + req_access = list(215) }, /turf/simulated/floor/tiled, /area/merchants_guild/crew) @@ -861,7 +861,8 @@ /area/merchants_guild/starboardengine) "kM" = ( /obj/machinery/computer/ship/helm{ - dir = 4 + dir = 4; + req_access = list(215) }, /obj/effect/floor_decal/corner_wide/purple/diagonal, /turf/simulated/floor/tiled, @@ -1202,7 +1203,9 @@ "qL" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/railing/mapped, -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(215) + }, /turf/simulated/floor/tiled, /area/merchants_guild/bridge) "qN" = ( diff --git a/maps/away/ships/heph/cyclops/cyclops.dmm b/maps/away/ships/heph/cyclops/cyclops.dmm index 524eec8e571..3b83f3b1bac 100644 --- a/maps/away/ships/heph/cyclops/cyclops.dmm +++ b/maps/away/ships/heph/cyclops/cyclops.dmm @@ -2649,7 +2649,8 @@ dir = 1 }, /obj/machinery/computer/shuttle_control/explore/terminal/cyclops_shuttle{ - dir = 4 + dir = 4; + req_access = list(216) }, /turf/simulated/floor/tiled/dark, /area/shuttle/cyclops_shuttle) @@ -5199,7 +5200,8 @@ dir = 10 }, /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(216) }, /turf/simulated/floor/tiled/dark, /area/hephmining_ship/cyclops/cyclops_bridge) @@ -5311,7 +5313,9 @@ /area/hephmining_ship/cyclops) "ZH" = ( /obj/effect/floor_decal/industrial/outline/yellow, -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_access = list(216) + }, /turf/simulated/floor/tiled/dark/full, /area/shuttle/cyclops_shuttle) "ZI" = ( diff --git a/maps/away/ships/heph/heph_security/heph_security.dmm b/maps/away/ships/heph/heph_security/heph_security.dmm index 96392bb9011..44404162905 100644 --- a/maps/away/ships/heph/heph_security/heph_security.dmm +++ b/maps/away/ships/heph/heph_security/heph_security.dmm @@ -93,7 +93,7 @@ /area/heph_security_ship/thrusterstarb) "aH" = ( /obj/machinery/computer/ship/helm{ - req_access = list(203) + req_access = list(216) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/heph_security) @@ -806,7 +806,8 @@ "fD" = ( /obj/structure/lattice/catwalk/indoor/grate, /obj/machinery/computer/ship/targeting{ - dir = 8 + dir = 8; + req_access = list(216) }, /turf/simulated/floor, /area/heph_security_ship/bridge) @@ -1030,7 +1031,9 @@ /turf/simulated/floor/reinforced, /area/heph_security_ship/engineering) "hw" = ( -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(216) + }, /obj/structure/railing/mapped, /obj/effect/floor_decal/spline/plain/black, /turf/simulated/floor/carpet/rubber, @@ -1691,7 +1694,8 @@ "lN" = ( /obj/effect/floor_decal/corner_wide/black/diagonal, /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_access = list(216) }, /turf/simulated/floor/tiled, /area/heph_security_ship/bridge) @@ -2999,7 +3003,9 @@ /turf/space/dynamic, /area/space) "uJ" = ( -/obj/machinery/computer/shuttle_control/explore/hephsec_shuttle, +/obj/machinery/computer/shuttle_control/explore/hephsec_shuttle{ + req_access = list(216) + }, /turf/simulated/floor/carpet/rubber, /area/shuttle/heph_security) "uM" = ( @@ -4144,7 +4150,9 @@ /turf/simulated/floor, /area/heph_security_ship/thrusterstarb) "FF" = ( -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(216) + }, /obj/structure/railing/mapped, /obj/effect/floor_decal/spline/plain/black, /turf/simulated/floor/carpet/rubber, @@ -6113,7 +6121,8 @@ "Vu" = ( /obj/effect/floor_decal/corner_wide/black/diagonal, /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(216) }, /turf/simulated/floor/tiled, /area/heph_security_ship/bridge) diff --git a/maps/away/ships/iac/iac_rescue_ship.dmm b/maps/away/ships/iac/iac_rescue_ship.dmm index a47a3e8c8dc..9d7d30a9cc4 100644 --- a/maps/away/ships/iac/iac_rescue_ship.dmm +++ b/maps/away/ships/iac/iac_rescue_ship.dmm @@ -2088,7 +2088,9 @@ /turf/simulated/floor/tiled/white, /area/ship/iac_rescue_ship/portdocking) "eji" = ( -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_access = list(211) + }, /obj/effect/floor_decal/industrial/outline/blue, /turf/simulated/floor/tiled/dark/full, /area/shuttle/iac_shuttle) diff --git a/maps/away/ships/idris/idris_cruiser.dmm b/maps/away/ships/idris/idris_cruiser.dmm index b9aec7bb008..dcd7beeff28 100644 --- a/maps/away/ships/idris/idris_cruiser.dmm +++ b/maps/away/ships/idris/idris_cruiser.dmm @@ -4467,7 +4467,8 @@ /area/ship/idris_cruiser/cargo_bay) "qB" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 8 + dir = 8; + req_access = list(220) }, /obj/effect/floor_decal/corner_wide/paleblue{ dir = 6 @@ -11345,7 +11346,8 @@ /area/ship/idris_cruiser/corridor/dockingarm/port) "OI" = ( /obj/machinery/computer/shuttle_control/explore/terminal/idris_cruiser_shuttle{ - dir = 8 + dir = 8; + req_access = list(220) }, /obj/effect/floor_decal/corner_wide/paleblue{ dir = 6 @@ -14079,7 +14081,9 @@ /turf/simulated/floor/wood, /area/ship/idris_cruiser/spa) "YP" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(220) + }, /turf/simulated/floor/tiled/dark/full, /area/ship/idris_cruiser/bridge) "YQ" = ( diff --git a/maps/away/ships/kataphracts/kataphract_ship.dmm b/maps/away/ships/kataphracts/kataphract_ship.dmm index 11ce1ca89e6..c1df15734ad 100644 --- a/maps/away/ships/kataphracts/kataphract_ship.dmm +++ b/maps/away/ships/kataphracts/kataphract_ship.dmm @@ -524,7 +524,9 @@ /turf/simulated/wall/shuttle/space_ship/mercenary, /area/kataphract_chapter/cic) "cb" = ( -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_access = list(113) + }, /turf/simulated/floor/tiled/full, /area/shuttle/kataphract_shuttle/main_compartment) "cc" = ( @@ -1670,7 +1672,8 @@ /area/kataphract_chapter/main_ring) "gj" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(113) }, /obj/effect/floor_decal/corner_wide/dark_blue{ dir = 9 @@ -7225,7 +7228,8 @@ /area/kataphract_chapter/starentry) "XQ" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(113) }, /obj/effect/floor_decal/corner_wide/dark_blue{ dir = 10 diff --git a/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dmm b/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dmm index fb685c72540..303b783c097 100644 --- a/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dmm +++ b/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dmm @@ -1765,7 +1765,9 @@ /turf/simulated/floor/plating, /area/shuttle/einstein_shuttle/porteng) "TM" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(205) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/einstein_shuttle/helm) "Uv" = ( diff --git a/maps/away/ships/konyang/kasf_ship/kasf_ship.dmm b/maps/away/ships/konyang/kasf_ship/kasf_ship.dmm index d134a6bc95b..ec2d9ffcbaf 100644 --- a/maps/away/ships/konyang/kasf_ship/kasf_ship.dmm +++ b/maps/away/ships/konyang/kasf_ship/kasf_ship.dmm @@ -940,7 +940,8 @@ }, /obj/structure/railing/mapped, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(218) }, /turf/simulated/floor/carpet/rubber, /area/ship/kasf_corvette/portwep) @@ -1743,7 +1744,8 @@ pixel_y = -24 }, /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(218) }, /turf/simulated/floor/tiled/dark/full, /area/ship/kasf_corvette/cic) @@ -5144,7 +5146,8 @@ pixel_y = -24 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(218) }, /turf/simulated/floor/tiled/dark/full, /area/ship/kasf_corvette/cic) @@ -5752,7 +5755,9 @@ /obj/effect/floor_decal/spline/plain/black{ dir = 1 }, -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_access = list(218) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/kasf_shuttle) "GD" = ( @@ -8402,7 +8407,8 @@ }, /obj/structure/railing/mapped, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(218) }, /turf/simulated/floor/carpet/rubber, /area/ship/kasf_corvette/starboardwep) @@ -8527,7 +8533,8 @@ req_one_access = list(218) }, /obj/machinery/computer/shuttle_control/explore/terminal/kasf_shuttle{ - dir = 8 + dir = 8; + req_access = list(218) }, /turf/simulated/floor/tiled/dark, /area/shuttle/kasf_shuttle) diff --git a/maps/away/ships/lone_spacer/lone_spacer.dmm b/maps/away/ships/lone_spacer/lone_spacer.dmm index ff8ea67ef6d..631378842f5 100644 --- a/maps/away/ships/lone_spacer/lone_spacer.dmm +++ b/maps/away/ships/lone_spacer/lone_spacer.dmm @@ -1749,7 +1749,8 @@ /area/shuttle/lone_spacer/starboard_nacelle) "zJ" = ( /obj/machinery/computer/shuttle_control/explore/terminal/lone_spacer{ - dir = 4 + dir = 4; + req_access = list(243) }, /obj/item/device/radio/intercom/expedition/hailing/north{ pixel_y = 19 @@ -2147,7 +2148,8 @@ /area/shuttle/lone_spacer/bridge) "Ha" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(243) }, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/tiled/techfloor, @@ -2181,7 +2183,8 @@ /area/space) "HF" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 8 + dir = 8; + req_access = list(243) }, /obj/effect/decal/cleanable/dirt, /obj/structure/noticeboard{ diff --git a/maps/away/ships/nka/nka_merchant/nka_merchant.dmm b/maps/away/ships/nka/nka_merchant/nka_merchant.dmm index bc3941b3f54..04c863fd30c 100644 --- a/maps/away/ships/nka/nka_merchant/nka_merchant.dmm +++ b/maps/away/ships/nka/nka_merchant/nka_merchant.dmm @@ -3779,7 +3779,8 @@ /area/shuttle/nka_merchant_shuttle) "sQ" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(213) }, /obj/machinery/light, /obj/effect/floor_decal/corner/dark_blue/full, @@ -4696,7 +4697,8 @@ /area/nka_merchant/mess) "DL" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 8 + dir = 8; + req_access = list(213) }, /obj/effect/floor_decal/corner/dark_blue/full{ dir = 4 @@ -5371,7 +5373,8 @@ /area/nka_merchant/merchant) "Ki" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(213) }, /turf/simulated/floor/tiled/dark, /area/shuttle/nka_merchant_shuttle) @@ -5668,13 +5671,15 @@ pixel_y = -32 }, /obj/machinery/computer/shuttle_control/explore/terminal/nka_merchant_shuttle{ - dir = 4 + dir = 4; + req_access = list(213) }, /turf/simulated/floor/tiled/dark, /area/shuttle/nka_merchant_shuttle) "OT" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(213) }, /obj/effect/floor_decal/corner/dark_blue/full{ dir = 4 diff --git a/maps/away/ships/orion/orion_express_ship.dmm b/maps/away/ships/orion/orion_express_ship.dmm index c872d2d8951..f2d6aa5055d 100644 --- a/maps/away/ships/orion/orion_express_ship.dmm +++ b/maps/away/ships/orion/orion_express_ship.dmm @@ -2649,7 +2649,9 @@ dir = 1; inserted_light = /obj/item/light/tube/colored/blue }, -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(201) + }, /turf/simulated/floor/tiled/dark, /area/ship/orion/bridge) "iGY" = ( @@ -6418,7 +6420,9 @@ /turf/simulated/floor, /area/ship/orion/docking2) "uRC" = ( -/obj/machinery/computer/ship/helm, +/obj/machinery/computer/ship/helm{ + req_access = list(201) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/orion_shuttle/cockpit) "uVR" = ( diff --git a/maps/away/ships/pra/database_freighter/database_freighter.dmm b/maps/away/ships/pra/database_freighter/database_freighter.dmm index b1ec5dc6e25..1816792d6ca 100644 --- a/maps/away/ships/pra/database_freighter/database_freighter.dmm +++ b/maps/away/ships/pra/database_freighter/database_freighter.dmm @@ -387,7 +387,8 @@ /area/database_freighter/captain_quarters) "bE" = ( /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_access = list(209) }, /obj/effect/floor_decal/corner/red{ dir = 10 @@ -1037,7 +1038,8 @@ pixel_y = -32 }, /obj/machinery/computer/shuttle_control/explore/terminal/database_freighter_shuttle{ - dir = 4 + dir = 4; + req_access = list(209) }, /turf/simulated/floor/tiled/dark, /area/shuttle/database_freighter_shuttle) @@ -2743,7 +2745,8 @@ /area/database_freighter) "mF" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(209) }, /turf/simulated/floor/tiled/dark, /area/shuttle/database_freighter_shuttle) diff --git a/maps/away/ships/pra/headmaster/headmaster_ship.dmm b/maps/away/ships/pra/headmaster/headmaster_ship.dmm index 0b11e18ce51..fb1af0c9390 100644 --- a/maps/away/ships/pra/headmaster/headmaster_ship.dmm +++ b/maps/away/ships/pra/headmaster/headmaster_ship.dmm @@ -579,7 +579,8 @@ dir = 10 }, /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(209) }, /turf/simulated/floor/tiled/dark{ temperature = 278.15 @@ -1559,7 +1560,9 @@ /turf/simulated/floor/reinforced/cooled, /area/headmaster_ship/gun_deck) "ek" = ( -/obj/machinery/computer/ship/helm/terminal, +/obj/machinery/computer/ship/helm/terminal{ + req_access = list(209) + }, /obj/structure/sign/flag/pra{ pixel_y = 32 }, @@ -2387,7 +2390,8 @@ /area/headmaster_ship/bridge) "gV" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(209) }, /obj/effect/floor_decal/corner/red{ dir = 10 @@ -4589,7 +4593,8 @@ /area/headmaster_ship) "qg" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(209) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/headmaster_shuttle) @@ -4664,7 +4669,9 @@ /turf/simulated/floor/reinforced/cooled, /area/headmaster_ship/gun_deck) "qY" = ( -/obj/machinery/computer/ship/targeting/terminal, +/obj/machinery/computer/ship/targeting/terminal{ + req_access = list(209) + }, /obj/machinery/light{ dir = 1 }, @@ -4904,7 +4911,8 @@ dir = 8 }, /obj/machinery/computer/shuttle_control/explore/terminal/headmaster_shuttle{ - dir = 4 + dir = 4; + req_access = list(209) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/headmaster_shuttle) diff --git a/maps/away/ships/sol/sol_merc/fsf_patrol_ship.dmm b/maps/away/ships/sol/sol_merc/fsf_patrol_ship.dmm index eb71570319d..24375106f84 100644 --- a/maps/away/ships/sol/sol_merc/fsf_patrol_ship.dmm +++ b/maps/away/ships/sol/sol_merc/fsf_patrol_ship.dmm @@ -11,7 +11,8 @@ /area/ship/fsf_patrol_ship/engineering) "aab" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(203) }, /obj/structure/railing/mapped, /obj/effect/floor_decal/corner/dark_blue{ @@ -3239,7 +3240,9 @@ /obj/machinery/light/small/emergency{ dir = 4 }, -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(203) + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, /area/ship/fsf_patrol_ship/grauwolf) diff --git a/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dmm b/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dmm index f1c40d9ed61..9b0e859e36a 100644 --- a/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dmm +++ b/maps/away/ships/sol/sol_pirate/sfa_patrol_ship.dmm @@ -697,7 +697,8 @@ /area/ship/sfa_patrol_ship) "bFk" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(203) }, /obj/structure/railing/mapped, /obj/effect/floor_decal/corner/dark_blue{ @@ -5863,7 +5864,9 @@ /obj/machinery/light/small/emergency{ dir = 4 }, -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(203) + }, /turf/simulated/floor/tiled/dark, /area/ship/sfa_patrol_ship/SFA_Armory) "rDx" = ( diff --git a/maps/away/ships/sol/sol_ssmd/ssmd_ship.dmm b/maps/away/ships/sol/sol_ssmd/ssmd_ship.dmm index 6bc4aa90a10..cacdd6344e0 100644 --- a/maps/away/ships/sol/sol_ssmd/ssmd_ship.dmm +++ b/maps/away/ships/sol/sol_ssmd/ssmd_ship.dmm @@ -764,7 +764,8 @@ /area/ship/ssmd_corvette/storage) "bYg" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(203) }, /obj/machinery/light/colored/blue, /turf/simulated/floor/tiled/dark, @@ -2032,7 +2033,8 @@ /area/shuttle/ssmd_shuttle) "foE" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(203) }, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled/dark, @@ -3466,7 +3468,8 @@ /area/ship/ssmd_corvette/hangar) "jAa" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(203) }, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled/dark, diff --git a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dmm b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dmm index 9f7bca4217d..f25ceb50ad1 100644 --- a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dmm +++ b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler.dmm @@ -3179,7 +3179,8 @@ "ud" = ( /obj/machinery/computer/ship/helm{ dir = 1; - accellimit = 0.005 + accellimit = 0.005; + req_access = list(208) }, /turf/simulated/floor/shuttle/skrell/blue, /area/shuttle/tirakqi_smuggler_shuttle) @@ -7857,7 +7858,8 @@ "Wr" = ( /obj/machinery/computer/ship/helm{ dir = 1; - accellimit = 0.005 + accellimit = 0.005; + req_access = list(208) }, /turf/simulated/floor/shuttle/skrell/blue, /area/ship/tirakqi_smuggler/bridge) diff --git a/maps/away/ships/tramp_freighter/tramp_freighter.dmm b/maps/away/ships/tramp_freighter/tramp_freighter.dmm index 1ce60485917..d0f2204a07c 100644 --- a/maps/away/ships/tramp_freighter/tramp_freighter.dmm +++ b/maps/away/ships/tramp_freighter/tramp_freighter.dmm @@ -1076,7 +1076,8 @@ /area/tramp_freighter/starboard_docking) "fl" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(242) }, /obj/effect/floor_decal/industrial/hatch/grey, /obj/effect/decal/cleanable/dirt, @@ -1482,7 +1483,8 @@ /area/tramp_freighter/starboard_docking) "hy" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(242) }, /obj/effect/floor_decal/industrial/hatch/grey, /obj/machinery/light, @@ -3601,7 +3603,8 @@ /area/tramp_freighter/starboardthrust) "sN" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 8 + dir = 8; + req_access = list(242) }, /obj/effect/floor_decal/industrial/hatch/grey, /obj/effect/decal/cleanable/dirt, @@ -3790,7 +3793,8 @@ /area/tramp_freighter/lounge) "tE" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(242) }, /obj/effect/floor_decal/industrial/hatch/grey, /obj/effect/decal/cleanable/dirt, @@ -8222,7 +8226,8 @@ pixel_x = 4 }, /obj/machinery/computer/shuttle_control/explore/terminal/freighter_shuttle{ - dir = 1 + dir = 1; + req_access = list(242) }, /turf/simulated/floor/carpet/rubber, /area/shuttle/freighter_shuttle) diff --git a/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn.dmm b/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn.dmm index b0ba7f749c5..51b42d1ef49 100644 --- a/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn.dmm +++ b/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn.dmm @@ -2615,7 +2615,8 @@ /area/hiskyn_ship/hallc) "dek" = ( /obj/machinery/computer/ship/targeting{ - dir = 8 + dir = 8; + req_access = list(210) }, /turf/simulated/floor/tiled/dark, /area/hiskyn_ship/bridge) @@ -3435,7 +3436,8 @@ /area/hiskyn_ship/engineering) "ihY" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(210) }, /turf/simulated/floor/carpet/rubber, /area/hiskyn_ship/blaster) @@ -3821,7 +3823,8 @@ /area/hiskyn_ship/francisca) "kKx" = ( /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_access = list(210) }, /turf/simulated/floor/tiled/dark, /area/hiskyn_ship/bridge) @@ -4286,7 +4289,8 @@ /area/hiskyn_ship/blaster) "mRR" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(210) }, /turf/simulated/floor/tiled/dark, /area/hiskyn_ship/francisca) @@ -4811,7 +4815,8 @@ /area/hiskyn_ship/hallf) "qlH" = ( /obj/machinery/computer/ship/targeting{ - dir = 1 + dir = 1; + req_access = list(210) }, /turf/simulated/floor/tiled/dark, /area/hiskyn_ship/bridge) @@ -6098,7 +6103,8 @@ /area/hiskyn_ship/crew) "ylh" = ( /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_access = list(210) }, /turf/simulated/floor/tiled/dark, /area/shuttle/hiskyn_revanchists) diff --git a/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dmm b/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dmm index 2005d682d06..f6a91deeda5 100644 --- a/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dmm +++ b/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan.dmm @@ -40,7 +40,9 @@ /turf/simulated/floor/carpet/rubber, /area/shuttle/unathi_pirate_izharshan/dorms) "av" = ( -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(210) + }, /obj/effect/floor_decal/corner_wide/dark_green/full, /turf/simulated/floor/tiled/dark, /area/shuttle/unathi_pirate_izharshan/helm) @@ -214,7 +216,8 @@ /area/shuttle/unathi_pirate_izharshan/helm) "eD" = ( /obj/machinery/computer/shuttle_control/explore/unathi_pirate_izharshan{ - dir = 1 + dir = 1; + req_access = list(210) }, /obj/effect/floor_decal/corner_wide/dark_green{ dir = 10 @@ -535,7 +538,8 @@ /area/shuttle/unathi_pirate_izharshan/dorms) "ns" = ( /obj/machinery/computer/ship/helm{ - dir = 1 + dir = 1; + req_access = list(210) }, /obj/effect/floor_decal/corner_wide/dark_green{ dir = 10 @@ -992,7 +996,9 @@ /obj/effect/floor_decal/corner_wide/dark_green{ dir = 10 }, -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(210) + }, /turf/simulated/floor/tiled/dark, /area/shuttle/unathi_pirate_izharshan/helm) "zZ" = ( diff --git a/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dmm b/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dmm index 7faf29edb55..5c530683f20 100644 --- a/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dmm +++ b/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa.dmm @@ -1141,7 +1141,8 @@ /area/tarwa_ship/oldhangar) "jS" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(210) }, /turf/simulated/floor/diona, /area/tarwa_ship/bridge) @@ -1237,7 +1238,8 @@ "kR" = ( /obj/structure/railing/mapped, /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(210) }, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled, @@ -1386,7 +1388,8 @@ /area/tarwa_ship/bridge) "my" = ( /obj/machinery/computer/shuttle_control/explore/terminal/freighter_shuttle{ - dir = 8 + dir = 8; + req_access = list(210) }, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled, @@ -3342,7 +3345,8 @@ /area/tarwa_ship/oldhangar) "Fq" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 8 + dir = 8; + req_access = list(210) }, /obj/effect/floor_decal/industrial/hatch/grey, /turf/simulated/floor/tiled, @@ -4366,7 +4370,8 @@ /area/tarwa_ship/engineering1) "NT" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(210) }, /turf/simulated/floor/diona, /area/tarwa_ship/gun) @@ -4822,7 +4827,8 @@ "RA" = ( /obj/effect/floor_decal/industrial/hatch/grey, /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(210) }, /turf/simulated/floor/plating, /area/tarwa_ship/oldhangar) diff --git a/maps/away/ships/xanu/xanu_frigate.dmm b/maps/away/ships/xanu/xanu_frigate.dmm index 61e3893a83d..69aa93f9af3 100644 --- a/maps/away/ships/xanu/xanu_frigate.dmm +++ b/maps/away/ships/xanu/xanu_frigate.dmm @@ -635,7 +635,8 @@ /area/shuttle/xanu_boarder/main) "cl" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(222) }, /turf/simulated/floor/tiled/dark/full, /area/ship/xanu_frigate/bridge) @@ -681,7 +682,8 @@ /area/ship/xanu_frigate/crew_quarters) "cB" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 8 + dir = 8; + req_access = list(222) }, /obj/effect/floor_decal/corner_wide/paleblue{ dir = 6 @@ -4265,7 +4267,8 @@ /area/ship/xanu_frigate/corridor/starboard) "oy" = ( /obj/machinery/computer/shuttle_control/explore/terminal/xanu_fighter{ - dir = 8 + dir = 8; + req_access = list(222) }, /obj/effect/floor_decal/corner/orange{ dir = 6 @@ -5011,7 +5014,8 @@ /area/ship/xanu_frigate/corridor/central) "ra" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(222) }, /obj/effect/floor_decal/corner/orange{ dir = 10 @@ -6435,7 +6439,8 @@ /area/ship/xanu_frigate/crew_quarters) "wm" = ( /obj/machinery/computer/shuttle_control/explore/terminal/xanu_boarder{ - dir = 8 + dir = 8; + req_access = list(222) }, /obj/effect/floor_decal/corner_wide/paleblue{ dir = 6 @@ -6983,7 +6988,8 @@ /area/ship/xanu_frigate/weapon/longbow) "yw" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 8 + dir = 8; + req_access = list(222) }, /obj/effect/floor_decal/corner/dark_blue{ dir = 6 @@ -8309,7 +8315,8 @@ /area/ship/xanu_frigate/hangar) "Db" = ( /obj/machinery/computer/ship/helm/terminal{ - dir = 1 + dir = 1; + req_access = list(222) }, /obj/effect/floor_decal/corner/dark_blue/full{ dir = 4 @@ -8319,7 +8326,8 @@ /area/ship/xanu_frigate/cic) "Dc" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(222) }, /obj/machinery/light{ dir = 8 @@ -11537,7 +11545,8 @@ /area/ship/xanu_frigate/bridge) "NE" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 8 + dir = 8; + req_access = list(222) }, /obj/structure/railing/mapped{ dir = 4 @@ -13328,7 +13337,8 @@ /area/ship/xanu_frigate/rec_room) "TA" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 1 + dir = 1; + req_access = list(222) }, /obj/structure/railing/mapped, /turf/simulated/floor/tiled/dark, @@ -13393,7 +13403,8 @@ /area/ship/xanu_frigate/crew_quarters) "TR" = ( /obj/machinery/computer/ship/targeting/terminal{ - dir = 4 + dir = 4; + req_access = list(222) }, /obj/effect/floor_decal/corner/orange{ dir = 9 diff --git a/maps/sccv_horizon/sccv_horizon.dmm b/maps/sccv_horizon/sccv_horizon.dmm index 51b9bce2736..6b0ff6d4830 100644 --- a/maps/sccv_horizon/sccv_horizon.dmm +++ b/maps/sccv_horizon/sccv_horizon.dmm @@ -1497,8 +1497,7 @@ "akf" = ( /obj/effect/floor_decal/spline/fancy, /obj/machinery/computer/ship/engines{ - dir = 1; - req_access = list(19) + dir = 1 }, /turf/simulated/floor/carpet/rubber, /area/bridge/controlroom) @@ -17565,8 +17564,7 @@ /obj/machinery/light/spot, /obj/structure/bed/stool/chair/cockpit, /obj/machinery/computer/ship/engines/cockpit{ - pixel_x = 26; - req_one_access = list(73,74) + pixel_x = 26 }, /obj/machinery/computer/shuttle_control/explore/canary/left{ pixel_x = -25; @@ -34260,8 +34258,7 @@ /area/shuttle/intrepid/quarters) "eTv" = ( /obj/machinery/computer/ship/sensors/cockpit{ - pixel_x = -27; - req_one_access = list(48,74) + pixel_x = -27 }, /obj/structure/bed/stool/chair/shuttle, /obj/machinery/computer/ship/helm/cockpit{ @@ -36688,8 +36685,7 @@ /area/maintenance/wing/starboard/deck1) "fjW" = ( /obj/machinery/computer/ship/engines/cockpit{ - pixel_x = 27; - req_one_access = list(48,73) + pixel_x = 27 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -67371,8 +67367,7 @@ "jHw" = ( /obj/effect/floor_decal/spline/fancy, /obj/machinery/computer/ship/sensors{ - dir = 1; - req_access = list(19) + dir = 1 }, /turf/simulated/floor/carpet/rubber, /area/bridge/controlroom) @@ -98089,8 +98084,7 @@ }, /obj/machinery/computer/ship/sensors/cockpit{ pixel_x = -22; - pixel_y = 7; - req_access = list(73) + pixel_y = 7 }, /obj/effect/floor_decal/corner/dark_blue{ dir = 6 @@ -104896,8 +104890,7 @@ "pjM" = ( /obj/item/device/radio/intercom/expedition/north, /obj/machinery/computer/ship/engines/terminal{ - dir = 4; - req_one_access = list(65,74) + dir = 4 }, /turf/simulated/floor/tiled/dark, /area/shuttle/quark/cockpit) @@ -126655,8 +126648,7 @@ /area/horizon/crew_quarters/lounge/bar) "ssh" = ( /obj/machinery/computer/ship/sensors/terminal{ - dir = 1; - req_one_access = list(65,74) + dir = 1 }, /turf/simulated/floor/tiled/dark, /area/shuttle/quark/cockpit) @@ -148369,8 +148361,7 @@ }, /obj/machinery/computer/ship/engines/cockpit{ pixel_x = 24; - pixel_y = 7; - req_access = list(73) + pixel_y = 7 }, /obj/effect/floor_decal/corner/dark_blue{ dir = 9 @@ -157556,8 +157547,7 @@ }, /obj/structure/bed/stool/chair/cockpit, /obj/machinery/computer/ship/sensors/cockpit/right{ - pixel_x = 25; - req_one_access = list(73,74) + pixel_x = 25 }, /turf/simulated/floor/carpet/rubber, /area/shuttle/canary) From 5d14f207899ac0deb35756da0c1b00658800072d Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Sun, 1 Dec 2024 15:23:38 -0500 Subject: [PATCH 03/17] oops --- code/modules/overmap/ships/computers/ship.dm | 4 ++-- code/modules/shuttles/shuttle_console.dm | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 08d36b607ca..25bb460b819 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -31,10 +31,10 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov ui_interact(user) /obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user) - if(!hacked) + if(!emagged) req_access = list() req_one_access = list() - hacked = TRUE + emagged = TRUE to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") return TRUE diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 40a0c592867..769be8dfd88 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -5,8 +5,8 @@ icon_keyboard_emis = "cyan_key_mask" light_color = LIGHT_COLOR_CYAN - var/shuttle_tag // Used to coordinate data in shuttle controller. - var/hacked = FALSE // Has been emagged, no access restrictions. + /// Used to coordinate data in shuttle controller. + var/shuttle_tag var/ui_template = "ShuttleControlConsole" var/list/linked_helmets = list() @@ -163,10 +163,10 @@ PH.set_hud_maptext("Shuttle Status: [shuttle_status]") /obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user) - if(!hacked) + if(!emagged) req_access = list() req_one_access = list() - hacked = TRUE + emagged = TRUE to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") return TRUE From 1153a9b145955fd993f23241f505935f3e2423e5 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Sun, 1 Dec 2024 15:25:14 -0500 Subject: [PATCH 04/17] feedback if already hacked --- code/modules/overmap/ships/computers/ship.dm | 14 ++++++++------ code/modules/shuttles/shuttle_console.dm | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 25bb460b819..5e5444adbd7 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -31,12 +31,14 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov ui_interact(user) /obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user) - if(!emagged) - req_access = list() - req_one_access = list() - emagged = TRUE - to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") - return TRUE + if(emagged) + to_chat(user, SPAN_WARNING("The [src] has already been subverted.")) + return FALSE + req_access = list() + req_one_access = list() + emagged = TRUE + to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") + return TRUE /obj/machinery/computer/ship/Topic(href, href_list) if(..()) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 769be8dfd88..33a8f47d89f 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -163,12 +163,14 @@ PH.set_hud_maptext("Shuttle Status: [shuttle_status]") /obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user) - if(!emagged) - req_access = list() - req_one_access = list() - emagged = TRUE - to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") - return TRUE + if(emagged) + to_chat(user, SPAN_WARNING("The [src] has already been subverted.")) + return FALSE + req_access = list() + req_one_access = list() + emagged = TRUE + to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") + return TRUE /obj/machinery/computer/shuttle_control/ex_act() return From cff3c6b7862e683be8c68d128736ab49333b777c Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Wed, 4 Dec 2024 18:21:21 -0500 Subject: [PATCH 05/17] Adds hotwiring --- code/modules/overmap/ships/computers/ship.dm | 64 +++++++++++++++++--- code/modules/shuttles/shuttle_console.dm | 49 ++++++++++++++- code/modules/shuttles/shuttle_emergency.dm | 2 +- html/changelogs/Ben10083 - Ship Access.yml | 2 +- 4 files changed, 105 insertions(+), 12 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 5e5444adbd7..1dd13c9488f 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -4,17 +4,43 @@ with an /obj/effect/overmap/visitable/ship present elsewhere on that z level, or somewhere on that shuttle. Subtypes of these can be then used to perform ship overmap movement functions. */ /obj/machinery/computer/ship - var/list/viewers // Weakrefs to mobs in direct-view mode. - var/extra_view = 0 // how much the view is increased by when the mob is in overmap mode. - var/obj/effect/overmap/visitable/ship/connected //The ship we're attached to. This is a typecheck for linked, to ensure we're linked to a ship and not a sector - var/targeting = FALSE //Are we targeting anything right now? + desc_antag = "These consoles, especially the ones that handle landing/takeoff and piloting, may be access-locked.\ + You can remove this lock with wirecutters, but it would take awhile!" + /// Weakrefs to mobs in direct-view mode. + var/list/viewers + /// How much the view is increased by when the mob is in overmap mode. + var/extra_view = 0 + /// The ship we're attached to. This is a typecheck for linked, to ensure we're linked to a ship and not a sector + var/obj/effect/overmap/visitable/ship/connected + /// Are we targeting anything right now? + var/targeting = FALSE var/linked_type = /obj/effect/overmap/visitable/ship + /// Set by emag_act(), stores the old access to be restored at a later time. + var/list/req_access_old + /// Set by emag_act(), stores the old access to be restored at a later time. + var/list/req_one_access_old /obj/machinery/computer/ship/proc/display_reconnect_dialog(var/mob/user, var/flavor) var/datum/browser/popup = new (user, "[src]", "[src]") popup.set_content("
Error
Unable to connect to [flavor].
Reconnect
") popup.open() +/obj/machinery/computer/ship/attackby(obj/item/attacking_item, mob/user) + if(attacking_item.iswirecutter()) // Hotwiring + if(!req_access && !req_one_access && !emagged) // Already fixed/no need to hack + to_chat(user, SPAN_NOTICE("[src] is not access-locked.")) + return + // Begin hotwire + user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and start to [emagged ? "repair" : "hotwire"] \the [src] (This will take around two minutes)...")) + if(do_after(user, 2 MINUTES, src, DO_UNIQUE)) + if(!emagged) + emag_act(user=user, hotwired=TRUE) + return + else + restore_access(user) + return + return ..() + /obj/machinery/computer/ship/attack_hand(mob/user) if(use_check_and_message(user)) return @@ -30,14 +56,38 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov src.add_hiddenprint(user) ui_interact(user) -/obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user) +/obj/machinery/computer/ship/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) + . = ..() + if(emagged) + . += "Its bottom panel appears open with wires hanging out. It can be repaired with wirecutters." + +/obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) if(emagged) - to_chat(user, SPAN_WARNING("The [src] has already been subverted.")) + to_chat(user, SPAN_WARNING("\The [src] has already been subverted.")) return FALSE + // save old access and clear + req_access_old = req_access + req_one_access_old = req_one_access req_access = list() req_one_access = list() emagged = TRUE - to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") + if(hotwired) + user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and wires spill out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + else + user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + spark(src, 2, 0) + return TRUE + +/// Used to restore access removed from emag_act() by setting access from req_access_old and req_one_access_old +/obj/machinery/computer/ship/proc/restore_access(var/mob/user) + if(!req_access_old && !req_one_access_old) + to_chat(user, SPAN_WARNING("There is no access to restore for \the [src]!")) + return FALSE + req_access = req_access_old + req_one_access = req_one_access_old + emagged = FALSE + to_chat(user, "You repair out the console's ID checking system. It's access restrictions have been restored.") + playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) return TRUE /obj/machinery/computer/ship/Topic(href, href_list) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 33a8f47d89f..95780ccfe40 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -1,5 +1,7 @@ /obj/machinery/computer/shuttle_control name = "shuttle control console" + desc_antag = "These consoles, especially the ones that handle landing/takeoff and piloting, may be access-locked.\ + You can remove this lock with wirecutters, but it would take awhile!" icon_screen = "shuttle" icon_keyboard = "cyan_key" icon_keyboard_emis = "cyan_key_mask" @@ -11,6 +13,10 @@ var/ui_template = "ShuttleControlConsole" var/list/linked_helmets = list() var/can_rename_ship = FALSE + /// Set by emag_act(), stores the old access to be restored at a later time. + var/list/req_access_old + /// Set by emag_act(), stores the old access to be restored at a later time. + var/list/req_one_access_old /obj/machinery/computer/shuttle_control/Initialize() . = ..() @@ -41,6 +47,19 @@ PH.set_console(src) PH.set_hud_maptext("Shuttle Status: [get_shuttle_status(SSshuttle.shuttles[shuttle_tag])]") return + if(attacking_item.iswirecutter()) // Hotwiring + if(!req_access && !req_one_access && !emagged) // Already fixed/no need to hack + to_chat(user, SPAN_NOTICE("[src] is not access-locked.")) + return + // Begin hotwire + user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and start to [emagged ? "repair" : "hotwire"] \the [src] (This will take around two minutes)...")) + if(do_after(user, 2 MINUTES, src, DO_UNIQUE)) + if(!emagged) + emag_act(user=user, hotwired=TRUE) + return + else + restore_access(user) + return return ..() /obj/machinery/computer/shuttle_control/attack_hand(mob/user) @@ -162,14 +181,38 @@ for(var/obj/item/clothing/head/helmet/pilot/PH as anything in linked_helmets) PH.set_hud_maptext("Shuttle Status: [shuttle_status]") -/obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user) +/obj/machinery/computer/shuttle_control/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) + . = ..() + if(emagged) + . += "Its bottom panel appears open with wires hanging out. It can be repaired with wirecutters." + +/obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) if(emagged) - to_chat(user, SPAN_WARNING("The [src] has already been subverted.")) + to_chat(user, SPAN_WARNING("\The [src] has already been subverted.")) return FALSE + // save old access and clear + req_access_old = req_access + req_one_access_old = req_one_access req_access = list() req_one_access = list() emagged = TRUE - to_chat(user, "You short out the console's ID checking system. It's now available to everyone!") + if(hotwired) + user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and wires spill out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + else + user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + spark(src, 2, 0) + return TRUE + +/// Used to restore access removed from emag_act() by setting access from req_access_old and req_one_access_old +/obj/machinery/computer/shuttle_control/proc/restore_access(var/mob/user) + if(!req_access_old && !req_one_access_old) + to_chat(user, SPAN_WARNING("There is no access to restore for \the [src]!")) + return FALSE + req_access = req_access_old + req_one_access = req_one_access_old + emagged = FALSE + to_chat(user, "You repair out the console's ID checking system. It's access restrictions have been restored.") + playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) return TRUE /obj/machinery/computer/shuttle_control/ex_act() diff --git a/code/modules/shuttles/shuttle_emergency.dm b/code/modules/shuttles/shuttle_emergency.dm index 851ea64e1e7..75576720631 100644 --- a/code/modules/shuttles/shuttle_emergency.dm +++ b/code/modules/shuttles/shuttle_emergency.dm @@ -166,7 +166,7 @@ return 1 -/obj/machinery/computer/shuttle_control/emergency/emag_act(var/remaining_charges, var/mob/user) +/obj/machinery/computer/shuttle_control/emergency/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) if (!emagged) to_chat(user, SPAN_NOTICE("You short out \the [src]'s authorization protocols.")) emagged = 1 diff --git a/html/changelogs/Ben10083 - Ship Access.yml b/html/changelogs/Ben10083 - Ship Access.yml index 591a6561ee6..5b9d6e98026 100644 --- a/html/changelogs/Ben10083 - Ship Access.yml +++ b/html/changelogs/Ben10083 - Ship Access.yml @@ -57,5 +57,5 @@ delete-after: True changes: - code_imp: "Adds ID check functionality to ship/shuttle consoles." - rscadd: "ID Checks added to SCCV Horizon ship/shuttle consoles. Bridge Crew given access to all shuttles." - - balance: "Emagging a ship console will allow it to be usable by anyone." + - balance: "Emagging or using wirecutters on a ship console will allow it to be usable by anyone." - rscadd: "Many offships and their shuttles given access checks." From d6bc07fb7c19643d5eda6c27bd910ad6b2be141f Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Wed, 4 Dec 2024 20:14:07 -0500 Subject: [PATCH 06/17] Refactor to be sections of 15 instead of 2 minutes at once --- code/modules/overmap/ships/computers/ship.dm | 51 ++++++++++++++++---- code/modules/shuttles/shuttle_console.dm | 48 ++++++++++++++---- 2 files changed, 80 insertions(+), 19 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 1dd13c9488f..e455bff8861 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -15,29 +15,55 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov /// Are we targeting anything right now? var/targeting = FALSE var/linked_type = /obj/effect/overmap/visitable/ship + /// Set by emag_act(), stores the old access to be restored at a later time. var/list/req_access_old /// Set by emag_act(), stores the old access to be restored at a later time. var/list/req_one_access_old + /// For hotwiring, how many cycles are needed. This decreases by 1 each cycle and triggers at 0 + var/hotwire_progress = 8 + + /obj/machinery/computer/ship/proc/display_reconnect_dialog(var/mob/user, var/flavor) var/datum/browser/popup = new (user, "[src]", "[src]") popup.set_content("
Error
Unable to connect to [flavor].
Reconnect
") popup.open() /obj/machinery/computer/ship/attackby(obj/item/attacking_item, mob/user) + if(attacking_item.iscoil()) // Repair from hotwire + var/obj/item/stack/cable_coil/C = attacking_item + if(hotwire_progress >= initial(hotwire_progress)) + to_chat(usr, SPAN_NOTICE("\The [src] does not require repairs.")) + else + while(C.can_use(2, user)) + to_chat(usr, SPAN_NOTICE("You begin to replace some cabling for \the [src]...")) + if (do_after(user, 15 SECONDS, src, DO_UNIQUE)) + if(hotwire_progress < initial(hotwire_progress)) + C.use(2) + hotwire_progress++ + if(hotwire_progress >= initial(hotwire_progress)) + restore_access(user) + return + to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + return + if(attacking_item.iswirecutter()) // Hotwiring - if(!req_access && !req_one_access && !emagged) // Already fixed/no need to hack + if(!req_access && !req_one_access && !emagged) // Already hacked/no need to hack to_chat(user, SPAN_NOTICE("[src] is not access-locked.")) return // Begin hotwire - user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and start to [emagged ? "repair" : "hotwire"] \the [src] (This will take around two minutes)...")) - if(do_after(user, 2 MINUTES, src, DO_UNIQUE)) - if(!emagged) - emag_act(user=user, hotwired=TRUE) - return + user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and attempt to hotwire \the [src]...")) + while(hotwire_progress > 0) + if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) + hotwire_progress-- + if(hotwire_progress <= 0) + emag_act(user=user, hotwired=TRUE) + return + to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) else - restore_access(user) return return ..() @@ -58,8 +84,11 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov /obj/machinery/computer/ship/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) . = ..() - if(emagged) - . += "Its bottom panel appears open with wires hanging out. It can be repaired with wirecutters." + if(initial(hotwire_progress) != hotwire_progress) + if(hotwire_progress != 0) + . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%" + else + . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling." /obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) if(emagged) @@ -72,10 +101,11 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov req_one_access = list() emagged = TRUE if(hotwired) - user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and wires spill out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and burnt cabling spills out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) else user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) spark(src, 2, 0) + hotwire_progress = 0 return TRUE /// Used to restore access removed from emag_act() by setting access from req_access_old and req_one_access_old @@ -88,6 +118,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov emagged = FALSE to_chat(user, "You repair out the console's ID checking system. It's access restrictions have been restored.") playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) + hotwire_progress = initial(hotwire_progress) return TRUE /obj/machinery/computer/ship/Topic(href, href_list) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 95780ccfe40..ebd24254a7a 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -13,11 +13,15 @@ var/ui_template = "ShuttleControlConsole" var/list/linked_helmets = list() var/can_rename_ship = FALSE + /// Set by emag_act(), stores the old access to be restored at a later time. var/list/req_access_old /// Set by emag_act(), stores the old access to be restored at a later time. var/list/req_one_access_old + /// For hotwiring, how many cycles are needed. This decreases by 1 each cycle and triggers at 0 + var/hotwire_progress = 8 + /obj/machinery/computer/shuttle_control/Initialize() . = ..() if(SSshuttle.shuttles[shuttle_tag]) @@ -47,18 +51,39 @@ PH.set_console(src) PH.set_hud_maptext("Shuttle Status: [get_shuttle_status(SSshuttle.shuttles[shuttle_tag])]") return + if(attacking_item.iscoil()) // Repair from hotwire + var/obj/item/stack/cable_coil/C = attacking_item + if(hotwire_progress >= initial(hotwire_progress)) + to_chat(usr, SPAN_NOTICE("\The [src] does not require repairs.")) + else + while(C.can_use(2, user)) + to_chat(usr, SPAN_NOTICE("You begin to replace some cabling for \the [src]...")) + if (do_after(user, 15 SECONDS, src, DO_UNIQUE)) + if(hotwire_progress < initial(hotwire_progress)) + C.use(2) + hotwire_progress++ + if(hotwire_progress >= initial(hotwire_progress)) + restore_access(user) + return + to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + return + if(attacking_item.iswirecutter()) // Hotwiring - if(!req_access && !req_one_access && !emagged) // Already fixed/no need to hack + if(!req_access && !req_one_access && !emagged) // Already hacked/no need to hack to_chat(user, SPAN_NOTICE("[src] is not access-locked.")) return // Begin hotwire - user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and start to [emagged ? "repair" : "hotwire"] \the [src] (This will take around two minutes)...")) - if(do_after(user, 2 MINUTES, src, DO_UNIQUE)) - if(!emagged) - emag_act(user=user, hotwired=TRUE) - return + user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and attempt to hotwire \the [src]...")) + while(hotwire_progress > 0) + if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) + hotwire_progress-- + if(hotwire_progress <= 0) + emag_act(user=user, hotwired=TRUE) + return + to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) else - restore_access(user) return return ..() @@ -183,8 +208,11 @@ /obj/machinery/computer/shuttle_control/get_examine_text(mob/user, distance, is_adjacent, infix, suffix) . = ..() - if(emagged) - . += "Its bottom panel appears open with wires hanging out. It can be repaired with wirecutters." + if(initial(hotwire_progress) != hotwire_progress) + if(hotwire_progress != 0) + . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%" + else + . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling." /obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) if(emagged) @@ -201,6 +229,7 @@ else user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) spark(src, 2, 0) + hotwire_progress = 0 return TRUE /// Used to restore access removed from emag_act() by setting access from req_access_old and req_one_access_old @@ -213,6 +242,7 @@ emagged = FALSE to_chat(user, "You repair out the console's ID checking system. It's access restrictions have been restored.") playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) + hotwire_progress = initial(hotwire_progress) return TRUE /obj/machinery/computer/shuttle_control/ex_act() From 79c5470e009eee5d9f557d7e8abd13f0e511bbb1 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Wed, 4 Dec 2024 20:19:59 -0500 Subject: [PATCH 07/17] oops --- code/modules/overmap/ships/computers/ship.dm | 4 ++-- code/modules/shuttles/shuttle_console.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index e455bff8861..f5a26741c1e 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -36,9 +36,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov if(hotwire_progress >= initial(hotwire_progress)) to_chat(usr, SPAN_NOTICE("\The [src] does not require repairs.")) else + to_chat(usr, SPAN_NOTICE("You attempt to replace some cabling for \the [src]...")) while(C.can_use(2, user)) - to_chat(usr, SPAN_NOTICE("You begin to replace some cabling for \the [src]...")) - if (do_after(user, 15 SECONDS, src, DO_UNIQUE)) + if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) if(hotwire_progress < initial(hotwire_progress)) C.use(2) hotwire_progress++ diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index ebd24254a7a..8f970a71253 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -56,9 +56,9 @@ if(hotwire_progress >= initial(hotwire_progress)) to_chat(usr, SPAN_NOTICE("\The [src] does not require repairs.")) else + to_chat(usr, SPAN_NOTICE("You attempt to replace some cabling for \the [src]...")) while(C.can_use(2, user)) - to_chat(usr, SPAN_NOTICE("You begin to replace some cabling for \the [src]...")) - if (do_after(user, 15 SECONDS, src, DO_UNIQUE)) + if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) if(hotwire_progress < initial(hotwire_progress)) C.use(2) hotwire_progress++ From 74d01b88253d6ab80f92671759e7de81fe5a5186 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Thu, 5 Dec 2024 14:40:51 -0500 Subject: [PATCH 08/17] conflict fix --- .../dominian_science_vessel/dominian_science_vessel.dmm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm index 79d4ae0fa1c..3dd9e062237 100644 --- a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm +++ b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel.dmm @@ -2163,7 +2163,9 @@ /obj/effect/floor_decal/corner/blue{ dir = 10 }, -/obj/machinery/computer/ship/targeting, +/obj/machinery/computer/ship/targeting{ + req_access = list(226) + }, /turf/simulated/floor/tiled/dark, /area/ship/dominian_science_vessel/bridge) "fUz" = ( From 919908a98507432f6e9a40c431416beb769d489f Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Thu, 5 Dec 2024 16:27:41 -0500 Subject: [PATCH 09/17] span_subtle --- code/modules/overmap/ships/computers/ship.dm | 4 ++-- code/modules/shuttles/shuttle_console.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index f5a26741c1e..62cff62d3e6 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -86,9 +86,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov . = ..() if(initial(hotwire_progress) != hotwire_progress) if(hotwire_progress != 0) - . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%" + . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%") else - . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling." + . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling.") /obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) if(emagged) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 8f970a71253..8fc2ca0c9fc 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -210,9 +210,9 @@ . = ..() if(initial(hotwire_progress) != hotwire_progress) if(hotwire_progress != 0) - . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%" + . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%") else - . += "The bottom panel appears open with wires hanging out. It can be repaired with additional cabling." + . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling.") /obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) if(emagged) From 999140322b7d876e7332668d98bc336eacae4bd7 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Thu, 12 Dec 2024 12:54:04 -0500 Subject: [PATCH 10/17] Requested Changes --- code/modules/overmap/ships/computers/ship.dm | 20 ++++------------ code/modules/shuttles/shuttle_console.dm | 25 +++++++------------- 2 files changed, 12 insertions(+), 33 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 62cff62d3e6..8bac65a6129 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -16,11 +16,6 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov var/targeting = FALSE var/linked_type = /obj/effect/overmap/visitable/ship - /// Set by emag_act(), stores the old access to be restored at a later time. - var/list/req_access_old - /// Set by emag_act(), stores the old access to be restored at a later time. - var/list/req_one_access_old - /// For hotwiring, how many cycles are needed. This decreases by 1 each cycle and triggers at 0 var/hotwire_progress = 8 @@ -46,7 +41,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov restore_access(user) return to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, 1) return if(attacking_item.iswirecutter()) // Hotwiring @@ -62,7 +57,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov emag_act(user=user, hotwired=TRUE) return to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, 1) else return return ..() @@ -70,7 +65,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov /obj/machinery/computer/ship/attack_hand(mob/user) if(use_check_and_message(user)) return - if(!allowed(user)) + if(!emagged && !allowed(user)) to_chat(user, SPAN_WARNING("Access denied.")) return FALSE user.set_machine(src) @@ -94,11 +89,6 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov if(emagged) to_chat(user, SPAN_WARNING("\The [src] has already been subverted.")) return FALSE - // save old access and clear - req_access_old = req_access - req_one_access_old = req_one_access - req_access = list() - req_one_access = list() emagged = TRUE if(hotwired) user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and burnt cabling spills out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) @@ -110,11 +100,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov /// Used to restore access removed from emag_act() by setting access from req_access_old and req_one_access_old /obj/machinery/computer/ship/proc/restore_access(var/mob/user) - if(!req_access_old && !req_one_access_old) + if(!emagged) to_chat(user, SPAN_WARNING("There is no access to restore for \the [src]!")) return FALSE - req_access = req_access_old - req_one_access = req_one_access_old emagged = FALSE to_chat(user, "You repair out the console's ID checking system. It's access restrictions have been restored.") playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 8fc2ca0c9fc..b0ec4ba1b50 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -14,11 +14,6 @@ var/list/linked_helmets = list() var/can_rename_ship = FALSE - /// Set by emag_act(), stores the old access to be restored at a later time. - var/list/req_access_old - /// Set by emag_act(), stores the old access to be restored at a later time. - var/list/req_one_access_old - /// For hotwiring, how many cycles are needed. This decreases by 1 each cycle and triggers at 0 var/hotwire_progress = 8 @@ -66,7 +61,7 @@ restore_access(user) return to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, 1) return if(attacking_item.iswirecutter()) // Hotwiring @@ -82,15 +77,18 @@ emag_act(user=user, hotwired=TRUE) return to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, 1) else return return ..() /obj/machinery/computer/shuttle_control/attack_hand(mob/user) - if(!allowed(user)) + if(use_check_and_message(user)) + return + if(!emagged && !allowed(user)) to_chat(user, SPAN_WARNING("Access denied.")) return FALSE + user.set_machine(src) ui_interact(user) /obj/machinery/computer/shuttle_control/attack_ai(mob/user) @@ -218,14 +216,9 @@ if(emagged) to_chat(user, SPAN_WARNING("\The [src] has already been subverted.")) return FALSE - // save old access and clear - req_access_old = req_access - req_one_access_old = req_one_access - req_access = list() - req_one_access = list() emagged = TRUE if(hotwired) - user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and wires spill out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and burnt cabling spills out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) else user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) spark(src, 2, 0) @@ -234,11 +227,9 @@ /// Used to restore access removed from emag_act() by setting access from req_access_old and req_one_access_old /obj/machinery/computer/shuttle_control/proc/restore_access(var/mob/user) - if(!req_access_old && !req_one_access_old) + if(!emagged) to_chat(user, SPAN_WARNING("There is no access to restore for \the [src]!")) return FALSE - req_access = req_access_old - req_one_access = req_one_access_old emagged = FALSE to_chat(user, "You repair out the console's ID checking system. It's access restrictions have been restored.") playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) From 4b6165063e17d564a0cfc55bfe0c5a58a39bcf95 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Thu, 26 Dec 2024 14:16:46 -0500 Subject: [PATCH 11/17] updated desc --- code/modules/overmap/ships/computers/ship.dm | 4 ++-- code/modules/shuttles/shuttle_console.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 8bac65a6129..7b4f8333c3a 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -4,8 +4,8 @@ with an /obj/effect/overmap/visitable/ship present elsewhere on that z level, or somewhere on that shuttle. Subtypes of these can be then used to perform ship overmap movement functions. */ /obj/machinery/computer/ship - desc_antag = "These consoles, especially the ones that handle landing/takeoff and piloting, may be access-locked.\ - You can remove this lock with wirecutters, but it would take awhile!" + desc_antag = "These consoles, especially the ones that handle piloting and weaponry, may be access-locked.\ + You can remove this lock with wirecutters, but it would take awhile! Alternatively, you can also use a cryptographic sequencer (emag) for instant removal." /// Weakrefs to mobs in direct-view mode. var/list/viewers /// How much the view is increased by when the mob is in overmap mode. diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index b0ec4ba1b50..e63c3926813 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -1,7 +1,7 @@ /obj/machinery/computer/shuttle_control name = "shuttle control console" - desc_antag = "These consoles, especially the ones that handle landing/takeoff and piloting, may be access-locked.\ - You can remove this lock with wirecutters, but it would take awhile!" + desc_antag = "Consoles like these are typically access-locked.\ + You can remove this lock with wirecutters, but it would take awhile! Alternatively, you can also use a cryptographic sequencer (emag) for instant removal." icon_screen = "shuttle" icon_keyboard = "cyan_key" icon_keyboard_emis = "cyan_key_mask" From 437201c7bd47e6435af6d9614aef4b4464983fd0 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Sat, 11 Jan 2025 13:51:19 -0500 Subject: [PATCH 12/17] Moar Fix --- maps/sccv_horizon/sccv_horizon.dmm | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/maps/sccv_horizon/sccv_horizon.dmm b/maps/sccv_horizon/sccv_horizon.dmm index 86cf08b40c1..0096fd9caa6 100644 --- a/maps/sccv_horizon/sccv_horizon.dmm +++ b/maps/sccv_horizon/sccv_horizon.dmm @@ -4300,12 +4300,6 @@ }, /turf/simulated/floor/plating, /area/engineering/atmos/air) -"aEw" = ( -/obj/structure/bed/stool/chair/shuttle, -/obj/effect/floor_decal/corner/lime/diagonal, -/obj/item/device/radio/intercom/expedition/north, -/turf/simulated/floor/tiled/white, -/area/shuttle/intrepid/main_compartment) "aEC" = ( /obj/effect/decal/fake_object/light_source/invisible{ light_color = "#66ccff"; @@ -109880,9 +109874,6 @@ /turf/space/dynamic, /area/horizon/exterior) "pYD" = ( -/obj/effect/floor_decal/corner/yellow{ - dir = 6 - }, /obj/effect/floor_decal/corner/lime/diagonal, /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -137502,15 +137493,9 @@ /turf/simulated/floor/tiled/dark/full, /area/security/checkpoint2) "ucB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 4 - }, /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, -/obj/machinery/alarm/north{ - req_one_access = list(24,11,47,65,73) - }, /obj/effect/floor_decal/corner/dark_green/diagonal, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 8 @@ -200915,7 +200900,7 @@ sql uJi mwR sql -aEw +oDE qFf reg gKh From 63a25a1caf94a141ea71be5212a607b36d657415 Mon Sep 17 00:00:00 2001 From: Ben <91219575+Ben10083@users.noreply.github.com> Date: Wed, 29 Jan 2025 09:07:54 -0500 Subject: [PATCH 13/17] Update code/modules/overmap/ships/computers/ship.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com> --- code/modules/overmap/ships/computers/ship.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 7b4f8333c3a..f1df8c94e6e 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -57,7 +57,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov emag_act(user=user, hotwired=TRUE) return to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, 1) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, TRUE) else return return ..() From 9ed4fe22446d78b43303529d309016826204e817 Mon Sep 17 00:00:00 2001 From: Ben <91219575+Ben10083@users.noreply.github.com> Date: Wed, 29 Jan 2025 09:08:02 -0500 Subject: [PATCH 14/17] Update code/modules/overmap/ships/computers/ship.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com> --- code/modules/overmap/ships/computers/ship.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index f1df8c94e6e..1e7fcb5032e 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -41,7 +41,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov restore_access(user) return to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, 1) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, TRUE) return if(attacking_item.iswirecutter()) // Hotwiring From 5da905f361fb8c4516acb32cb21caca2a3984dc2 Mon Sep 17 00:00:00 2001 From: Ben <91219575+Ben10083@users.noreply.github.com> Date: Wed, 29 Jan 2025 09:08:23 -0500 Subject: [PATCH 15/17] Update code/modules/shuttles/shuttle_console.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com> --- code/modules/shuttles/shuttle_console.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index e63c3926813..a77fc6a2a15 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -61,7 +61,7 @@ restore_access(user) return to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, 1) + playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, TRUE) return if(attacking_item.iswirecutter()) // Hotwiring From aae3c1ead3ea0afc11caf21f48e23014b6007d20 Mon Sep 17 00:00:00 2001 From: Ben <91219575+Ben10083@users.noreply.github.com> Date: Wed, 29 Jan 2025 09:08:35 -0500 Subject: [PATCH 16/17] Update code/modules/shuttles/shuttle_console.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com> --- code/modules/shuttles/shuttle_console.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index a77fc6a2a15..be1914d302a 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -77,7 +77,7 @@ emag_act(user=user, hotwired=TRUE) return to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, 1) + playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, TRUE) else return return ..() From f87905385af249b99026f41e94efaaeb4e624fc6 Mon Sep 17 00:00:00 2001 From: Ben10083 Date: Wed, 29 Jan 2025 09:24:11 -0500 Subject: [PATCH 17/17] The Regime Knows Best --- code/modules/overmap/ships/computers/ship.dm | 22 ++++++++--------- code/modules/shuttles/shuttle_console.dm | 26 ++++++++++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 1e7fcb5032e..b02839136af 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -29,9 +29,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov if(attacking_item.iscoil()) // Repair from hotwire var/obj/item/stack/cable_coil/C = attacking_item if(hotwire_progress >= initial(hotwire_progress)) - to_chat(usr, SPAN_NOTICE("\The [src] does not require repairs.")) + to_chat(usr, SPAN_BOLD("\The [src] does not require repairs.")) else - to_chat(usr, SPAN_NOTICE("You attempt to replace some cabling for \the [src]...")) + to_chat(usr, SPAN_BOLD("You attempt to replace some cabling for \the [src]...")) while(C.can_use(2, user)) if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) if(hotwire_progress < initial(hotwire_progress)) @@ -40,23 +40,23 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov if(hotwire_progress >= initial(hotwire_progress)) restore_access(user) return - to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) + to_chat(usr, SPAN_BOLD("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, TRUE) return if(attacking_item.iswirecutter()) // Hotwiring if(!req_access && !req_one_access && !emagged) // Already hacked/no need to hack - to_chat(user, SPAN_NOTICE("[src] is not access-locked.")) + to_chat(user, SPAN_BOLD("[src] is not access-locked.")) return // Begin hotwire - user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and attempt to hotwire \the [src]...")) + user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_BOLD("You open the maintenance panel and attempt to hotwire \the [src]...")) while(hotwire_progress > 0) if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) hotwire_progress-- if(hotwire_progress <= 0) emag_act(user=user, hotwired=TRUE) return - to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) + to_chat(user, SPAN_BOLD("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, TRUE) else return @@ -81,19 +81,19 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov . = ..() if(initial(hotwire_progress) != hotwire_progress) if(hotwire_progress != 0) - . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%") + . += SPAN_ITALIC("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%") else - . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling.") + . += SPAN_ITALIC("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling.") -/obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) +/obj/machinery/computer/ship/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/hotwired = FALSE) if(emagged) to_chat(user, SPAN_WARNING("\The [src] has already been subverted.")) return FALSE emagged = TRUE if(hotwired) - user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and burnt cabling spills out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and burnt cabling spills out!"),SPAN_BOLD("You short out the console's ID checking system. It's now available to everyone!")) else - user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_BOLD("You short out the console's ID checking system. It's now available to everyone!")) spark(src, 2, 0) hotwire_progress = 0 return TRUE diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index be1914d302a..082c53a7f9e 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -39,19 +39,19 @@ if(istype(attacking_item, /obj/item/clothing/head/helmet/pilot)) var/obj/item/clothing/head/helmet/pilot/PH = attacking_item if(attacking_item in linked_helmets) - to_chat(user, SPAN_NOTICE("You unlink \the [attacking_item] from \the [src].")) + to_chat(user, SPAN_BOLD("You unlink \the [attacking_item] from \the [src].")) PH.set_console(null) else - to_chat(user, SPAN_NOTICE("You link \the [attacking_item] to \the [src].")) + to_chat(user, SPAN_BOLD("You link \the [attacking_item] to \the [src].")) PH.set_console(src) PH.set_hud_maptext("Shuttle Status: [get_shuttle_status(SSshuttle.shuttles[shuttle_tag])]") return if(attacking_item.iscoil()) // Repair from hotwire var/obj/item/stack/cable_coil/C = attacking_item if(hotwire_progress >= initial(hotwire_progress)) - to_chat(usr, SPAN_NOTICE("\The [src] does not require repairs.")) + to_chat(usr, SPAN_BOLD("\The [src] does not require repairs.")) else - to_chat(usr, SPAN_NOTICE("You attempt to replace some cabling for \the [src]...")) + to_chat(usr, SPAN_BOLD("You attempt to replace some cabling for \the [src]...")) while(C.can_use(2, user)) if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) if(hotwire_progress < initial(hotwire_progress)) @@ -60,23 +60,23 @@ if(hotwire_progress >= initial(hotwire_progress)) restore_access(user) return - to_chat(usr, SPAN_NOTICE("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) + to_chat(usr, SPAN_BOLD("You replace some broken cabling of \the [src] ([(hotwire_progress / initial(hotwire_progress)) * 100]%).")) playsound(src.loc, 'sound/items/Deconstruct.ogg', 30, TRUE) return if(attacking_item.iswirecutter()) // Hotwiring if(!req_access && !req_one_access && !emagged) // Already hacked/no need to hack - to_chat(user, SPAN_NOTICE("[src] is not access-locked.")) + to_chat(user, SPAN_BOLD("[src] is not access-locked.")) return // Begin hotwire - user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_NOTICE("You open the maintenance panel and attempt to hotwire \the [src]...")) + user.visible_message("[user] opens a panel underneath \the [src] and starts snipping wires...", SPAN_BOLD("You open the maintenance panel and attempt to hotwire \the [src]...")) while(hotwire_progress > 0) if(do_after(user, 15 SECONDS, src, DO_UNIQUE)) hotwire_progress-- if(hotwire_progress <= 0) emag_act(user=user, hotwired=TRUE) return - to_chat(user, SPAN_NOTICE("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) + to_chat(user, SPAN_BOLD("You snip some cabling from \the [src] ([((initial(hotwire_progress)-hotwire_progress) / initial(hotwire_progress)) * 100]%).")) playsound(src.loc, 'sound/items/Wirecutter.ogg', 30, TRUE) else return @@ -208,19 +208,19 @@ . = ..() if(initial(hotwire_progress) != hotwire_progress) if(hotwire_progress != 0) - . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%") + . += SPAN_ITALIC("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling. Current progress: [(hotwire_progress / initial(hotwire_progress)) * 100]%") else - . += SPAN_SUBTLE("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling.") + . += SPAN_ITALIC("The bottom panel appears open with wires hanging out. It can be repaired with additional cabling.") -/obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user, var/hotwired = FALSE) +/obj/machinery/computer/shuttle_control/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/hotwired = FALSE) if(emagged) to_chat(user, SPAN_WARNING("\The [src] has already been subverted.")) return FALSE emagged = TRUE if(hotwired) - user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and burnt cabling spills out!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + user.visible_message(SPAN_WARNING("\The [src] sparks as a panel suddenly opens and burnt cabling spills out!"),SPAN_BOLD("You short out the console's ID checking system. It's now available to everyone!")) else - user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_NOTICE("You short out the console's ID checking system. It's now available to everyone!")) + user.visible_message(SPAN_WARNING("\The [src] sparks!"),SPAN_BOLD("You short out the console's ID checking system. It's now available to everyone!")) spark(src, 2, 0) hotwire_progress = 0 return TRUE