From 8ceefde494f58eefb682ade9844f5024dd3a57bc Mon Sep 17 00:00:00 2001 From: Alberyk Date: Wed, 24 Jul 2019 19:15:21 -0300 Subject: [PATCH] Replaces the IAA with the Representative job (#6752) This pr does what is suggested in this thread: https://forums.aurorastation.org/topic/12395-iaa-rework-representatives/ --- aurorastation.dme | 1 + .../subsystems/initialization/atlas.dm | 2 +- code/game/antagonist/outsider/legion.dm | 2 +- code/game/jobs/access_datum.dm | 4 +- code/game/jobs/faction/eridani.dm | 18 +- code/game/jobs/faction/faction.dm | 15 + code/game/jobs/faction/hephaestus.dm | 14 +- code/game/jobs/faction/idris.dm | 14 +- code/game/jobs/faction/nanotrasen.dm | 18 + code/game/jobs/faction/necropolis.dm | 14 +- code/game/jobs/faction/unaffiliated.dm | 3 +- code/game/jobs/faction/zeng_hu.dm | 14 +- code/game/jobs/job/civilian.dm | 588 +++++++++--------- code/game/jobs/job/outsider/representative.dm | 179 ++++++ code/game/jobs/jobs.dm | 4 +- .../objects/items/devices/radio/headset.dm | 6 +- .../objects/items/weapons/storage/boxes.dm | 62 +- code/modules/cciaa/cciaa.dm | 2 +- .../loadout/loadout_accessories.dm | 2 +- code/modules/clothing/head/jobs.dm | 5 + code/modules/clothing/suits/jobs.dm | 4 +- .../clothing/under/accessories/accessory.dm | 24 + .../clothing/under/accessories/badges.dm | 262 ++++---- code/modules/clothing/under/jobs/civilian.dm | 6 +- code/modules/library/lib_items.dm | 7 + code/modules/paperwork/faxmachine.dm | 6 +- html/changelogs/alberyk-noiaa.yml | 6 + icons/mob/ties.dmi | Bin 55536 -> 55592 bytes icons/obj/clothing/ties.dmi | Bin 44020 -> 45752 bytes icons/obj/library.dmi | Bin 27414 -> 27669 bytes maps/_common/areas/station/civilian.dm | 2 +- maps/aurora/aurora-1_centcomm.dmm | 266 +++++--- maps/aurora/aurora-4_mainlevel.dmm | 454 +++++++------- 33 files changed, 1223 insertions(+), 781 deletions(-) create mode 100644 code/game/jobs/job/outsider/representative.dm create mode 100644 html/changelogs/alberyk-noiaa.yml diff --git a/aurorastation.dme b/aurorastation.dme index c82ca4cc71c..839227f8e03 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -509,6 +509,7 @@ #include "code\game\jobs\job\security.dm" #include "code\game\jobs\job\silicon.dm" #include "code\game\jobs\job\outsider\merchant.dm" +#include "code\game\jobs\job\outsider\representative.dm" #include "code\game\machinery\adv_med.dm" #include "code\game\machinery\ai_slipper.dm" #include "code\game\machinery\alarm.dm" diff --git a/code/controllers/subsystems/initialization/atlas.dm b/code/controllers/subsystems/initialization/atlas.dm index c4876d0146b..9e9f1bd29e3 100644 --- a/code/controllers/subsystems/initialization/atlas.dm +++ b/code/controllers/subsystems/initialization/atlas.dm @@ -138,7 +138,7 @@ var/datum/controller/subsystem/atlas/SSatlas admin_departments = list( "[current_map.boss_name]", - "[current_map.system_name] Government", + "External Routing", "Supply" ) diff --git a/code/game/antagonist/outsider/legion.dm b/code/game/antagonist/outsider/legion.dm index f2098c54d7a..79db14eb08f 100644 --- a/code/game/antagonist/outsider/legion.dm +++ b/code/game/antagonist/outsider/legion.dm @@ -6,7 +6,7 @@ var/datum/antagonist/legion/legion role_text = "Tau Ceti Foreign Legion Volunteer" role_text_plural = "Tau Ceti Foreign Legion Volunteers" welcome_text = "As member of the Tau Ceti Foreign Legion, you answer to your leader and NanoTrasen officials." - leader_welcome_text = "As leader of the Tau Ceti Foreign Legion Team, you answer only to the Tau Ceti goverment and NanoTrasen officials. It is recommended that you attempt to cooperate with the captain and the crew when possible." + leader_welcome_text = "As leader of the Tau Ceti Foreign Legion Team, you answer only to the Tau Ceti government and NanoTrasen officials. It is recommended that you attempt to cooperate with the captain and the crew when possible." landmark_id = "Tau Ceti Legion" id_type = /obj/item/weapon/card/id/legion diff --git a/code/game/jobs/access_datum.dm b/code/game/jobs/access_datum.dm index 108b006c2bc..bc382e7ee40 100644 --- a/code/game/jobs/access_datum.dm +++ b/code/game/jobs/access_datum.dm @@ -240,8 +240,8 @@ /var/const/access_lawyer = 38 /datum/access/lawyer id = access_lawyer - desc = "Internal Affairs" - region = ACCESS_REGION_COMMAND + desc = "Representative" + region = ACCESS_TYPE_CENTCOM /var/const/access_virology = 39 /datum/access/virology diff --git a/code/game/jobs/faction/eridani.dm b/code/game/jobs/faction/eridani.dm index 2177c0c3e4c..6f249f473cb 100644 --- a/code/game/jobs/faction/eridani.dm +++ b/code/game/jobs/faction/eridani.dm @@ -26,7 +26,8 @@ /datum/job/officer, /datum/job/warden, /datum/job/forensics, - /datum/job/paramedic + /datum/job/paramedic, + /datum/job/representative ) allowed_species_types = list( @@ -41,21 +42,34 @@ "Security Officer" = /datum/outfit/job/officer/eridani, "Warden" = /datum/outfit/job/warden/eridani, "Forensic Technician" = /datum/outfit/job/forensics/eridani, - "Paramedic" = /datum/outfit/job/paramedic/eridani + "Paramedic" = /datum/outfit/job/paramedic/eridani, + "Corporate Liaison" = /datum/outfit/job/representative/eridani ) /datum/outfit/job/officer/eridani + name = "Security Officer - Eridani" uniform = /obj/item/clothing/under/rank/security/eridani id = /obj/item/weapon/card/id/eridani /datum/outfit/job/warden/eridani + name = "Warden - Eridani" uniform = /obj/item/clothing/under/rank/security/eridani id = /obj/item/weapon/card/id/eridani /datum/outfit/job/forensics/eridani + name = "Forensic Technician - Eridani" uniform = /obj/item/clothing/under/rank/security/eridani id = /obj/item/weapon/card/id/eridani /datum/outfit/job/paramedic/eridani + name = "Paramedic - Eridani" uniform = /obj/item/clothing/under/rank/security/eridani/alt id = /obj/item/weapon/card/id/eridani + +/datum/outfit/job/representative/eridani + name = "Corporate Liaison - Eridani" + uniform = /obj/item/clothing/under/rank/security/eridani/alt + head = null + suit = null + implants = null + id = /obj/item/weapon/card/id/eridani \ No newline at end of file diff --git a/code/game/jobs/faction/faction.dm b/code/game/jobs/faction/faction.dm index 2ef0414ad6e..05a5ea59bb5 100644 --- a/code/game/jobs/faction/faction.dm +++ b/code/game/jobs/faction/faction.dm @@ -46,3 +46,18 @@ /datum/faction/proc/get_logo_name() return "faction_[title_suffix].png" + +/datum/faction/proc/get_corporate_objectives(var/mission_level) + var/objective + switch(mission_level) + if("high") + objective = pick("Assist your contractor in smuggling [rand(1,4)] items of value", + "Collect evidence of Nanotrasen being unfair or oppressive against your contractors to be used as leverage in future talks") + if("medium") + objective = pick("Convince [rand(1,3)] of NT employees to join your own company", + "Have [rand(1,3)] of your contractors write down their grievances with the company, and present the report to station command.") + else + objective = pick("Collect [rand(3,7)] pictures of secure station areas", + "Make sure that [rand(2,4)] complaints related to contractors are solved on the station") + + return objective \ No newline at end of file diff --git a/code/game/jobs/faction/hephaestus.dm b/code/game/jobs/faction/hephaestus.dm index 225bdadf221..0a5d3b5b228 100644 --- a/code/game/jobs/faction/hephaestus.dm +++ b/code/game/jobs/faction/hephaestus.dm @@ -34,7 +34,8 @@ /datum/job/scientist, /datum/job/roboticist, /datum/job/mining, - /datum/job/cargo_tech + /datum/job/cargo_tech, + /datum/job/representative ) allowed_species_types = list( @@ -51,7 +52,8 @@ "Scientist" = /datum/outfit/job/scientist/hephaestus, "Roboticist" = /datum/outfit/job/roboticist/hephaestus, "Miner" = /datum/outfit/job/mining/hephaestus, - "Cargo Technician" = /datum/outfit/job/cargo_tech/hephaestus + "Cargo Technician" = /datum/outfit/job/cargo_tech/hephaestus, + "Corporate Liaison" = /datum/outfit/job/representative/hephaestus ) /datum/outfit/job/engineer/hephaestus @@ -83,3 +85,11 @@ name = "Cargo Technician - Hephaestus" uniform = /obj/item/clothing/under/rank/hephaestus id = /obj/item/weapon/card/id/hephaestus + +/datum/outfit/job/representative/hephaestus + name = "Corporate Liaison - Hephaestus" + uniform = /obj/item/clothing/under/rank/hephaestus + head = null + suit = null + implants = null + id = /obj/item/weapon/card/id/hephaestus diff --git a/code/game/jobs/faction/idris.dm b/code/game/jobs/faction/idris.dm index 846f2fdc860..0c481e95d6d 100644 --- a/code/game/jobs/faction/idris.dm +++ b/code/game/jobs/faction/idris.dm @@ -36,7 +36,8 @@ /datum/job/bartender, /datum/job/chef, /datum/job/hydro, - /datum/job/cargo_tech + /datum/job/cargo_tech, + /datum/job/representative ) allowed_species_types = list( @@ -51,7 +52,8 @@ "Bartender" = /datum/outfit/job/bartender/idris, "Chef" = /datum/outfit/job/chef/idris, "Gardener" = /datum/outfit/job/hydro/idris, - "Cargo Technician" = /datum/outfit/job/cargo_tech/idris + "Cargo Technician" = /datum/outfit/job/cargo_tech/idris, + "Corporate Liaison" = /datum/outfit/job/representative/idris ) /datum/outfit/job/officer/idris @@ -78,3 +80,11 @@ name = "Cargo Technician - Idris" uniform = /obj/item/clothing/under/rank/idris id = /obj/item/weapon/card/id/idris + +/datum/outfit/job/representative/idris + name = "Corporate Liaison - Idris" + uniform = /obj/item/clothing/under/rank/idris + head = null + suit = null + implants = null + id = /obj/item/weapon/card/id/idris diff --git a/code/game/jobs/faction/nanotrasen.dm b/code/game/jobs/faction/nanotrasen.dm index 03a890b9d26..d8ed4005695 100644 --- a/code/game/jobs/faction/nanotrasen.dm +++ b/code/game/jobs/faction/nanotrasen.dm @@ -15,3 +15,21 @@ // Really shitty hack until I get around to rewriting jobs a bit. allowed_role_types -= /datum/job/merchant + +/datum/faction/nano_trasen/get_corporate_objectives(var/mission_level) + var/objective + switch(mission_level) + if("high") + objective = pick("Have [rand(1,4)] crewmember sign NT apprenticeship contracts", + "Make sure that the station fullfils [rand(4,12)] cargo bounties", + "Make sure that the station raises [rand(5000,12000)] credits by the end of the shift") + if("medium") + objective = pick("Have [rand(2,5)] crewmembers sign contract extensions", + "Have [rand(2,5)] crewmembers buy Odin real estate", + "[rand(3,10)] crewmember must buy Getmore products from the vendors") + else + objective = pick("Conduct and present a survey on crew morale and content", + "Make sure that [rand(2,4)] complaints are solved on the station", + "Have [rand(3,10)] crewmembers buy Getmore products from the vendors") + + return objective \ No newline at end of file diff --git a/code/game/jobs/faction/necropolis.dm b/code/game/jobs/faction/necropolis.dm index abee9400eac..3af694647f9 100644 --- a/code/game/jobs/faction/necropolis.dm +++ b/code/game/jobs/faction/necropolis.dm @@ -38,7 +38,8 @@ /datum/job/doctor, /datum/job/pharmacist, /datum/job/scientist, - /datum/job/roboticist + /datum/job/roboticist, + /datum/job/representative ) allowed_species_types = list( @@ -55,7 +56,8 @@ "Pharmacist" = /datum/outfit/job/pharmacist/necropolis, "Medical Doctor" = /datum/outfit/job/doctor/necropolis, "Scientist" = /datum/outfit/job/scientist/necropolis, - "Roboticist" = /datum/outfit/job/roboticist/necropolis + "Roboticist" = /datum/outfit/job/roboticist/necropolis, + "Corporate Liaison" = /datum/outfit/job/representative/necropolis ) /datum/outfit/job/officer/necropolis @@ -87,3 +89,11 @@ name = "Roboticist - Necropolis" uniform = /obj/item/clothing/under/rank/necropolis id = /obj/item/weapon/card/id/necropolis + +/datum/outfit/job/representative/necropolis + name = "Corporate Liaison - Necropolis" + uniform = /obj/item/clothing/under/rank/necropolis + head = null + suit = null + implants = null + id = /obj/item/weapon/card/id/necropolis diff --git a/code/game/jobs/faction/unaffiliated.dm b/code/game/jobs/faction/unaffiliated.dm index faf33e86c75..ce93ba37980 100644 --- a/code/game/jobs/faction/unaffiliated.dm +++ b/code/game/jobs/faction/unaffiliated.dm @@ -11,7 +11,8 @@ allowed_role_types = list( /datum/job/journalist, - /datum/job/merchant + /datum/job/merchant, + /datum/job/representative ) /datum/faction/unaffiliated/get_logo_name() diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm index b2b9f94711b..61f3cf07ed5 100644 --- a/code/game/jobs/faction/zeng_hu.dm +++ b/code/game/jobs/faction/zeng_hu.dm @@ -37,7 +37,8 @@ /datum/job/doctor, /datum/job/pharmacist, /datum/job/psychiatrist, - /datum/job/paramedic + /datum/job/paramedic, + /datum/job/representative ) allowed_species_types = list( @@ -51,7 +52,8 @@ "Medical Doctor" = /datum/outfit/job/doctor/zeng_hu, "Pharmacist" = /datum/outfit/job/pharmacist/zeng_hu, "Psychiatrist" = /datum/outfit/job/psychiatrist/zeng_hu, - "Paramedic" = /datum/outfit/job/paramedic/zeng_hu + "Paramedic" = /datum/outfit/job/paramedic/zeng_hu, + "Corporate Liaison" = /datum/outfit/job/representative/zeng_hu ) /datum/outfit/job/doctor/zeng_hu @@ -78,3 +80,11 @@ name = "Paramedic - Zeng-Hu" uniform = /obj/item/clothing/under/rank/zeng id = /obj/item/weapon/card/id/zeng_hu + +/datum/outfit/job/representative/zeng_hu + name = "Corporate Liaison - Zeng-Hu" + uniform = /obj/item/clothing/under/rank/zeng + head = null + suit = null + implants = null + id = /obj/item/weapon/card/id/zeng_hu \ No newline at end of file diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 813f16b36c7..0b8eb73bf09 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -1,310 +1,278 @@ -//Food -/datum/job/bartender - title = "Bartender" - flag = BARTENDER - department = "Civilian" - department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the head of personnel" - selection_color = "#dddddd" - access = list(access_hydroponics, access_bar, access_kitchen) - minimal_access = list(access_bar) - alt_titles = list("Barista") - outfit = /datum/outfit/job/bartender - -/datum/outfit/job/bartender - name = "Bartender" - jobtype = /datum/job/bartender - - uniform = /obj/item/clothing/under/rank/bartender - pda = /obj/item/device/pda/bar - shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset/headset_service - - -/datum/job/chef - title = "Chef" - flag = CHEF - department = "Civilian" - department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the head of personnel" - selection_color = "#dddddd" - access = list(access_hydroponics, access_bar, access_kitchen) - minimal_access = list(access_kitchen) - alt_titles = list("Cook") - outfit = /datum/outfit/job/chef - -/datum/outfit/job/chef - name = "Chef" - jobtype = /datum/job/chef - - uniform = /obj/item/clothing/under/rank/chef - suit = /obj/item/clothing/suit/chef - head = /obj/item/clothing/head/chefhat - pda = /obj/item/device/pda/chef - shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset/headset_service - - backpack_contents = list( - /obj/item/weapon/storage/box/produce = 1 - ) - -/datum/job/hydro - title = "Gardener" - flag = BOTANIST - department = "Civilian" - department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 1 - supervisors = "the head of personnel" - selection_color = "#dddddd" - access = list(access_hydroponics, access_bar, access_kitchen) - minimal_access = list(access_hydroponics) - alt_titles = list("Hydroponicist") - outfit = /datum/outfit/job/hydro - -/datum/outfit/job/hydro - name = "Gardener" - jobtype = /datum/job/hydro - - uniform = /obj/item/clothing/under/rank/hydroponics - suit = /obj/item/clothing/suit/apron - pda = /obj/item/device/pda/botanist - shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset/headset_service - suit_store = /obj/item/device/analyzer/plant_analyzer - - backpack = /obj/item/weapon/storage/backpack/hydroponics - satchel = /obj/item/weapon/storage/backpack/satchel_hyd - dufflebag = /obj/item/weapon/storage/backpack/duffel/hyd - messengerbag = /obj/item/weapon/storage/backpack/messenger/hyd - -/datum/outfit/job/hydro/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - . = ..() - if(istajara(H)) - H.equip_or_collect(new /obj/item/clothing/gloves/botanic_leather/tajara(H), slot_gloves) - else if(isunathi(H)) - H.equip_or_collect(new /obj/item/clothing/gloves/botanic_leather/unathi(H), slot_gloves) - else - H.equip_or_collect(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves) - -//Cargo -/datum/job/qm - title = "Quartermaster" - flag = QUARTERMASTER - head_position = 1 - department = "Cargo" - department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the head of personnel" - selection_color = "#dddddd" - economic_modifier = 5 - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) - minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) - - ideal_character_age = 40 - - outfit = /datum/outfit/job/qm - -/datum/outfit/job/qm - name = "Quartermaster" - jobtype = /datum/job/qm - - uniform = /obj/item/clothing/under/rank/cargo - pda = /obj/item/device/pda/quartermaster - shoes = /obj/item/clothing/shoes/brown - l_ear = /obj/item/device/radio/headset/headset_cargo - l_hand = /obj/item/weapon/clipboard - glasses = /obj/item/clothing/glasses/sunglasses - - -/datum/job/cargo_tech - title = "Cargo Technician" - flag = CARGOTECH - department = "Cargo" - department_flag = CIVILIAN - faction = "Station" - total_positions = 3 - spawn_positions = 3 - supervisors = "the quartermaster and the head of personnel" - selection_color = "#dddddd" - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) - minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) - outfit = /datum/outfit/job/cargo_tech - -/datum/outfit/job/cargo_tech - name = "Cargo Technician" - jobtype = /datum/job/cargo_tech - - uniform = /obj/item/clothing/under/rank/cargotech - pda = /obj/item/device/pda/cargo - shoes = /obj/item/clothing/shoes/brown - l_ear = /obj/item/device/radio/headset/headset_cargo - - -/datum/job/mining - title = "Shaft Miner" - flag = MINER - department = "Cargo" - department_flag = CIVILIAN - faction = "Station" - total_positions = 4 - spawn_positions = 4 - supervisors = "the quartermaster and the head of personnel" - selection_color = "#dddddd" - economic_modifier = 5 - access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) - minimal_access = list(access_mining, access_mining_station, access_mailsorting) - outfit = /datum/outfit/job/mining - -/datum/outfit/job/mining - name = "Shaft Miner" - jobtype = /datum/job/mining - - uniform = /obj/item/clothing/under/rank/miner - pda = /obj/item/device/pda/shaftminer - shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset/headset_cargo - - backpack_contents = list( - /obj/item/weapon/crowbar = 1, - /obj/item/weapon/storage/bag/ore = 1 - ) - - backpack = /obj/item/weapon/storage/backpack/industrial - satchel = /obj/item/weapon/storage/backpack/satchel_eng - dufflebag = /obj/item/weapon/storage/backpack/duffel/eng - messengerbag = /obj/item/weapon/storage/backpack/messenger/engi - - -//Not engineers, just the mop boys -/datum/job/janitor - title = "Janitor" - flag = JANITOR - department = "Civilian" - department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "the head of personnel" - selection_color = "#dddddd" - access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical) - minimal_access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical) - outfit = /datum/outfit/job/janitor - -/datum/outfit/job/janitor - name = "Janitor" - jobtype = /datum/job/janitor - - uniform = /obj/item/clothing/under/rank/janitor - pda = /obj/item/device/pda/janitor - shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset/headset_service - -/datum/job/journalist - title = "Corporate Reporter" - flag = JOURNALIST - department = "Civilian" - department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the head of personnel" - selection_color = "#dddddd" - access = list(access_journalist, access_maint_tunnels) - minimal_access = list(access_journalist, access_maint_tunnels) - alt_titles = list("Freelance Journalist") - 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 - -/datum/outfit/job/journalist - name = "Corporate Reporter" - jobtype = /datum/job/journalist - - uniform = /obj/item/clothing/under/suit_jacket/red - pda = /obj/item/device/pda/librarian - shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset/headset_service - - backpack_contents = list( - /obj/item/clothing/accessory/badge/press = 1 - ) - -/datum/outfit/job/journalistf - name = "Freelance Journalist" - jobtype = /datum/job/journalist - - uniform = /obj/item/clothing/under/suit_jacket/red - pda = /obj/item/device/pda/librarian - shoes = /obj/item/clothing/shoes/black - - backpack_contents = list( - /obj/item/clothing/accessory/badge/press/independent = 1 - ) - - -/datum/job/librarian - title = "Librarian" - flag = LIBRARIAN - department = "Civilian" - department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the head of personnel" - selection_color = "#dddddd" - access = list(access_library, access_maint_tunnels) - minimal_access = list(access_library) - outfit = /datum/outfit/job/librarian - -/datum/outfit/job/librarian - name = "Librarian" - jobtype = /datum/job/librarian - - uniform = /obj/item/clothing/under/suit_jacket/red - pda = /obj/item/device/pda/librarian - shoes = /obj/item/clothing/shoes/black - l_ear = /obj/item/device/radio/headset/headset_service - r_pocket = /obj/item/weapon/barcodescanner - l_hand = /obj/item/weapon/storage/bag/books - - -/datum/job/lawyer - title = "Internal Affairs Agent" - flag = LAWYER - department = "Civilian" - department_flag = CIVILIAN - faction = "Station" - total_positions = 2 - spawn_positions = 2 - supervisors = "company officials and Corporate Regulations" - selection_color = "#dddddd" - economic_modifier = 7 - access = list(access_lawyer, access_sec_doors, access_maint_tunnels, access_heads) - minimal_access = list(access_lawyer, access_sec_doors, access_heads) - outfit = /datum/outfit/job/iaa - -/datum/outfit/job/iaa - name = "Internal Affairs Agent" - jobtype = /datum/job/lawyer - - uniform = /obj/item/clothing/under/rank/internalaffairs - suit = /obj/item/clothing/suit/storage/toggle/internalaffairs - pda = /obj/item/device/pda/lawyer - shoes = /obj/item/clothing/shoes/brown - glasses = /obj/item/clothing/glasses/sunglasses/big - l_ear = /obj/item/device/radio/headset/ia - l_hand = /obj/item/weapon/storage/briefcase - - implants = list( - /obj/item/weapon/implant/loyalty - ) +//Food +/datum/job/bartender + title = "Bartender" + flag = BARTENDER + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the head of personnel" + selection_color = "#dddddd" + access = list(access_hydroponics, access_bar, access_kitchen) + minimal_access = list(access_bar) + alt_titles = list("Barista") + outfit = /datum/outfit/job/bartender + +/datum/outfit/job/bartender + name = "Bartender" + jobtype = /datum/job/bartender + + uniform = /obj/item/clothing/under/rank/bartender + pda = /obj/item/device/pda/bar + shoes = /obj/item/clothing/shoes/black + l_ear = /obj/item/device/radio/headset/headset_service + + +/datum/job/chef + title = "Chef" + flag = CHEF + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the head of personnel" + selection_color = "#dddddd" + access = list(access_hydroponics, access_bar, access_kitchen) + minimal_access = list(access_kitchen) + alt_titles = list("Cook") + outfit = /datum/outfit/job/chef + +/datum/outfit/job/chef + name = "Chef" + jobtype = /datum/job/chef + + uniform = /obj/item/clothing/under/rank/chef + suit = /obj/item/clothing/suit/chef + head = /obj/item/clothing/head/chefhat + pda = /obj/item/device/pda/chef + shoes = /obj/item/clothing/shoes/black + l_ear = /obj/item/device/radio/headset/headset_service + + backpack_contents = list( + /obj/item/weapon/storage/box/produce = 1 + ) + +/datum/job/hydro + title = "Gardener" + flag = BOTANIST + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 2 + spawn_positions = 1 + supervisors = "the head of personnel" + selection_color = "#dddddd" + access = list(access_hydroponics, access_bar, access_kitchen) + minimal_access = list(access_hydroponics) + alt_titles = list("Hydroponicist") + outfit = /datum/outfit/job/hydro + +/datum/outfit/job/hydro + name = "Gardener" + jobtype = /datum/job/hydro + + uniform = /obj/item/clothing/under/rank/hydroponics + suit = /obj/item/clothing/suit/apron + pda = /obj/item/device/pda/botanist + shoes = /obj/item/clothing/shoes/black + l_ear = /obj/item/device/radio/headset/headset_service + suit_store = /obj/item/device/analyzer/plant_analyzer + + backpack = /obj/item/weapon/storage/backpack/hydroponics + satchel = /obj/item/weapon/storage/backpack/satchel_hyd + dufflebag = /obj/item/weapon/storage/backpack/duffel/hyd + messengerbag = /obj/item/weapon/storage/backpack/messenger/hyd + +/datum/outfit/job/hydro/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + . = ..() + if(istajara(H)) + H.equip_or_collect(new /obj/item/clothing/gloves/botanic_leather/tajara(H), slot_gloves) + else if(isunathi(H)) + H.equip_or_collect(new /obj/item/clothing/gloves/botanic_leather/unathi(H), slot_gloves) + else + H.equip_or_collect(new /obj/item/clothing/gloves/botanic_leather(H), slot_gloves) + +//Cargo +/datum/job/qm + title = "Quartermaster" + flag = QUARTERMASTER + head_position = 1 + department = "Cargo" + department_flag = CIVILIAN + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the head of personnel" + selection_color = "#dddddd" + economic_modifier = 5 + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) + minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) + + ideal_character_age = 40 + + outfit = /datum/outfit/job/qm + +/datum/outfit/job/qm + name = "Quartermaster" + jobtype = /datum/job/qm + + uniform = /obj/item/clothing/under/rank/cargo + pda = /obj/item/device/pda/quartermaster + shoes = /obj/item/clothing/shoes/brown + l_ear = /obj/item/device/radio/headset/headset_cargo + l_hand = /obj/item/weapon/clipboard + glasses = /obj/item/clothing/glasses/sunglasses + + +/datum/job/cargo_tech + title = "Cargo Technician" + flag = CARGOTECH + department = "Cargo" + department_flag = CIVILIAN + faction = "Station" + total_positions = 3 + spawn_positions = 3 + supervisors = "the quartermaster and the head of personnel" + selection_color = "#dddddd" + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) + minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) + outfit = /datum/outfit/job/cargo_tech + +/datum/outfit/job/cargo_tech + name = "Cargo Technician" + jobtype = /datum/job/cargo_tech + + uniform = /obj/item/clothing/under/rank/cargotech + pda = /obj/item/device/pda/cargo + shoes = /obj/item/clothing/shoes/brown + l_ear = /obj/item/device/radio/headset/headset_cargo + + +/datum/job/mining + title = "Shaft Miner" + flag = MINER + department = "Cargo" + department_flag = CIVILIAN + faction = "Station" + total_positions = 4 + spawn_positions = 4 + supervisors = "the quartermaster and the head of personnel" + selection_color = "#dddddd" + economic_modifier = 5 + access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) + minimal_access = list(access_mining, access_mining_station, access_mailsorting) + outfit = /datum/outfit/job/mining + +/datum/outfit/job/mining + name = "Shaft Miner" + jobtype = /datum/job/mining + + uniform = /obj/item/clothing/under/rank/miner + pda = /obj/item/device/pda/shaftminer + shoes = /obj/item/clothing/shoes/black + l_ear = /obj/item/device/radio/headset/headset_cargo + + backpack_contents = list( + /obj/item/weapon/crowbar = 1, + /obj/item/weapon/storage/bag/ore = 1 + ) + + backpack = /obj/item/weapon/storage/backpack/industrial + satchel = /obj/item/weapon/storage/backpack/satchel_eng + dufflebag = /obj/item/weapon/storage/backpack/duffel/eng + messengerbag = /obj/item/weapon/storage/backpack/messenger/engi + + +//Not engineers, just the mop boys +/datum/job/janitor + title = "Janitor" + flag = JANITOR + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 2 + spawn_positions = 2 + supervisors = "the head of personnel" + selection_color = "#dddddd" + access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical) + minimal_access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical) + outfit = /datum/outfit/job/janitor + +/datum/outfit/job/janitor + name = "Janitor" + jobtype = /datum/job/janitor + + uniform = /obj/item/clothing/under/rank/janitor + pda = /obj/item/device/pda/janitor + shoes = /obj/item/clothing/shoes/black + l_ear = /obj/item/device/radio/headset/headset_service + +/datum/job/journalist + title = "Corporate Reporter" + flag = JOURNALIST + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the head of personnel" + selection_color = "#dddddd" + access = list(access_journalist, access_maint_tunnels) + minimal_access = list(access_journalist, access_maint_tunnels) + alt_titles = list("Freelance Journalist") + 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 + +/datum/outfit/job/journalist + name = "Corporate Reporter" + jobtype = /datum/job/journalist + + uniform = /obj/item/clothing/under/suit_jacket/red + pda = /obj/item/device/pda/librarian + shoes = /obj/item/clothing/shoes/black + l_ear = /obj/item/device/radio/headset/headset_service + + backpack_contents = list( + /obj/item/clothing/accessory/badge/press = 1 + ) + +/datum/outfit/job/journalistf + name = "Freelance Journalist" + jobtype = /datum/job/journalist + + uniform = /obj/item/clothing/under/suit_jacket/red + pda = /obj/item/device/pda/librarian + shoes = /obj/item/clothing/shoes/black + + backpack_contents = list( + /obj/item/clothing/accessory/badge/press/independent = 1 + ) + + +/datum/job/librarian + title = "Librarian" + flag = LIBRARIAN + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "the head of personnel" + selection_color = "#dddddd" + access = list(access_library, access_maint_tunnels) + minimal_access = list(access_library) + outfit = /datum/outfit/job/librarian + +/datum/outfit/job/librarian + name = "Librarian" + jobtype = /datum/job/librarian + + uniform = /obj/item/clothing/under/suit_jacket/red + pda = /obj/item/device/pda/librarian + shoes = /obj/item/clothing/shoes/black + l_ear = /obj/item/device/radio/headset/headset_service + r_pocket = /obj/item/weapon/barcodescanner + l_hand = /obj/item/weapon/storage/bag/books diff --git a/code/game/jobs/job/outsider/representative.dm b/code/game/jobs/job/outsider/representative.dm new file mode 100644 index 00000000000..f274b7a945e --- /dev/null +++ b/code/game/jobs/job/outsider/representative.dm @@ -0,0 +1,179 @@ +/datum/job/representative + title = "Corporate Liaison" + flag = LAWYER + department = "Civilian" + department_flag = CIVILIAN + faction = "Station" + total_positions = 1 + spawn_positions = 1 + supervisors = "company officials" + selection_color = "#dddddd" + economic_modifier = 7 + latejoin_at_spawnpoints = TRUE + access = list(access_lawyer, access_maint_tunnels, access_heads) + minimal_access = list(access_lawyer, access_heads) + outfit = /datum/outfit/job/representative + alt_titles = list("Tau Ceti Representative","Sol Consular Officer", "PRA Consular Officer") + outfit = /datum/outfit/job/representative + alt_outfits = list( + "Tau Ceti Representative"=/datum/outfit/job/representative/ceti, + "Sol Consular Officer"=/datum/outfit/job/representative/sol, + "PRA Consular Officer"= /datum/outfit/job/representative/pra + ) + +/datum/outfit/job/representative + name = "Corporate Liaison" + jobtype = /datum/job/representative + + head = /obj/item/clothing/head/beret/liaison + uniform = /obj/item/clothing/under/rank/liaison + suit = /obj/item/clothing/suit/storage/toggle/liaison + pda = /obj/item/device/pda/lawyer + shoes = /obj/item/clothing/shoes/laceup + glasses = /obj/item/clothing/glasses/sunglasses/big + l_ear = /obj/item/device/radio/headset/representative + l_hand = /obj/item/weapon/storage/briefcase + backpack_contents = list( + /obj/item/device/camera = 1, + /obj/item/weapon/gun/energy/pistol = 1 + ) + + implants = list( + /obj/item/weapon/implant/loyalty + ) + + +/datum/outfit/job/representative/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(H && !visualsOnly) + addtimer(CALLBACK(src, .proc/send_representative_mission, H), 5 MINUTES) + return TRUE + +/datum/outfit/job/representative/proc/send_representative_mission(var/mob/living/carbon/human/H) + var/faxtext = "


Directives Report


" + faxtext += "Attention [name], the following directives are to be fulfilled during your stay in the station: