From 2bbe3da46828825dd4c6519d1daf18d48148068b Mon Sep 17 00:00:00 2001 From: forest2001 Date: Mon, 27 May 2024 17:46:10 +0100 Subject: [PATCH 1/2] sentry settings sentries part 2 x s --- code/__DEFINES/ARES.dm | 8 +++ code/game/jobs/job/special/uscm.dm | 2 +- code/game/machinery/ARES/ARES_interface.dm | 2 + .../machinery/ARES/ARES_interface_admin.dm | 2 + .../machinery/ARES/ARES_interface_apollo.dm | 16 +++++ code/game/machinery/ARES/ARES_procs.dm | 27 +++++++++ code/game/machinery/ARES/apollo_pda.dm | 2 + code/game/machinery/sentry_holder.dm | 1 + code/modules/defenses/sentry.dm | 29 +++++++++ code/modules/gear_presets/synths.dm | 2 +- code/modules/gear_presets/uscm_event.dm | 4 +- maps/map_files/USS_Almayer/USS_Almayer.dmm | 26 ++++++-- .../tgui/interfaces/AresInterface.jsx | 59 +++++++++---------- tgui/packages/tgui/interfaces/WorkingJoe.jsx | 46 +++++++++------ 14 files changed, 167 insertions(+), 59 deletions(-) diff --git a/code/__DEFINES/ARES.dm b/code/__DEFINES/ARES.dm index 55aa68f97309..712d37f93336 100644 --- a/code/__DEFINES/ARES.dm +++ b/code/__DEFINES/ARES.dm @@ -82,3 +82,11 @@ /// Time until someone can respawn as Working Joe #define JOE_JOIN_DEAD_TIME (15 MINUTES) + + + +#define FACTION_ARES "Ares" +#define FACTION_LIST_ARES_MARINE list(FACTION_MARINE, FACTION_ARES) +#define FACTION_LIST_ARES_ALL list(FACTION_ARES, FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) +#define FACTION_LIST_ARES_WY list(FACTION_ARES, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) +#define FACTION_LIST_ARES_ALONE list(FACTION_ARES) diff --git a/code/game/jobs/job/special/uscm.dm b/code/game/jobs/job/special/uscm.dm index d17cf9c49f5d..aabe67b55a05 100644 --- a/code/game/jobs/job/special/uscm.dm +++ b/code/game/jobs/job/special/uscm.dm @@ -33,6 +33,7 @@ /datum/job/special/uscm/ai_tech/handle_job_options(option) if(option != USCM_TECH) corporate = TRUE + supervisors = "Weyland Yutani" gear_preset = /datum/equipment_preset/uscm_event/ai_tech/corporate else corporate = FALSE @@ -44,7 +45,6 @@ return FALSE /datum/job/special/uscm/ai_tech/generate_entry_message() - supervisors = "Weyland Yutani" entry_message_body = "You are a [corporate ? FACTION_WY : FACTION_MARINE] AI Service Technician temporarily assigned to the [MAIN_SHIP_NAME]. Your goal is to ensure the onboard AI, [MAIN_AI_SYSTEM], is operating effectively. Your job involves heavy roleplay and requires you to behave like [corporate ? "a senior corporate representative, remaining in character at all times.
As a Weyland Yutani Technician you have access to the Corporate Office aboard the USS Almayer. Although you should cooperate with the onboard Liaison, you are not their subordinate nor they yours. You should help The Company interests where applicable but do not abuse your access to the AI Systems." : "an officer and to stay in character at all times. You are required to adhere to and obey Marine Law. Failure to do so may result in punitive action against you. Godspeed."]" return ..() diff --git a/code/game/machinery/ARES/ARES_interface.dm b/code/game/machinery/ARES/ARES_interface.dm index 519579e844d1..4399c7399684 100644 --- a/code/game/machinery/ARES/ARES_interface.dm +++ b/code/game/machinery/ARES/ARES_interface.dm @@ -216,6 +216,8 @@ data["security_vents"] = link.get_ares_vents() + data["sentry_setting"] = link.faction_label + return data /obj/structure/machinery/computer/ares_console/ui_status(mob/user, datum/ui_state/state) diff --git a/code/game/machinery/ARES/ARES_interface_admin.dm b/code/game/machinery/ARES/ARES_interface_admin.dm index d21eca9f0461..0c0b240617bf 100644 --- a/code/game/machinery/ARES/ARES_interface_admin.dm +++ b/code/game/machinery/ARES/ARES_interface_admin.dm @@ -235,6 +235,8 @@ data["security_vents"] = get_ares_vents() + data["sentry_setting"] = faction_label + return data diff --git a/code/game/machinery/ARES/ARES_interface_apollo.dm b/code/game/machinery/ARES/ARES_interface_apollo.dm index 243ecdf1355f..f3bfd3c63851 100644 --- a/code/game/machinery/ARES/ARES_interface_apollo.dm +++ b/code/game/machinery/ARES/ARES_interface_apollo.dm @@ -143,6 +143,9 @@ data["security_vents"] = link.get_ares_vents() + data["sentry_setting"] = link.faction_label + data["faction_options"] = list(FACTION_MARINE, FACTION_WY, "USCM-WY", FACTION_ARES) + return data /obj/structure/machinery/computer/working_joe/ui_status(mob/user, datum/ui_state/state) @@ -444,6 +447,19 @@ aicore_lockdown(user) return TRUE + if("update_sentries") + playsound = FALSE + var/new_iff = params["chosen_iff"] + if(!new_iff) + to_chat(user, SPAN_WARNING("ERROR: Unknown setting.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(new_iff == link.faction_label) + return FALSE + link.change_iff(new_iff) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + return TRUE + if(playsound) playsound(src, "keyboard_alt", 15, 1) diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm index e57c6649c2ba..495a9488b84a 100644 --- a/code/game/machinery/ARES/ARES_procs.dm +++ b/code/game/machinery/ARES/ARES_procs.dm @@ -40,6 +40,11 @@ GLOBAL_LIST_INIT(maintenance_categories, list( var/list/waiting_ids = list() var/list/active_ids = list() + ///Sentry faction stuff + var/faction_label = FACTION_MARINE + var/list/faction_group = FACTION_LIST_ARES_MARINE + var/list/core_sentries = list() + /datum/ares_link/New() admin_interface = new datacore = GLOB.ares_datacore @@ -70,6 +75,28 @@ GLOBAL_LIST_INIT(maintenance_categories, list( security_vents += list(current_vent) return security_vents +/datum/ares_link/proc/change_iff(selection) + faction_label = selection + var/list/new_iff = list() + var/setting + switch(selection) + if("USCM-WY") + setting = "all USCM and Corporate personnel!" + new_iff = FACTION_LIST_ARES_ALL + if(FACTION_WY) + setting = "Corporate personnel only!" + new_iff = FACTION_LIST_ARES_WY + if(FACTION_ARES) + setting = "authenticated Core Assets!" + new_iff = FACTION_LIST_ARES_ALONE + else + setting = "USCM personnel only!" + faction_label = FACTION_MARINE + new_iff = FACTION_LIST_ARES_MARINE + faction_group = new_iff + ares_apollo_talk("Security IFF systems updated to [setting]") + for(var/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/sentry in core_sentries) + sentry.sync_iff() /* BELOW ARE IN AdminAres.dm /datum/ares_link/tgui_interact(mob/user, datum/tgui/ui) diff --git a/code/game/machinery/ARES/apollo_pda.dm b/code/game/machinery/ARES/apollo_pda.dm index 787b194ffb44..925962cba4d5 100644 --- a/code/game/machinery/ARES/apollo_pda.dm +++ b/code/game/machinery/ARES/apollo_pda.dm @@ -168,6 +168,8 @@ data["security_vents"] = link.get_ares_vents() + data["sentry_setting"] = link.faction_label + return data /obj/item/device/working_joe_pda/ui_status(mob/user, datum/ui_state/state) diff --git a/code/game/machinery/sentry_holder.dm b/code/game/machinery/sentry_holder.dm index 255e718f40b8..8401f1268f9b 100644 --- a/code/game/machinery/sentry_holder.dm +++ b/code/game/machinery/sentry_holder.dm @@ -126,6 +126,7 @@ turret_path = /obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini /obj/structure/machinery/sentry_holder/almayer/mini/aicore + turret_path = /obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares /obj/structure/machinery/sentry_holder/almayer/mini/aicore/Initialize() . = ..() diff --git a/code/modules/defenses/sentry.dm b/code/modules/defenses/sentry.dm index 543dfcefe5bc..15bb63be2f15 100644 --- a/code/modules/defenses/sentry.dm +++ b/code/modules/defenses/sentry.dm @@ -546,6 +546,35 @@ handheld_type = /obj/item/defenses/handheld/sentry/mini composite_icon = FALSE +/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares + name = "UA X512-S mini sentry" + faction_group = FACTION_LIST_ARES_MARINE + +/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/Initialize() + link_sentry() + ..() + +/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/Destroy() + delink_sentry() + ..() + +/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/start_processing() + sync_iff() + ..() + +/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/proc/sync_iff() + var/datum/ares_link/ares_link = GLOB.ares_link + if(!ares_link || !ares_link.faction_group) + faction_group = FACTION_LIST_ARES_MARINE + faction_group = ares_link.faction_group + +/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/proc/link_sentry() + var/datum/ares_link/link = GLOB.ares_link + link.core_sentries += src + +/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/proc/delink_sentry() + var/datum/ares_link/link = GLOB.ares_link + link.core_sentries -= src //the turret inside the shuttle sentry deployment system /obj/structure/machinery/defenses/sentry/premade/dropship diff --git a/code/modules/gear_presets/synths.dm b/code/modules/gear_presets/synths.dm index 9bfa2335e94a..57c9bade7cf3 100644 --- a/code/modules/gear_presets/synths.dm +++ b/code/modules/gear_presets/synths.dm @@ -564,7 +564,7 @@ name = "Synthetic - Working Joe" flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE faction = FACTION_MARINE - faction_group = list(FACTION_MARINE) + faction_group = FACTION_LIST_ARES_MARINE assignment = JOB_WORKING_JOE rank = JOB_WORKING_JOE skills = /datum/skills/working_joe diff --git a/code/modules/gear_presets/uscm_event.dm b/code/modules/gear_presets/uscm_event.dm index 1489a5b1d877..a0f4c5ebc3ee 100644 --- a/code/modules/gear_presets/uscm_event.dm +++ b/code/modules/gear_presets/uscm_event.dm @@ -471,7 +471,7 @@ name = "AI Technician (USCM)" flags = EQUIPMENT_PRESET_EXTRA faction = FACTION_MARINE - faction_group = list(FACTION_MARINE) + faction_group = FACTION_LIST_ARES_MARINE assignment = JOB_AI_TECH rank = JOB_AI_TECH paygrade = PAY_SHORT_MO2 @@ -524,7 +524,7 @@ /datum/equipment_preset/uscm_event/ai_tech/corporate name = "AI Technician (Contractor)" - faction_group = FACTION_LIST_MARINE_WY + faction_group = FACTION_LIST_ARES_ALL paygrade = PAY_SHORT_WYC5 idtype = /obj/item/card/id/silver/cl diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 111e07db5a75..d5d4ae97490b 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -10805,6 +10805,14 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_p) +"bia" = ( +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + c_tag = "AI - Reception Desk"; + autoname = 0 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "biq" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/glass/beaker/large, @@ -26345,7 +26353,7 @@ dir = 8; pixel_y = 2; autoname = 0; - c_tag = "AI - Reception Exterior" + c_tag = "AI - Reception Corridor" }, /turf/open/floor/almayer{ dir = 4; @@ -29259,6 +29267,12 @@ "fVe" = ( /turf/closed/wall/almayer/outer, /area/almayer/maint/hull/upper/u_a_p) +"fVh" = ( +/obj/structure/machinery/sentry_holder/almayer/mini/aicore, +/turf/open/floor/almayer/aicore/no_build{ + icon_state = "w_ai_floor1" + }, +/area/almayer/command/aist_office) "fVk" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -58027,7 +58041,9 @@ /area/almayer/hallways/upper/midship_hallway) "pLH" = ( /obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 4 + dir = 4; + c_tag = "AI - AIST Office"; + autoname = 0 }, /turf/open/floor/almayer/aicore/glowing/no_build{ icon_state = "w_ai_silver"; @@ -69679,7 +69695,7 @@ "tCC" = ( /obj/structure/machinery/camera/autoname/almayer/containment/ares{ dir = 1; - c_tag = "AI - Reception Interior"; + c_tag = "AI - Reception Lobby"; autoname = 0 }, /turf/open/floor/almayer/aicore/no_build, @@ -123104,7 +123120,7 @@ ryn ryn mOi xdA -qQS +bia fnt aqU aHq @@ -138390,7 +138406,7 @@ gPo pym mBA kXv -ngZ +fVh qSH mrS iBn diff --git a/tgui/packages/tgui/interfaces/AresInterface.jsx b/tgui/packages/tgui/interfaces/AresInterface.jsx index b5044a461f28..e90330bd7c46 100644 --- a/tgui/packages/tgui/interfaces/AresInterface.jsx +++ b/tgui/packages/tgui/interfaces/AresInterface.jsx @@ -401,38 +401,33 @@ const MainMenu = (props) => { {(access_level === 3 || access_level >= 6) && (

Core Security Protocols

- - - - - - act('security_lockdown')} - > - AI Core Lockdown - - - + + + act('security_lockdown')} + > + AI Core Lockdown +
)} diff --git a/tgui/packages/tgui/interfaces/WorkingJoe.jsx b/tgui/packages/tgui/interfaces/WorkingJoe.jsx index 1310db39e739..c88a6145b035 100644 --- a/tgui/packages/tgui/interfaces/WorkingJoe.jsx +++ b/tgui/packages/tgui/interfaces/WorkingJoe.jsx @@ -1,5 +1,5 @@ import { useBackend } from '../backend'; -import { Box, Button, Flex, Section, Stack } from '../components'; +import { Box, Button, Dropdown, Flex, Section, Stack } from '../components'; import { Window } from '../layouts'; const PAGES = { @@ -78,6 +78,8 @@ const MainMenu = (props) => { current_menu, access_level, notify_sounds, + faction_options, + sentry_setting, } = data; let can_request_access = 'Yes'; if (access_level > 2) { @@ -254,29 +256,25 @@ const MainMenu = (props) => { {access_level >= 5 && (

Core Security Protocols

+ - - - - + { AI Core Lockdown + + + act('update_sentries', { chosen_iff: value }) + } + width="90px" + disabled={access_level < 6} + /> +
)} From e913a5eeccec100b5e446b34a845a0dc2b4c981a Mon Sep 17 00:00:00 2001 From: forest2001 Date: Mon, 27 May 2024 18:03:41 +0100 Subject: [PATCH 2/2] sentries in other UIs --- code/game/machinery/ARES/ARES_interface.dm | 16 +++++ .../machinery/ARES/ARES_interface_admin.dm | 13 +++- .../machinery/ARES/ARES_interface_apollo.dm | 4 +- code/game/machinery/ARES/ARES_procs.dm | 1 + code/game/machinery/ARES/apollo_pda.dm | 16 ++++- code/game/machinery/ARES/debug_pda.dm | 15 +++++ tgui/packages/tgui/interfaces/AresAdmin.jsx | 59 +++++++++++++------ .../tgui/interfaces/AresInterface.jsx | 51 +++++++++++----- 8 files changed, 136 insertions(+), 39 deletions(-) diff --git a/code/game/machinery/ARES/ARES_interface.dm b/code/game/machinery/ARES/ARES_interface.dm index 4399c7399684..b7a2333f36db 100644 --- a/code/game/machinery/ARES/ARES_interface.dm +++ b/code/game/machinery/ARES/ARES_interface.dm @@ -217,6 +217,8 @@ data["security_vents"] = link.get_ares_vents() data["sentry_setting"] = link.faction_label + data["sentry_setting"] = link.faction_label + data["faction_options"] = link.faction_options return data @@ -549,5 +551,19 @@ aicore_lockdown(user) return TRUE + if("update_sentries") + playsound = FALSE + var/new_iff = params["chosen_iff"] + if(!new_iff) + to_chat(user, SPAN_WARNING("ERROR: Unknown setting.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(new_iff == link.faction_label) + return FALSE + link.change_iff(new_iff) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + to_chat(user, SPAN_WARNING("Sentry IFF settings updated!")) + return TRUE + if(playsound) playsound(src, "keyboard_alt", 15, 1) diff --git a/code/game/machinery/ARES/ARES_interface_admin.dm b/code/game/machinery/ARES/ARES_interface_admin.dm index 0c0b240617bf..0756c8b01db9 100644 --- a/code/game/machinery/ARES/ARES_interface_admin.dm +++ b/code/game/machinery/ARES/ARES_interface_admin.dm @@ -234,8 +234,8 @@ data["access_tickets"] = logged_access data["security_vents"] = get_ares_vents() - data["sentry_setting"] = faction_label + data["faction_options"] = faction_options return data @@ -525,3 +525,14 @@ return FALSE aicore_lockdown(user) return TRUE + + if("update_sentries") + var/new_iff = params["chosen_iff"] + if(!new_iff) + to_chat(user, SPAN_WARNING("ERROR: Unknown setting.")) + return FALSE + if(new_iff == faction_label) + return FALSE + change_iff(new_iff) + to_chat(user, SPAN_WARNING("Sentry IFF settings updated!")) + return TRUE diff --git a/code/game/machinery/ARES/ARES_interface_apollo.dm b/code/game/machinery/ARES/ARES_interface_apollo.dm index f3bfd3c63851..fe0f26880a16 100644 --- a/code/game/machinery/ARES/ARES_interface_apollo.dm +++ b/code/game/machinery/ARES/ARES_interface_apollo.dm @@ -142,9 +142,8 @@ data["access_tickets"] = logged_access data["security_vents"] = link.get_ares_vents() - data["sentry_setting"] = link.faction_label - data["faction_options"] = list(FACTION_MARINE, FACTION_WY, "USCM-WY", FACTION_ARES) + data["faction_options"] = link.faction_options return data @@ -458,6 +457,7 @@ return FALSE link.change_iff(new_iff) playsound(src, 'sound/machines/chime.ogg', 15, 1) + to_chat(user, SPAN_WARNING("Sentry IFF settings updated!")) return TRUE if(playsound) diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm index 495a9488b84a..019fd4978bed 100644 --- a/code/game/machinery/ARES/ARES_procs.dm +++ b/code/game/machinery/ARES/ARES_procs.dm @@ -43,6 +43,7 @@ GLOBAL_LIST_INIT(maintenance_categories, list( ///Sentry faction stuff var/faction_label = FACTION_MARINE var/list/faction_group = FACTION_LIST_ARES_MARINE + var/list/faction_options = list(FACTION_MARINE, FACTION_WY, "USCM-WY", FACTION_ARES) var/list/core_sentries = list() /datum/ares_link/New() diff --git a/code/game/machinery/ARES/apollo_pda.dm b/code/game/machinery/ARES/apollo_pda.dm index 925962cba4d5..cd5de02a1ddb 100644 --- a/code/game/machinery/ARES/apollo_pda.dm +++ b/code/game/machinery/ARES/apollo_pda.dm @@ -167,8 +167,8 @@ data["access_tickets"] = logged_access data["security_vents"] = link.get_ares_vents() - data["sentry_setting"] = link.faction_label + data["faction_options"] = link.faction_options return data @@ -472,6 +472,20 @@ aicore_lockdown(user) return TRUE + if("update_sentries") + playsound = FALSE + var/new_iff = params["chosen_iff"] + if(!new_iff) + to_chat(user, SPAN_WARNING("ERROR: Unknown setting.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(new_iff == link.faction_label) + return FALSE + link.change_iff(new_iff) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + to_chat(user, SPAN_WARNING("Sentry IFF settings updated!")) + return TRUE + if(playsound) var/sound = pick('sound/machines/pda_button1.ogg', 'sound/machines/pda_button2.ogg') playsound(src, sound, 15, TRUE) diff --git a/code/game/machinery/ARES/debug_pda.dm b/code/game/machinery/ARES/debug_pda.dm index 90816d8423ba..72f52c412909 100644 --- a/code/game/machinery/ARES/debug_pda.dm +++ b/code/game/machinery/ARES/debug_pda.dm @@ -278,6 +278,8 @@ data["access_tickets"] = logged_access data["security_vents"] = link.get_ares_vents() + data["sentry_setting"] = link.faction_label + data["faction_options"] = link.faction_options return data @@ -735,6 +737,19 @@ sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS) log_admin("[key_name(user)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.") + if("update_sentries") + playsound = FALSE + var/new_iff = params["chosen_iff"] + if(!new_iff) + to_chat(user, SPAN_WARNING("ERROR: Unknown setting.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(new_iff == link.faction_label) + return FALSE + link.change_iff(new_iff) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + to_chat(user, SPAN_WARNING("Sentry IFF settings updated!")) + return TRUE if(playsound) var/sound = pick('sound/machines/pda_button1.ogg', 'sound/machines/pda_button2.ogg') diff --git a/tgui/packages/tgui/interfaces/AresAdmin.jsx b/tgui/packages/tgui/interfaces/AresAdmin.jsx index 4e0bc465e1ee..b1848de79c29 100644 --- a/tgui/packages/tgui/interfaces/AresAdmin.jsx +++ b/tgui/packages/tgui/interfaces/AresAdmin.jsx @@ -1,5 +1,5 @@ import { useBackend } from '../backend'; -import { Box, Button, Flex, Section, Stack } from '../components'; +import { Box, Button, Dropdown, Flex, Section, Stack } from '../components'; import { Window } from '../layouts'; const PAGES = { @@ -96,8 +96,16 @@ const Login = (props) => { const MainMenu = (props) => { const { data, act } = useBackend(); - const { logged_in, access_text, last_page, current_menu, sudo, admin_login } = - data; + const { + logged_in, + access_text, + last_page, + current_menu, + sudo, + admin_login, + faction_options, + sentry_setting, + } = data; return ( <> @@ -412,28 +420,41 @@ const MainMenu = (props) => { color="red" ml="auto" px="2rem" - width="50%" + width="100%" bold onClick={() => act('page_core_sec')} > Nerve Gas Control - act('security_lockdown')} - disabled={remotelock} - > - AI Core Lockdown - + + + act('security_lockdown')} + > + AI Core Lockdown + + + + + act('update_sentries', { chosen_iff: value }) + } + width="90px" + tooltip="Change core sentries IFF settings." + /> + +
diff --git a/tgui/packages/tgui/interfaces/AresInterface.jsx b/tgui/packages/tgui/interfaces/AresInterface.jsx index e90330bd7c46..eee27adfb9e0 100644 --- a/tgui/packages/tgui/interfaces/AresInterface.jsx +++ b/tgui/packages/tgui/interfaces/AresInterface.jsx @@ -3,7 +3,7 @@ // -------------------------------------------------------------------- // import { useBackend } from '../backend'; -import { Box, Button, Flex, Section, Stack } from '../components'; +import { Box, Button, Dropdown, Flex, Section, Stack } from '../components'; import { Window } from '../layouts'; const PAGES = { @@ -93,6 +93,8 @@ const MainMenu = (props) => { last_page, current_menu, access_level, + faction_options, + sentry_setting, sudo, } = data; @@ -385,7 +387,6 @@ const MainMenu = (props) => { )} )} @@ -415,19 +418,35 @@ const MainMenu = (props) => { > Nerve Gas Control - act('security_lockdown')} - > - AI Core Lockdown - + + + act('security_lockdown')} + > + AI Core Lockdown + + + + + act('update_sentries', { chosen_iff: value }) + } + width="90px" + disabled={access_level < 9} + tooltip="Change core sentries IFF settings." + /> + +
)}