diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index c0c80c06f31..23b438cf1cf 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -162,7 +162,10 @@ else back = backpack //Department backpack if(back) - equip_item(H, back, slot_back) + if(isvaurca(H, TRUE)) + equip_item(H, back, slot_r_hand) + else + equip_item(H, back, slot_back) if(istype(H.back,/obj/item/storage/backpack)) var/obj/item/storage/backpack/B = H.back diff --git a/code/game/jobs/faction/eridani.dm b/code/game/jobs/faction/eridani.dm index 45aa73adabd..8f55e522bcd 100644 --- a/code/game/jobs/faction/eridani.dm +++ b/code/game/jobs/faction/eridani.dm @@ -59,6 +59,8 @@ SPECIES_DIONA_COEUS, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER, SPECIES_UNATHI ) ) diff --git a/code/game/jobs/faction/hephaestus.dm b/code/game/jobs/faction/hephaestus.dm index 623e6f9c2c3..817d85d4256 100644 --- a/code/game/jobs/faction/hephaestus.dm +++ b/code/game/jobs/faction/hephaestus.dm @@ -74,7 +74,8 @@ "Corporate Liaison" = list( SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, - SPECIES_VAURCA_BULWARK + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) diff --git a/code/game/jobs/faction/idris.dm b/code/game/jobs/faction/idris.dm index 641b57501d3..412d38d7fec 100644 --- a/code/game/jobs/faction/idris.dm +++ b/code/game/jobs/faction/idris.dm @@ -67,7 +67,9 @@ SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) diff --git a/code/game/jobs/faction/nanotrasen.dm b/code/game/jobs/faction/nanotrasen.dm index ff3e94950a0..2339e3f26bf 100644 --- a/code/game/jobs/faction/nanotrasen.dm +++ b/code/game/jobs/faction/nanotrasen.dm @@ -12,6 +12,7 @@ SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI ) diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm index 39a395f0a04..4123ab70cbc 100644 --- a/code/game/jobs/faction/zeng_hu.dm +++ b/code/game/jobs/faction/zeng_hu.dm @@ -77,7 +77,9 @@ SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 7c7f7c69e0a..612343ba670 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -13,7 +13,7 @@ access = list() //See /datum/job/assistant/get_access() minimal_access = list() //See /datum/job/assistant/get_access() outfit = /datum/outfit/job/assistant - blacklisted_species = null + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/job/assistant/get_access(selected_title) if(config.assistant_maint && selected_title == "Assistant") @@ -42,7 +42,7 @@ access = list() minimal_access = list() outfit = /datum/outfit/job/visitor - blacklisted_species = null + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/visitor name = "Visitor" diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 83493fe10f4..ac91be4b068 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -22,7 +22,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) outfit = /datum/outfit/job/captain - blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/captain name = "Captain" @@ -103,7 +103,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) access_chapel_office, access_library, access_research, access_mining, access_mining_station, access_janitor, access_hop, access_RC_announce, access_keycard_auth, access_gateway, access_weapons, access_journalist) - blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/hop name = "Head of Personnel" diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 384a3677ecb..d6b1b096150 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -16,6 +16,7 @@ minimal_access = list(access_bar) alt_titles = list("Barista") outfit = /datum/outfit/job/bartender + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/bartender name = "Bartender" @@ -51,6 +52,7 @@ minimal_access = list(access_kitchen) alt_titles = list("Cook") outfit = /datum/outfit/job/chef + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/chef name = "Chef" @@ -91,6 +93,7 @@ minimal_access = list(access_hydroponics) alt_titles = list("Hydroponicist") outfit = /datum/outfit/job/hydro + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/hydro name = "Gardener" @@ -145,6 +148,7 @@ ideal_character_age = 40 outfit = /datum/outfit/job/qm + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/qm name = "Quartermaster" @@ -181,6 +185,7 @@ 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) outfit = /datum/outfit/job/cargo_tech + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/cargo_tech name = "Cargo Technician" @@ -219,6 +224,7 @@ alt_titles = list("Drill Technician") alt_outfits = list("Drill Technician" = /datum/outfit/job/mining/drill) outfit = /datum/outfit/job/mining + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/mining name = "Shaft Miner" @@ -266,6 +272,7 @@ access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical) minimal_access = list(access_janitor, access_engine, access_research, access_sec_doors, access_medical) outfit = /datum/outfit/job/janitor + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/janitor name = "Janitor" @@ -302,7 +309,7 @@ alt_outfits = list("Freelance Journalist" = /datum/outfit/job/journalistf) title_accesses = list("Corporate Reporter" = list(access_medical, access_sec_doors, access_research, access_engine)) outfit = /datum/outfit/job/journalist - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/journalist name = "Corporate Reporter" @@ -356,6 +363,7 @@ alt_outfits = list("Curator" = /datum/outfit/job/librarian/curator, "Tech Support" = /datum/outfit/job/librarian/tech_support) title_accesses = list("Tech Support" = access_it) outfit = /datum/outfit/job/librarian + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/librarian name = "Librarian" diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 1e36cc0016e..556d5cfbd6e 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -13,6 +13,7 @@ minimal_access = list(access_morgue, access_chapel_office, access_crematorium) alt_titles = list("Presbyter","Rabbi","Imam","Priest","Shaman","Counselor") outfit = /datum/outfit/job/chaplain + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/chaplain name = "Chaplain" diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index c6acb6189f7..bf83084d85c 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -27,7 +27,7 @@ minimal_player_age = 7 outfit = /datum/outfit/job/chief_engineer - blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/chief_engineer name = "Chief Engineer" @@ -81,6 +81,8 @@ minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) outfit = /datum/outfit/job/engineer + blacklisted_species = list(SPECIES_VAURCA_BREEDER) + /datum/outfit/job/engineer name = "Engineer" jobtype = /datum/job/engineer @@ -132,6 +134,7 @@ access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks) minimal_access = list(access_eva, access_engine, access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks) outfit = /datum/outfit/job/atmos + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/atmos name = "Atmospheric Technician" @@ -180,6 +183,7 @@ access = list(access_maint_tunnels, access_construction, access_engine_equip, access_engine) minimal_access = list(access_maint_tunnels, access_construction, access_engine_equip, access_engine) outfit = /datum/outfit/job/intern_eng + blacklisted_species = list(SPECIES_VAURCA_BREEDER) minimum_character_age = 18 diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index fbe47e28174..e52dd8a3ec2 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -26,7 +26,7 @@ ideal_character_age = 50 outfit = /datum/outfit/job/cmo - blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/cmo name = "Chief Medical Officer" @@ -70,7 +70,7 @@ access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_eva) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_genetics, access_eva) outfit = /datum/outfit/job/doctor - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/job/surgeon title = "Surgeon" @@ -90,7 +90,7 @@ access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_eva) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_genetics, access_eva) outfit = /datum/outfit/job/doctor/surgeon - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/doctor name = "Physician" @@ -156,7 +156,7 @@ access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics) minimal_access = list(access_medical, access_medical_equip, access_pharmacy, access_virology) outfit = /datum/outfit/job/pharmacist - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/pharmacist name = "Pharmacist" @@ -200,7 +200,7 @@ alt_titles = list("Psychologist") outfit = /datum/outfit/job/psychiatrist alt_outfits = list("Psychologist" = /datum/outfit/job/psychiatrist/psycho) - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/psychiatrist name = "Psychiatrist" @@ -243,7 +243,7 @@ minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_eva, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_external_airlocks, access_first_responder) outfit = /datum/outfit/job/med_tech - blacklisted_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G2, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G2, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/med_tech name = "First Responder" @@ -286,7 +286,7 @@ minimal_access = list(access_medical, access_surgery, access_medical_equip) minimum_character_age = 18 outfit = /datum/outfit/job/intern_med - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/intern_med name = "Medical Intern" diff --git a/code/game/jobs/job/outsider/merchant.dm b/code/game/jobs/job/outsider/merchant.dm index f403eeb7181..073a70ab745 100644 --- a/code/game/jobs/job/outsider/merchant.dm +++ b/code/game/jobs/job/outsider/merchant.dm @@ -21,7 +21,7 @@ latejoin_at_spawnpoints = TRUE outfit = /datum/outfit/job/merchant - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/job/merchant/announce(mob/living/carbon/human/H) to_chat(H,"You are a merchant heading to the [station_name()] to make profit, your main objective is to sell and trade with the crew.") diff --git a/code/game/jobs/job/outsider/representative.dm b/code/game/jobs/job/outsider/representative.dm index f8e6d6d52ba..64a41d611b4 100644 --- a/code/game/jobs/job/outsider/representative.dm +++ b/code/game/jobs/job/outsider/representative.dm @@ -16,7 +16,7 @@ access = list(access_lawyer, access_maint_tunnels) minimal_access = list(access_lawyer) outfit = /datum/outfit/job/representative - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/representative name = "NanoTrasen Corporate Liaison" diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index 64b29175a4e..bf36fee96f0 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -27,7 +27,7 @@ ideal_character_age = 50 outfit = /datum/outfit/job/rd - blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/rd name = "Research Director" @@ -75,7 +75,7 @@ minimal_player_age = 14 outfit = /datum/outfit/job/scientist alt_outfits = list("Xenoarcheologist"=/datum/outfit/job/scientist/xenoarcheologist) - blacklisted_species = list(SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/scientist name = "Scientist" @@ -126,6 +126,7 @@ outfit = /datum/outfit/job/scientist/xenobiologist alt_outfits = list("Xenobotanist"=/datum/outfit/job/scientist/xenobiologist/xenobotanist) + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/scientist/xenobiologist name = "Xenobiologist" @@ -156,6 +157,7 @@ minimal_player_age = 7 outfit = /datum/outfit/job/roboticist + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/roboticist name = "Roboticist" @@ -204,6 +206,7 @@ access = list(access_research, access_tox) minimal_access = list(access_research, access_tox) outfit = /datum/outfit/job/intern_sci + blacklisted_species = list(SPECIES_VAURCA_BREEDER) /datum/outfit/job/intern_sci name = "Lab Assistant" diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index af49d307123..3284e920e68 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -26,7 +26,7 @@ minimal_player_age = 14 outfit = /datum/outfit/job/hos - blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G2, SPECIES_IPC_ZENGHU, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G2, SPECIES_IPC_ZENGHU, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/hos name = "Head of Security" @@ -89,7 +89,7 @@ minimal_player_age = 7 outfit = /datum/outfit/job/warden - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS) + blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) /datum/outfit/job/warden name = "Warden" @@ -145,7 +145,7 @@ minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_weapons) minimal_player_age = 3 outfit = /datum/outfit/job/forensics - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK) + blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) /datum/outfit/job/forensics name = "Investigator" @@ -200,7 +200,7 @@ minimal_player_age = 7 outfit = /datum/outfit/job/officer - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS) + blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) /datum/outfit/job/officer name = "Security Officer" @@ -252,7 +252,7 @@ outfit = /datum/outfit/job/intern_sec minimum_character_age = 18 - blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS) + blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) /datum/outfit/job/intern_sec name = "Security Cadet" diff --git a/code/modules/background/citizenship/human.dm b/code/modules/background/citizenship/human.dm index 85713ac3f1d..ead2ca892d0 100644 --- a/code/modules/background/citizenship/human.dm +++ b/code/modules/background/citizenship/human.dm @@ -9,7 +9,8 @@ job_species_blacklist = list( "Consular Officer" = list( SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK ) ) @@ -73,7 +74,9 @@ SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) @@ -127,7 +130,9 @@ SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) @@ -180,7 +185,9 @@ SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) diff --git a/code/modules/background/citizenship/ipc.dm b/code/modules/background/citizenship/ipc.dm index b05ab82791f..2a80f12ff60 100644 --- a/code/modules/background/citizenship/ipc.dm +++ b/code/modules/background/citizenship/ipc.dm @@ -25,7 +25,9 @@ SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) diff --git a/code/modules/background/citizenship/skrell.dm b/code/modules/background/citizenship/skrell.dm index 760b38b4852..87aaaa06d2a 100644 --- a/code/modules/background/citizenship/skrell.dm +++ b/code/modules/background/citizenship/skrell.dm @@ -27,7 +27,9 @@ SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) diff --git a/code/modules/background/citizenship/tajara.dm b/code/modules/background/citizenship/tajara.dm index 1280e4c87eb..660dbc14d3a 100644 --- a/code/modules/background/citizenship/tajara.dm +++ b/code/modules/background/citizenship/tajara.dm @@ -26,6 +26,8 @@ SPECIES_UNATHI, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI ) @@ -80,6 +82,8 @@ SPECIES_UNATHI, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI ) @@ -135,6 +139,8 @@ SPECIES_UNATHI, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI ) diff --git a/code/modules/background/citizenship/unathi.dm b/code/modules/background/citizenship/unathi.dm index 4fb7ec4f7e8..9508bda1a18 100644 --- a/code/modules/background/citizenship/unathi.dm +++ b/code/modules/background/citizenship/unathi.dm @@ -26,7 +26,9 @@ SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, - SPECIES_VAURCA_WARRIOR + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK, + SPECIES_VAURCA_BREEDER ) ) diff --git a/code/modules/background/citizenship/vaurca.dm b/code/modules/background/citizenship/vaurca.dm index ff24a0d6b2e..022a5eedaf4 100644 --- a/code/modules/background/citizenship/vaurca.dm +++ b/code/modules/background/citizenship/vaurca.dm @@ -26,7 +26,10 @@ SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, - SPECIES_UNATHI + SPECIES_UNATHI, + SPECIES_VAURCA_WORKER, + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK ) ) @@ -45,8 +48,7 @@ "Sell [rand(3,6)] copies of the Tau Ceti Foreign Legion pamphlets, 10 credits each") else rep_objectives = pick("Question Non-Vaurcan employees about Vaurcan employees, looking for areas of improvement", - "Protect and promote the public image of the Zo'ra hive to all Nanotrasen employees", - "Question Non-Vaurcan employees about Vaurcan employees, looking for areas of improvement") + "Protect and promote the public image of the Zo'ra hive to all Nanotrasen employees") return rep_objectives @@ -56,35 +58,157 @@ uniform = /obj/item/clothing/under/gearharness glasses = null - l_hand = null - - backpack_contents = list() - + head = /obj/item/clothing/head/vaurca_breeder + shoes = /obj/item/clothing/shoes/vaurca/breeder + mask = /obj/item/clothing/mask/breath/vaurca/filter + suit = /obj/item/clothing/suit/vaurca/breeder /datum/outfit/job/representative/consular/zora/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) if(H && !visualsOnly) if(isvaurca(H)) - var/r = H.r_skin - var/g = H.g_skin - var/b = H.b_skin - - H.set_species(SPECIES_VAURCA_BREEDER) - - H.unEquip(H.back) - H.unEquip(H.shoes) - qdel(H.wear_mask) H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath/vaurca/filter(H), slot_wear_mask) - var/obj/item/organ/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE] - H.internal = preserve - H.internals.icon_state = "internal1" - H.equip_to_slot_or_del(new /obj/item/clothing/head/vaurca_breeder(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/vaurca/breeder(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/vaurca/breeder(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/storage/box/tcfl_pamphlet(H), slot_in_backpack) - H.change_skin_color(r, g, b) - H.update_dna() addtimer(CALLBACK(src, .proc/send_representative_mission, H), 5 MINUTES) return TRUE + +/datum/citizenship/klax + name = CITIZENSHIP_KLAX + description = "The second Hive discovered by humanity, Hiveship, Klo’zxera, appeared in the Skrellian system of Glorashi. \ + K’lax is known as a client state of the Zo’ra, but since the Exodus from Sedantis they have struggled for political independence. \ + Now parting their own ways, both Hives have developed differently. the K’lax became the newest vassal of the Izweski Nation, and have largely settled in Tret. \ + They maintain subtly warm, if terse relations with the Hegemony as a whole, and have committed to its terraforming agenda, being instrumental in the implementation of such a monumental undertaking. \ + The K’lax are the most technologically developed Hive, and are leading the way in reconstructing the species’ superior technology." + consular_outfit = /datum/outfit/job/representative/consular/klax + + job_species_blacklist = list( + "Consular Officer" = list( + SPECIES_HUMAN, + SPECIES_HUMAN_OFFWORLD, + SPECIES_IPC, + SPECIES_IPC_BISHOP, + SPECIES_IPC_G1, + SPECIES_IPC_G2, + SPECIES_IPC_SHELL, + SPECIES_IPC_UNBRANDED, + SPECIES_IPC_XION, + SPECIES_IPC_ZENGHU, + SPECIES_DIONA, + SPECIES_SKRELL, + SPECIES_SKRELL_AXIORI, + SPECIES_TAJARA, + SPECIES_TAJARA_MSAI, + SPECIES_TAJARA_ZHAN, + SPECIES_UNATHI, + SPECIES_VAURCA_WORKER, + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK + ) + ) + +/datum/citizenship/klax/get_objectives(mission_level, var/mob/living/carbon/human/H) + var/rep_objectives + + switch(mission_level) + if(REPRESENTATIVE_MISSION_HIGH) + rep_objectives = pick("Collect evidence of Nanotrasen being unfair or bigoted to Vaurca employees, to be used as leverage in future hive labor negotiations", + "Develop a metric to grade the performance of different Vaurca broods that share a job") + + if(REPRESENTATIVE_MISSION_MEDIUM) + rep_objectives = pick("Assist K'lax Nanotrasen personnel in their avowal process", + "Promote [rand(3,6)] amount of K'laxan products, be it energy drinks or merchandise") + else + rep_objectives = pick("Question Non-Vaurcan employees about Vaurcan employees, looking for areas of improvement", + "Protect and promote the public image of the K'lax hive to all Nanotrasen employees") + + return rep_objectives + +/datum/outfit/job/representative/consular/klax + name = "K'lax Consular Officer" + + uniform = /obj/item/clothing/under/gearharness + + glasses = null + head = /obj/item/clothing/head/klax_breeder + shoes = /obj/item/clothing/shoes/vaurca/breeder_klax + mask = /obj/item/clothing/mask/breath/vaurca/filter + suit = /obj/item/clothing/suit/vaurca/breeder_klax + +/datum/outfit/job/representative/consular/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(H && !visualsOnly) + if(isvaurca(H)) + + H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec_klax(H), slot_back) + + addtimer(CALLBACK(src, .proc/send_representative_mission, H), 5 MINUTES) + return TRUE + +/datum/citizenship/cthur + name = CITIZENSHIP_CTHUR + description = "They are the third Hive that has developed relationships with other sophonts of the Orion Spur. \ + While their arrival was kept in secret by the Jargon Federation, the revelation has reignited diplomatic disputes between K’lax and C’thur, with outright hostility met by the K’lax towards the C’thur. \ + Unlike all other hives, the C’thur are led by their original Hive Queen, who, with a council of three other Lesser Queens, leads the Hive in this new age. \ + In this effort, the Hive has begun dealing with the multitude of governments and corporations of the galaxy, all under the auspices of their Skrellian saviors. \ + The C’thur are the most economically developed hive, having stakes in Einstein Engines and Zeng-Hu Pharmaceuticals." + consular_outfit = /datum/outfit/job/representative/consular/cthur + + job_species_blacklist = list( + "Consular Officer" = list( + SPECIES_HUMAN, + SPECIES_HUMAN_OFFWORLD, + SPECIES_IPC, + SPECIES_IPC_BISHOP, + SPECIES_IPC_G1, + SPECIES_IPC_G2, + SPECIES_IPC_SHELL, + SPECIES_IPC_UNBRANDED, + SPECIES_IPC_XION, + SPECIES_IPC_ZENGHU, + SPECIES_DIONA, + SPECIES_SKRELL, + SPECIES_SKRELL_AXIORI, + SPECIES_TAJARA, + SPECIES_TAJARA_MSAI, + SPECIES_TAJARA_ZHAN, + SPECIES_UNATHI, + SPECIES_VAURCA_WORKER, + SPECIES_VAURCA_WARRIOR, + SPECIES_VAURCA_BULWARK + ) + ) + +/datum/citizenship/cthur/get_objectives(mission_level, var/mob/living/carbon/human/H) + var/rep_objectives + + switch(mission_level) + if(REPRESENTATIVE_MISSION_HIGH) + rep_objectives = pick("Collect evidence of Nanotrasen being unfair or bigoted to Vaurca employees, to be used as leverage in future hive labor negotiations", + "Develop a metric to grade the performance of different Vaurca broods that share a job") + + if(REPRESENTATIVE_MISSION_MEDIUM) + rep_objectives = pick("Assist C'thur Nanotrasen personnel in their avowal process", + "Promote [rand(3,6)] amount of C'thuric products, be it energy drinks or merchandise") + else + rep_objectives = pick("Question Non-Vaurcan employees about Vaurcan employees, looking for areas of improvement", + "Protect and promote the public image of the C'thur hive to all Nanotrasen employees") + + return rep_objectives + +/datum/outfit/job/representative/consular/cthur + name = "C'thur Consular Officer" + + uniform = /obj/item/clothing/under/gearharness + + glasses = null + head = /obj/item/clothing/head/cthur_breeder + shoes = /obj/item/clothing/shoes/vaurca/breeder_cthur + mask = /obj/item/clothing/mask/breath/vaurca/filter + suit = /obj/item/clothing/suit/vaurca/breeder_cthur + +/datum/outfit/job/representative/consular/cthur/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + if(H && !visualsOnly) + if(isvaurca(H)) + H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec_cthur(H), slot_back) + addtimer(CALLBACK(src, .proc/send_representative_mission, H), 5 MINUTES) + return TRUE \ No newline at end of file diff --git a/code/modules/background/defines.dm b/code/modules/background/defines.dm index 12dc9320f97..fe40c2307e8 100644 --- a/code/modules/background/defines.dm +++ b/code/modules/background/defines.dm @@ -15,6 +15,8 @@ #define CITIZENSHIP_NKA "New Kingdom of Adhomai" #define CITIZENSHIP_ZORA "Zo'ra Hive" +#define CITIZENSHIP_KLAX "K'lax Hive" +#define CITIZENSHIP_CTHUR "C'thur Hive" #define CITIZENSHIP_NONE "None" #define CITIZENSHIP_GOLDEN "Golden Deep" diff --git a/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm index 061a159f431..ea15b0290c3 100644 --- a/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm +++ b/code/modules/mob/living/carbon/human/species/station/vaurca/vaurca_subspecies.dm @@ -61,6 +61,9 @@ break_cuffs = TRUE mob_size = 30 + age_max = 1000 + economic_modifier = 3 + speech_sounds = list('sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg') speech_chance = 100 @@ -75,7 +78,8 @@ sprint_cost_factor = 0.80 stamina_recovery = 3 - spawn_flags = IS_RESTRICTED + allowed_citizenships = list(CITIZENSHIP_ZORA, CITIZENSHIP_KLAX, CITIZENSHIP_CTHUR, CITIZENSHIP_IZWESKI, CITIZENSHIP_BIESEL, CITIZENSHIP_ERIDANI, CITIZENSHIP_JARGON) + flags = NO_SCAN | NO_SLIP | NO_ARTERIES | PHORON_IMMUNE inherent_verbs = list( diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 3100575bd65..8c52aa1c5d1 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -86,20 +86,30 @@ return 1 return 0 -/proc/isvaurca(A) +/proc/isvaurca(A, var/isbreeder = FALSE) if(istype(A, /mob/living/carbon/human)) switch(A:get_species()) if(SPECIES_VAURCA_WORKER) + if(isbreeder) + return FALSE return TRUE if(SPECIES_VAURCA_WARRIOR) + if(isbreeder) + return FALSE return TRUE if(SPECIES_VAURCA_BREEDER) return TRUE if(SPECIES_VAURCA_BULWARK) + if(isbreeder) + return FALSE return TRUE if(SPECIES_VAURCA_WARFORM) + if(isbreeder) + return FALSE return TRUE if(SPECIES_MONKEY_VAURCA) + if(isbreeder) + return FALSE return TRUE return FALSE diff --git a/html/changelogs/VaurcaBreederVis.yml b/html/changelogs/VaurcaBreederVis.yml new file mode 100644 index 00000000000..4b1ca0010df --- /dev/null +++ b/html/changelogs/VaurcaBreederVis.yml @@ -0,0 +1,6 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - rscadd: "Vaurca breeders are now selectable for those with vaurca whitelist. They can be K'lax, C'thur and Zo'ra consulars only."