diff --git a/code/__defines/jobs.dm b/code/__defines/jobs.dm index 7df456a818b..ac470b8ff02 100644 --- a/code/__defines/jobs.dm +++ b/code/__defines/jobs.dm @@ -5,7 +5,7 @@ #define CIVILIAN_ROLES list(/datum/job/assistant, /datum/job/visitor, /datum/job/passenger) #define OPERATIONS_ROLES list(/datum/job/hangar_tech, /datum/job/mining, /datum/job/machinist) #define MEDICAL_ROLES list(/datum/job/doctor, /datum/job/surgeon, /datum/job/pharmacist, /datum/job/psychiatrist, /datum/job/med_tech, /datum/job/intern_med) -#define SCIENCE_ROLES list(/datum/job/scientist, /datum/job/xenobiologist, /datum/job/intern_sci) +#define SCIENCE_ROLES list(/datum/job/scientist, /datum/job/xenobiologist, /datum/job/xenobotanist, /datum/job/intern_sci) #define SECURITY_ROLES list(/datum/job/warden, /datum/job/investigator, /datum/job/officer, /datum/job/intern_sec) #define EQUIPMENT_ROLES list(/datum/job/ai, /datum/job/cyborg) #define INDEP_ROLES list(/datum/job/merchant, /datum/job/passenger, /datum/job/consular, /datum/job/journalist, /datum/job/chaplain) diff --git a/code/datums/uplink/specialty.dm b/code/datums/uplink/specialty.dm index f2dd665e641..400747726fb 100644 --- a/code/datums/uplink/specialty.dm +++ b/code/datums/uplink/specialty.dm @@ -25,6 +25,7 @@ Quick and easy list of all the occupations for farther expansion and addition. /datum/job/rd /datum/job/scientist /datum/job/xenobiologist +/datum/job/xenobotanist /datum/job/roboticist /datum/job/geneticist /datum/job/hos diff --git a/code/game/jobs/access_datum.dm b/code/game/jobs/access_datum.dm index 169b3567b3a..8faac5bdbf3 100644 --- a/code/game/jobs/access_datum.dm +++ b/code/game/jobs/access_datum.dm @@ -303,7 +303,11 @@ region = ACCESS_REGION_SUPPLY // /var/const/free_access_id = 51 -// /var/const/free_access_id = 52 +/var/const/access_xenobotany = 52 +/datum/access/xenobotany + id = access_xenobotany + desc = "Xenobotany" + region = ACCESS_REGION_RESEARCH /var/const/access_heads_vault = 53 /datum/access/heads_vault diff --git a/code/game/jobs/faction/zavodskoi.dm b/code/game/jobs/faction/zavodskoi.dm index b4c27ad69de..9cd3cdb299e 100644 --- a/code/game/jobs/faction/zavodskoi.dm +++ b/code/game/jobs/faction/zavodskoi.dm @@ -71,7 +71,7 @@ "Investigator" =/datum/outfit/job/forensics/zavodskoi, "Scientist" = /datum/outfit/job/scientist/zavodskoi, "Xenobiologist" = /datum/outfit/job/scientist/xenobiologist/zavodskoi, - "Xenobotanist" = /datum/outfit/job/scientist/xenobiologist/botany/zavodskoi, + "Xenobotanist" = /datum/outfit/job/scientist/xenobotanist/zavodskoi, "Lab Assistant" = /datum/outfit/job/intern_sci/zavodskoi, "Xenoarcheologist"= /datum/outfit/job/scientist/xenoarcheologist/zavodskoi, "Engineer" = /datum/outfit/job/engineer/zavodskoi, @@ -122,7 +122,7 @@ suit = /obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi id = /obj/item/card/id/zavodskoi -/datum/outfit/job/scientist/xenobiologist/botany/zavodskoi +/datum/outfit/job/scientist/xenobotanist/zavodskoi name = "Xenobotanist - Zavodskoi Interstellar" uniform = /obj/item/clothing/under/rank/scientist/botany/zavod diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm index ba8cf196a67..1a507882b65 100644 --- a/code/game/jobs/faction/zeng_hu.dm +++ b/code/game/jobs/faction/zeng_hu.dm @@ -54,7 +54,7 @@ "Medical Intern" = /datum/outfit/job/intern_med/zeng_hu, "Scientist" = /datum/outfit/job/scientist/zeng_hu, "Xenobiologist" = /datum/outfit/job/scientist/xenobiologist/zeng_hu, - "Xenobotanist" = /datum/outfit/job/scientist/xenobiologist/botany/zeng_hu, + "Xenobotanist" = /datum/outfit/job/scientist/xenobotanist/zeng_hu, "Lab Assistant" = /datum/outfit/job/intern_sci/zeng_hu, "Xenoarcheologist"= /datum/outfit/job/scientist/xenoarcheologist/zeng_hu, "Corporate Liaison" = /datum/outfit/job/representative/zeng_hu @@ -120,7 +120,7 @@ suit = /obj/item/clothing/suit/storage/toggle/labcoat/zeng/alt id = /obj/item/card/id/zeng_hu -/datum/outfit/job/scientist/xenobiologist/botany/zeng_hu +/datum/outfit/job/scientist/xenobotanist/zeng_hu name = "Xenobotanist - Zeng-Hu" uniform = /obj/item/clothing/under/rank/scientist/botany/zeng diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index a73a21f2f34..e75f3732419 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -19,12 +19,12 @@ 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_research, access_xenobiology, access_ai_upload, access_tech_storage, + 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_research, access_xenobiology, access_ai_upload, access_tech_storage, + 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) minimal_player_age = 14 @@ -122,8 +122,8 @@ departments = SIMPLEDEPT(DEPARTMENT_SCIENCE) department_flag = MEDSCI faction = "Station" - total_positions = 3 - spawn_positions = 2 + total_positions = 1 + spawn_positions = 1 supervisors = "the research director" selection_color = "#a44799" economic_modifier = 7 @@ -136,12 +136,10 @@ access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology) minimal_access = list(access_research, access_xenobiology, access_tox_storage) - alt_titles = list("Xenobotanist") minimal_player_age = 14 outfit = /datum/outfit/job/scientist/xenobiologist - alt_outfits = list("Xenobotanist" = /datum/outfit/job/scientist/xenobiologist/botany) /datum/outfit/job/scientist/xenobiologist name = "Xenobiologist" @@ -149,9 +147,36 @@ jobtype = /datum/job/xenobiologist tab_pda = /obj/item/modular_computer/handheld/pda/research -/datum/outfit/job/scientist/xenobiologist/botany +/datum/job/xenobotanist + title = "Xenobotanist" + flag = XENOBOTANIST + departments = SIMPLEDEPT(DEPARTMENT_SCIENCE) + department_flag = MEDSCI + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the research director" + selection_color = "#a44799" + economic_modifier = 7 + + minimum_character_age = list( + SPECIES_HUMAN = 30, + SPECIES_SKRELL = 60, + SPECIES_SKRELL_AXIORI = 60 + ) + + access = list(access_tox_storage, access_research, access_xenobotany, access_robotics, access_tox) + minimal_access = list(access_tox_storage, access_research, access_xenobotany) + + minimal_player_age = 14 + + outfit = /datum/outfit/job/scientist/xenobotanist + +/datum/outfit/job/scientist/xenobotanist name = "Xenobotanist" uniform = /obj/item/clothing/under/rank/scientist/botany + jobtype = /datum/job/xenobotanist + tab_pda = /obj/item/modular_computer/handheld/pda/research /datum/job/intern_sci title = "Lab Assistant" diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 3d0cf499911..79700f0c733 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -34,6 +34,7 @@ var/const/XENOBIOLOGIST =(1<<9) var/const/MED_TECH =(1<<10) var/const/INTERN_MED =(1<<11) var/const/INTERN_SCI =(1<<12) +var/const/XENOBOTANIST =(1<<13) // SERVICE var/const/SERVICE =(1<<2) @@ -87,6 +88,7 @@ var/list/science_positions = list( "Research Director", "Scientist", "Xenobiologist", + "Xenobotanist", "Lab Assistant" ) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index ba2d246861e..cb62b2f96f0 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -11,7 +11,7 @@ var/global/list/default_internal_channels = list( num2text(SEC_FREQ) = list(access_security), num2text(SEC_I_FREQ)=list(access_security), num2text(PEN_FREQ) = list(access_armory), - num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology), + num2text(SCI_FREQ) = list(access_tox,access_robotics,access_xenobiology,access_xenobotany), num2text(SUP_FREQ) = list(access_cargo), num2text(SRV_FREQ) = list(access_janitor, access_hydroponics) ) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index 56d7e85fa19..c6fa3d0c8b8 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -23,7 +23,7 @@ /obj/structure/closet/secure_closet/xenobotany name = "xenobotanist's locker" - req_access = list(access_xenobiology) + req_access = list(access_xenobotany) icon_state = "xenobot" /obj/structure/closet/secure_closet/xenobotany/fill() diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 62090991a9f..aeb58895d47 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -439,7 +439,7 @@ name = "secure hydroponics crate" desc = "A crate with a lock on it, painted in the scheme of the station's botanists." icon_state = "hydro_secure_crate" - req_one_access = list(access_hydroponics, access_xenobiology) + req_one_access = list(access_hydroponics, access_xenobotany) /obj/structure/closet/crate/secure/bin name = "secure bin" diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index 1bc19a001d4..f53182bf611 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -11,7 +11,7 @@ icon_state = "farmbot0" health = 50 maxHealth = 50 - req_one_access = list(access_hydroponics, access_robotics, access_xenobiology) + req_one_access = list(access_hydroponics, access_robotics, access_xenobotany) var/action = "" // Used to update icon var/waters_trays = TRUE diff --git a/config/example/access levels.txt b/config/example/access levels.txt index a52908802df..efe9e01f7a2 100644 --- a/config/example/access levels.txt +++ b/config/example/access levels.txt @@ -67,7 +67,7 @@ access_mining = 48 access_mining_office = 49 //not in use access_mailsorting = 50 access_mint = 51 -access_mint_vault = 52 +access_xenobotany = 52 access_heads_vault = 53 access_mining_station = 54 access_xenobiology = 55 diff --git a/html/changelogs/xenobotany_access.yml b/html/changelogs/xenobotany_access.yml new file mode 100644 index 00000000000..d0ab0c1bc15 --- /dev/null +++ b/html/changelogs/xenobotany_access.yml @@ -0,0 +1,6 @@ +author: SleepyGemmy + +delete-after: True + +changes: + - tweak: "The Xenobotanist role is now its own job and no longer an alt-title. Dedicated xenobotany access were added to them and their equipment." \ No newline at end of file diff --git a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm index c59e7a9e88a..3e27cec4b28 100644 --- a/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm +++ b/maps/sccv_horizon/sccv_horizon-2_deck_2.dmm @@ -4271,7 +4271,7 @@ /obj/effect/floor_decal/industrial/warning/full, /obj/machinery/door/airlock/glass_research{ name = "XenoBotanical Lab"; - req_access = list(55) + req_access = list(52) }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -14355,7 +14355,7 @@ /area/crew_quarters/kitchen/freezer) "hPH" = ( /obj/machinery/door/airlock/maintenance_hatch{ - req_access = list(55); + req_access = list(52); req_one_access = null }, /obj/machinery/door/firedoor, @@ -15792,7 +15792,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/airlock/research{ name = "XenoBotanical Contaiment"; - req_access = list(55) + req_access = list(52) }, /obj/structure/cable/green{ d1 = 1; @@ -19394,7 +19394,7 @@ }, /obj/machinery/door/airlock/research{ name = "XenoBotanical Contaiment"; - req_access = list(55) + req_access = list(52) }, /obj/structure/cable/green{ icon_state = "4-8" @@ -23814,7 +23814,7 @@ }, /obj/machinery/door/airlock/research{ name = "Hazardous Specimens"; - req_access = list(55) + req_access = list(52) }, /obj/structure/plasticflaps/airtight, /obj/structure/cable/green{