diff --git a/code/game/jobs/access_datum.dm b/code/game/jobs/access_datum.dm index 352886a101f..3aa60be0cb3 100644 --- a/code/game/jobs/access_datum.dm +++ b/code/game/jobs/access_datum.dm @@ -440,6 +440,12 @@ var/const/access_bridge_crew = 74 desc = "Bridge Crew" region = ACCESS_REGION_COMMAND +/var/const/access_ship_weapons = 75 +/datum/access/access_ship_weapons + id = access_ship_weapons + desc = "Ship Weapons" + region = ACCESS_REGION_SUPPLY + /****************** * Central Command * ******************/ @@ -615,4 +621,4 @@ var/const/access_kataphract_knight = 114 /var/const/access_unathi_pirate = 210 /datum/access/access_unathi_pirate id = access_unathi_pirate - access_type = ACCESS_TYPE_CENTCOM \ No newline at end of file + access_type = ACCESS_TYPE_CENTCOM diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 48b1b05f220..2a126fc2b34 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -108,11 +108,11 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) outfit = /datum/outfit/job/xo - access = list(access_sec_doors, access_medical, access_engine, access_change_ids, access_eva, access_heads, + access = list(access_sec_doors, access_medical, access_engine, access_ship_weapons, access_change_ids, access_eva, access_heads, access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_crematorium, access_kitchen, access_hydroponics,access_chapel_office, access_library, access_research, access_mining, access_mailsorting, access_janitor, access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_weapons, access_journalist, access_bridge_crew, access_intrepid, access_teleporter) - minimal_access = list(access_sec_doors, access_medical, access_engine, access_change_ids, access_eva, access_heads, + minimal_access = list(access_sec_doors, access_medical, access_ship_weapons, access_engine, access_change_ids, access_eva, access_heads, access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_crematorium, access_kitchen, access_hydroponics, access_chapel_office, access_library, access_research, access_mining, access_mailsorting, access_janitor, access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_weapons, access_journalist, access_bridge_crew, access_intrepid, access_teleporter) diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 00f0259cc87..f2516b196c9 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -408,9 +408,9 @@ SPECIES_SKRELL_AXIORI = 70 ) - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_keycard_auth, access_RC_announce, access_heads, + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_ship_weapons, access_qm, access_mining, access_mining_station, access_keycard_auth, access_RC_announce, access_heads, access_sec_doors, access_research, access_medical, access_robotics, access_engine, access_teleporter, access_eva, access_intrepid) - minimal_access = list(access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_keycard_auth, access_RC_announce, access_heads, + minimal_access = list(access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_ship_weapons, access_mining_station, access_keycard_auth, access_RC_announce, access_heads, access_sec_doors, access_research, access_medical, access_robotics, access_engine, access_teleporter, access_eva, access_intrepid) ideal_character_age = list( @@ -465,8 +465,8 @@ SPECIES_SKRELL_AXIORI = 50 ) - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) - minimal_access = list(access_cargo, access_cargo_bot, access_mailsorting) + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_ship_weapons, access_cargo_bot, access_mining, access_mining_station) + minimal_access = list(access_cargo, access_cargo_bot, access_ship_weapons, access_mailsorting) outfit = /datum/outfit/job/hangar_tech blacklisted_species = list(SPECIES_VAURCA_BREEDER) @@ -506,7 +506,7 @@ SPECIES_SKRELL_AXIORI = 50 ) - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_mining, access_mining_station) minimal_access = list(access_mining, access_mining_station, access_mailsorting) outfit = /datum/outfit/job/mining diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index b0d5608acf0..6523b6fd215 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -25,11 +25,11 @@ access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, - access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, access_leviathan, + access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, access_leviathan, access_ship_weapons, access_heads, access_construction, access_sec_doors, access_research, access_medical, access_mining, access_mailsorting, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload, access_it, access_intrepid, access_network) minimal_access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, - access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, access_leviathan, + access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, access_leviathan, access_ship_weapons, access_heads, access_construction, access_sec_doors, access_research, access_medical, access_mining, access_mailsorting, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload, access_it, access_bridge_crew, access_intrepid, access_network) minimal_player_age = 7 @@ -90,8 +90,8 @@ SPECIES_SKRELL_AXIORI = 60 ) - access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_leviathan) - minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_leviathan) + access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_ship_weapons, access_external_airlocks, access_construction, access_atmospherics, access_leviathan) + minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_ship_weapons, access_external_airlocks, access_construction, access_leviathan) outfit = /datum/outfit/job/engineer blacklisted_species = list(SPECIES_VAURCA_BREEDER) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 5c8a03cac4e..75e52ce2f06 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -18,11 +18,11 @@ ) access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, - access_pharmacy, access_virology, access_cmo, access_surgery, access_RC_announce, access_engine, access_construction, + access_pharmacy, access_virology, access_cmo, access_surgery, access_RC_announce, access_engine, access_ship_weapons, access_construction, access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, access_research, access_mining, access_mailsorting, access_first_responder, access_maint_tunnels, access_intrepid, access_teleporter) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, - access_pharmacy, access_virology, access_cmo, access_surgery, access_RC_announce, access_engine, access_construction, + access_pharmacy, access_virology, access_cmo, access_surgery, access_RC_announce, access_engine, access_ship_weapons, access_construction, access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, access_research, access_mining, access_mailsorting, access_first_responder, access_maint_tunnels, access_intrepid, access_teleporter) diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 1263b1e88af..e373a848df0 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -19,13 +19,13 @@ access = list( access_rd, access_heads, access_tox, access_genetics, access_morgue, access_eva, access_external_airlocks, access_tox_storage, - access_teleporter, access_sec_doors, access_medical, access_engine, access_construction, access_mining, access_mailsorting, access_research, + access_teleporter, access_sec_doors, access_medical, access_engine, access_ship_weapons, access_construction, access_mining, access_mailsorting, access_research, access_xenobiology, access_xenobotany, access_ai_upload, access_tech_storage, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network, access_maint_tunnels, access_it, access_intrepid ) minimal_access = list( access_rd, access_heads, access_tox, access_genetics, access_morgue, access_eva, access_external_airlocks, access_tox_storage, - access_teleporter, access_sec_doors, access_medical, access_engine, access_construction, access_mining, access_mailsorting, access_research, + access_teleporter, access_sec_doors, access_medical, access_engine, access_ship_weapons, access_construction, access_mining, access_mailsorting, access_research, access_xenobiology, access_xenobotany, access_ai_upload, access_tech_storage, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_xenoarch, access_network, access_maint_tunnels, access_it, access_intrepid ) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index b703ea3beb8..de64fdb717d 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -19,12 +19,12 @@ access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, - access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, + access_research, access_engine, access_ship_weapons, access_mining, access_medical, access_construction, access_mailsorting, access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks, access_weapons, access_intrepid, access_teleporter) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, - access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, + access_research, access_engine, access_ship_weapons, access_mining, access_medical, access_construction, access_mailsorting, access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway, access_external_airlocks, access_weapons, access_intrepid, access_teleporter) minimal_player_age = 14 diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index e0ebc1c9894..f2d799acc62 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -60,7 +60,7 @@ . = ..() wires = new(src) botcard = new(src) - botcard.access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) + botcard.access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_ship_weapons, access_qm, access_mining, access_mining_station) cell = new(src) cell.charge = 2000 cell.maxcharge = 2000 diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 1c926ee69bd..3de28a62c51 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -72,6 +72,7 @@ var/global/list/robot_modules = list( R.set_module_sprites(sprites) R.icon_selected = FALSE R.choose_icon() + R.update_access() // Make sure we do not miss any access changes to the borgs already spawned with a module /obj/item/robot_module/proc/handle_languages(var/mob/living/silicon/robot/R) return diff --git a/html/changelogs/Sindorman-access.yml b/html/changelogs/Sindorman-access.yml new file mode 100644 index 00000000000..d828f5e4df4 --- /dev/null +++ b/html/changelogs/Sindorman-access.yml @@ -0,0 +1,44 @@ +################################ +# 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 +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: PoZe + +# 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, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Added Ship Weapons access type for flak cannon, longbow, and Secure Ammunitions Storage. Roles that now have it: hangar technician, all head of staff, engineers." + - tweak: "Removed QM access from miner and hangar tech. Now they shouldn't be able to access QM's room." + - bugfix: "Fixed Access for the door that seperates AI upload lobby from research hallway, now cyborg's have access to it by default." + - bugfix: "Fixed AI shells's all station access." diff --git a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm index edea391c7ab..063ec56f75c 100644 --- a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm +++ b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm @@ -342,7 +342,7 @@ id_tag = "airlocks_deck2_ammostorage"; locked = 1; name = "Secure Ammunition Storage"; - req_one_access = list(10,20,34,60,74) + req_one_access = list(75) }, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -990,7 +990,7 @@ }, /obj/machinery/door/airlock/hatch{ name = "Ship Flak Munitions Bay"; - req_one_access = list(10,60,20,31) + req_one_access = list(75) }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, @@ -7685,7 +7685,7 @@ name = "Door Bolt Control"; pixel_x = -40; pixel_y = -7; - req_one_access = list(10,20,34,60,74); + req_one_access = list(75); specialfunctions = 4 }, /obj/machinery/button/remote/blast_door{ @@ -7694,7 +7694,7 @@ name = "Blast Door Control"; pixel_x = -40; pixel_y = 7; - req_one_access = list(10,20,34,60,74) + req_one_access = list(75) }, /turf/simulated/floor/tiled, /area/operations/lobby) @@ -9052,7 +9052,7 @@ }, /obj/machinery/door/airlock/multi_tile/glass{ name = "Research Hallway"; - req_access = list(47) + req_one_access = list(16,47) }, /obj/machinery/door/firedoor/multi_tile, /obj/effect/map_effect/door_helper/unres{ @@ -9196,10 +9196,10 @@ layer = 4; pixel_y = 32 }, -/mob/living/simple_animal/hostile/commanded/dog/columbo, /obj/structure/window/reinforced{ dir = 1 }, +/mob/living/simple_animal/hostile/commanded/dog/columbo, /turf/simulated/floor/carpet, /area/crew_quarters/heads/hos) "eEx" = ( @@ -12390,10 +12390,10 @@ name = "Ginny's Cage Access"; req_access = list(56) }, -/mob/living/simple_animal/carp/fluff/ginny, /obj/machinery/light{ dir = 1 }, +/mob/living/simple_animal/carp/fluff/ginny, /turf/simulated/floor/carpet, /area/crew_quarters/heads/chief) "ghX" = ( @@ -14224,7 +14224,7 @@ id_tag = "airlocks_deck2_ammostorage"; locked = 1; name = "Secure Ammunition Storage"; - req_one_access = list(10,20,34,60,74) + req_one_access = list(75) }, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -21481,7 +21481,7 @@ name = "Blast Door Control"; pixel_x = 40; pixel_y = 7; - req_one_access = list(10,20,34,60,74) + req_one_access = list(75) }, /obj/machinery/button/remote/airlock/screamer{ channel = "Command"; @@ -21491,7 +21491,7 @@ name = "Door Bolt Control"; pixel_x = 40; pixel_y = -7; - req_one_access = list(10,20,34,60,74); + req_one_access = list(75); specialfunctions = 4 }, /turf/simulated/floor/reinforced, @@ -24563,10 +24563,10 @@ "mmm" = ( /obj/machinery/mech_recharger, /obj/effect/floor_decal/industrial/outline/yellow, -/mob/living/heavy_vehicle/premade/ripley/loader, /obj/structure/railing/mapped{ dir = 8 }, +/mob/living/heavy_vehicle/premade/ripley/loader, /turf/simulated/floor/tiled/dark, /area/horizon/grauwolf) "mmS" = ( @@ -43922,7 +43922,7 @@ input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; - sensors = list("engine_sensor"="Engine Core") + sensors = list("engine_sensor" = "Engine Core") }, /obj/machinery/camera/network/engineering{ c_tag = "Engineering - Supermatter Reactor Monitoring"; diff --git a/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm b/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm index 7b240748f07..fca809e137a 100644 --- a/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm +++ b/maps/sccv_horizon/sccv_horizon-3_deck_3.dmm @@ -25779,7 +25779,7 @@ /obj/machinery/door/airlock/command{ id_tag = null; name = "Direct Fire Artillery System"; - req_one_access = list(10,19,31) + req_one_access = list(75) }, /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/hatch/yellow,