From ee53b7755817e9db425346bd2c83d542b258ef60 Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Sun, 9 Jun 2024 20:34:20 +0300 Subject: [PATCH 1/7] FIX: Rank/Branch fixes --- maps/torch/job/misc_jobs.dm | 4 ++-- mods/_fd/fd_assets/_fd_assets.dme | 8 ++++++-- .../fd_assets/code/{ => jobs}/chief_steward.dm | 16 ++++++++++++++++ mods/_fd/fd_assets/code/jobs/passenger.dm | 14 ++++++++++++++ mods/_fd/fd_assets/code/jobs/pathfinder.dm | 5 +++++ .../_fd/fd_assets/code/jobs/research_director.dm | 5 +++++ .../fd_assets/code/{ => jobs}/research_guard.dm | 0 7 files changed, 48 insertions(+), 4 deletions(-) rename mods/_fd/fd_assets/code/{ => jobs}/chief_steward.dm (73%) create mode 100644 mods/_fd/fd_assets/code/jobs/passenger.dm create mode 100644 mods/_fd/fd_assets/code/jobs/pathfinder.dm create mode 100644 mods/_fd/fd_assets/code/jobs/research_director.dm rename mods/_fd/fd_assets/code/{ => jobs}/research_guard.dm (100%) diff --git a/maps/torch/job/misc_jobs.dm b/maps/torch/job/misc_jobs.dm index 4cef89f23441a..c53d4de0afb69 100644 --- a/maps/torch/job/misc_jobs.dm +++ b/maps/torch/job/misc_jobs.dm @@ -13,8 +13,8 @@ Synthetic /datum/job/ai minimal_player_age = 7 - total_positions = 0 - spawn_positions = 0 + total_positions = 1 + spawn_positions = 1 allowed_ranks = list( /datum/mil_rank/civ/synthetic ) diff --git a/mods/_fd/fd_assets/_fd_assets.dme b/mods/_fd/fd_assets/_fd_assets.dme index 4d59022db8254..95690769facba 100644 --- a/mods/_fd/fd_assets/_fd_assets.dme +++ b/mods/_fd/fd_assets/_fd_assets.dme @@ -44,12 +44,16 @@ #include "code/weapons/rsh21.dm" #include "code/weapons/sledgehammer.dm" -#include "code/chief_steward.dm" +#include "code/jobs/chief_steward.dm" +#include "code/jobs/research_guard.dm" +#include "code/jobs/pathfinder.dm" +#include "code/jobs/research_director.dm" +#include "code/jobs/passenger.dm" + #include "code/fd_sofa_override.dm" #include "code/floor_decals.dm" #include "code/fullscreen.dm" #include "code/loadout.dm" -#include "code/research_guard.dm" #include "code/added_branch_outfits.dm" #include "code/added_branches.dm" #include "code/skills.dm" diff --git a/mods/_fd/fd_assets/code/chief_steward.dm b/mods/_fd/fd_assets/code/jobs/chief_steward.dm similarity index 73% rename from mods/_fd/fd_assets/code/chief_steward.dm rename to mods/_fd/fd_assets/code/jobs/chief_steward.dm index 77bb12190804f..f9bc3818f5d24 100644 --- a/mods/_fd/fd_assets/code/chief_steward.dm +++ b/mods/_fd/fd_assets/code/jobs/chief_steward.dm @@ -33,3 +33,19 @@ /obj/item/device/radio/headset/headset_chief_steward, /obj/item/device/radio/headset/headset_chief_steward/alt, ) + + +// Getting MrMeat + +/datum/job/chief_steward + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/service/cook, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/service/chief_steward/fleet + ) + allowed_ranks = list( + /datum/mil_rank/civ/contractor, + /datum/mil_rank/ec/e7, + /datum/mil_rank/fleet/e7, + /datum/mil_rank/fleet/e6 + ) diff --git a/mods/_fd/fd_assets/code/jobs/passenger.dm b/mods/_fd/fd_assets/code/jobs/passenger.dm new file mode 100644 index 0000000000000..b2b022d8f5ccf --- /dev/null +++ b/mods/_fd/fd_assets/code/jobs/passenger.dm @@ -0,0 +1,14 @@ +/datum/job/assistant + alt_titles = list( + "Journalist" = /singleton/hierarchy/outfit/job/torch/passenger/passenger/journalist, + "Historian", + "Botanist", + "Investor" = /singleton/hierarchy/outfit/job/torch/passenger/passenger/investor, + "Naturalist", + "Ecologist", + "Entertainer", + "Independent Observer", + "Sociologist", + "Trainer", + "Off-Duty" + ) diff --git a/mods/_fd/fd_assets/code/jobs/pathfinder.dm b/mods/_fd/fd_assets/code/jobs/pathfinder.dm new file mode 100644 index 0000000000000..ce6c7db151b2c --- /dev/null +++ b/mods/_fd/fd_assets/code/jobs/pathfinder.dm @@ -0,0 +1,5 @@ +/datum/job/pathfinder + allowed_ranks = list( + /datum/mil_rank/ec/o1, + /datum/mil_rank/ec/o3 + ) diff --git a/mods/_fd/fd_assets/code/jobs/research_director.dm b/mods/_fd/fd_assets/code/jobs/research_director.dm new file mode 100644 index 0000000000000..ff51ff1cddd20 --- /dev/null +++ b/mods/_fd/fd_assets/code/jobs/research_director.dm @@ -0,0 +1,5 @@ +/datum/job/rd + allowed_ranks = list( + /datum/mil_rank/ec/o3, + /datum/mil_rank/ec/o5 + ) diff --git a/mods/_fd/fd_assets/code/research_guard.dm b/mods/_fd/fd_assets/code/jobs/research_guard.dm similarity index 100% rename from mods/_fd/fd_assets/code/research_guard.dm rename to mods/_fd/fd_assets/code/jobs/research_guard.dm From 71b0b3458c2e6718da83da0ba748d6a62c1ca1af Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Sun, 9 Jun 2024 20:41:00 +0300 Subject: [PATCH 2/7] Fix: Return of AI! --- maps/torch/job/misc_jobs.dm | 4 ++-- mods/_fd/fd_assets/_fd_assets.dme | 1 + mods/_fd/fd_assets/code/jobs/ai.dm | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 mods/_fd/fd_assets/code/jobs/ai.dm diff --git a/maps/torch/job/misc_jobs.dm b/maps/torch/job/misc_jobs.dm index c53d4de0afb69..4cef89f23441a 100644 --- a/maps/torch/job/misc_jobs.dm +++ b/maps/torch/job/misc_jobs.dm @@ -13,8 +13,8 @@ Synthetic /datum/job/ai minimal_player_age = 7 - total_positions = 1 - spawn_positions = 1 + total_positions = 0 + spawn_positions = 0 allowed_ranks = list( /datum/mil_rank/civ/synthetic ) diff --git a/mods/_fd/fd_assets/_fd_assets.dme b/mods/_fd/fd_assets/_fd_assets.dme index 95690769facba..92c22b4a3c436 100644 --- a/mods/_fd/fd_assets/_fd_assets.dme +++ b/mods/_fd/fd_assets/_fd_assets.dme @@ -49,6 +49,7 @@ #include "code/jobs/pathfinder.dm" #include "code/jobs/research_director.dm" #include "code/jobs/passenger.dm" +#include "code/jobs/ai.dm" #include "code/fd_sofa_override.dm" #include "code/floor_decals.dm" diff --git a/mods/_fd/fd_assets/code/jobs/ai.dm b/mods/_fd/fd_assets/code/jobs/ai.dm new file mode 100644 index 0000000000000..b7bbef7268bd9 --- /dev/null +++ b/mods/_fd/fd_assets/code/jobs/ai.dm @@ -0,0 +1,3 @@ +/datum/job/ai + total_positions = 1 + spawn_positions = 1 From 4381d96b4a6bf41af692a625d68e26d8b4b69615 Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Sun, 9 Jun 2024 21:08:15 +0300 Subject: [PATCH 3/7] Fix: Exploration's team ranks --- maps/torch_fd/job/exploration_team.dm | 38 +++++++++++++++------------ maps/torch_fd/torch_ranks.dm | 2 ++ 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/maps/torch_fd/job/exploration_team.dm b/maps/torch_fd/job/exploration_team.dm index ec7f6e5508b80..aa6007284b1a1 100644 --- a/maps/torch_fd/job/exploration_team.dm +++ b/maps/torch_fd/job/exploration_team.dm @@ -228,10 +228,10 @@ uniform = /obj/item/clothing/under/solgov/utility/fleet/combat/exploration shoes = /obj/item/clothing/shoes/dutyboots -/*/decl/hierarchy/outfit/job/torch/crew/exploration/expmed/army +/singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/army name = OUTFIT_JOB_NAME("Expedition Medic - Army") - uniform = /obj/item/clothing/under/solgov/utility/army/exploration - shoes = /obj/item/clothing/shoes/dutyboots*/ + uniform = /obj/item/clothing/under/scga/utility/exploration + shoes = /obj/item/clothing/shoes/dutyboots /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng name = OUTFIT_JOB_NAME("Expedition Engineer - Expeditionary Corps") @@ -246,10 +246,10 @@ uniform = /obj/item/clothing/under/solgov/utility/fleet/combat/exploration shoes = /obj/item/clothing/shoes/dutyboots -/*/decl/hierarchy/outfit/job/torch/crew/exploration/expeng/army +/singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/army name = OUTFIT_JOB_NAME("Expedition Engineer - Army") - uniform = /obj/item/clothing/under/solgov/utility/army/exploration - shoes = /obj/item/clothing/shoes/dutyboots*/ + uniform = /obj/item/clothing/under/scga/utility/exploration + shoes = /obj/item/clothing/shoes/dutyboots // OUTFITS // @@ -268,17 +268,20 @@ outfit_type = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed allowed_branches = list( /datum/mil_branch/expeditionary_corps, - /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/fleet - /*/datum/mil_branch/army = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/army*/ + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/fleet, + /datum/mil_branch/scga = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/army ) allowed_ranks = list( /datum/mil_rank/ec/e3, /datum/mil_rank/ec/e5, /datum/mil_rank/fleet/e4, - /datum/mil_rank/fleet/e5 - /*/datum/mil_rank/army/e4, - /datum/mil_rank/army/e5*/ + /datum/mil_rank/fleet/e5, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/scga/e4_alt, + /datum/mil_rank/scga/e4, + /datum/mil_rank/scga/e5, + /datum/mil_rank/scga/e6 ) min_skill = list( SKILL_EVA = SKILL_BASIC, SKILL_MEDICAL = SKILL_TRAINED @@ -318,18 +321,19 @@ allowed_branches = list( /datum/mil_branch/expeditionary_corps, /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/fleet, - /*/datum/mil_branch/army = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/army*/ + /datum/mil_branch/scga = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/army ) allowed_ranks = list( /datum/mil_rank/ec/e3, /datum/mil_rank/ec/e5, - /datum/mil_rank/fleet/e3, /datum/mil_rank/fleet/e4, - /datum/mil_rank/fleet/e5 - /*/datum/mil_rank/army/e3, - /datum/mil_rank/army/e4, - /datum/mil_rank/army/e5*/ + /datum/mil_rank/fleet/e5, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/scga/e4_alt, + /datum/mil_rank/scga/e4, + /datum/mil_rank/scga/e5, + /datum/mil_rank/scga/e6 ) min_skill = list( SKILL_EVA = SKILL_BASIC, SKILL_CONSTRUCTION = SKILL_BASIC, diff --git a/maps/torch_fd/torch_ranks.dm b/maps/torch_fd/torch_ranks.dm index 5f5ec332ed6cb..8887bb5f640f4 100644 --- a/maps/torch_fd/torch_ranks.dm +++ b/maps/torch_fd/torch_ranks.dm @@ -207,6 +207,7 @@ /datum/mil_rank/scga/e1, /datum/mil_rank/scga/e2, /datum/mil_rank/scga/e3, + /datum/mil_rank/scga/e4_alt, /datum/mil_rank/scga/e4, /datum/mil_rank/scga/e5, /datum/mil_rank/scga/e6, @@ -232,6 +233,7 @@ spawn_rank_types = list( /datum/mil_rank/scga/e2, /datum/mil_rank/scga/e3, + /datum/mil_rank/scga/e4_alt, /datum/mil_rank/scga/e4, /datum/mil_rank/scga/e5, /datum/mil_rank/scga/e6, From 864f9ff04ed075176a755e485be1ba0fc2a5b261 Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Sun, 9 Jun 2024 21:11:54 +0300 Subject: [PATCH 4/7] Tweak: Fixing run test --- mods/_fd/fd_assets/code/jobs/research_guard.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/_fd/fd_assets/code/jobs/research_guard.dm b/mods/_fd/fd_assets/code/jobs/research_guard.dm index d894156e5303a..30e6f84106dfb 100644 --- a/mods/_fd/fd_assets/code/jobs/research_guard.dm +++ b/mods/_fd/fd_assets/code/jobs/research_guard.dm @@ -1,5 +1,5 @@ /// Access -/var/const/access_research_security = "ACCESS_RESEARCH_SECURITY" //97 +var/const/access_research_security = "ACCESS_RESEARCH_SECURITY" //97 /datum/access/rnd_guard id = access_research_security desc = "Research Checkpoint" From 283bf50b61f4d7251ed123f23bff5961609b24ff Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Sun, 9 Jun 2024 21:13:00 +0300 Subject: [PATCH 5/7] Tweak: Replacing Plasma Rifles --- mods/_fd/fd_assets/_fd_assets.dme | 1 - mods/_fd/fd_guns/_fd_guns.dme | 1 + .../code/weapons => fd_guns/code/guns}/k342.dm | 4 ++-- .../{fd_assets/icons/obj => fd_guns/icons}/k342.dmi | Bin .../{fd_assets/icons/obj => fd_guns/icons}/k480.dmi | Bin .../icons/onmob/back-guns.dmi | Bin .../icons/onmob/lefthand-guns.dmi | Bin .../icons/onmob/righthand-guns.dmi | Bin 8 files changed, 3 insertions(+), 3 deletions(-) rename mods/_fd/{fd_assets/code/weapons => fd_guns/code/guns}/k342.dm (98%) rename mods/_fd/{fd_assets/icons/obj => fd_guns/icons}/k342.dmi (100%) rename mods/_fd/{fd_assets/icons/obj => fd_guns/icons}/k480.dmi (100%) rename mods/_fd/{fd_assets => fd_guns}/icons/onmob/back-guns.dmi (100%) rename mods/_fd/{fd_assets => fd_guns}/icons/onmob/lefthand-guns.dmi (100%) rename mods/_fd/{fd_assets => fd_guns}/icons/onmob/righthand-guns.dmi (100%) diff --git a/mods/_fd/fd_assets/_fd_assets.dme b/mods/_fd/fd_assets/_fd_assets.dme index 92c22b4a3c436..8dea297fc3f06 100644 --- a/mods/_fd/fd_assets/_fd_assets.dme +++ b/mods/_fd/fd_assets/_fd_assets.dme @@ -39,7 +39,6 @@ #include "code/turfs/wall_types.dm" #include "code/weapons/automatic_shotgun.dm" -#include "code/weapons/k342.dm" #include "code/weapons/mech_mounted.dm" #include "code/weapons/rsh21.dm" #include "code/weapons/sledgehammer.dm" diff --git a/mods/_fd/fd_guns/_fd_guns.dme b/mods/_fd/fd_guns/_fd_guns.dme index 2366365e6cdc5..d01be0550831c 100644 --- a/mods/_fd/fd_guns/_fd_guns.dme +++ b/mods/_fd/fd_guns/_fd_guns.dme @@ -15,6 +15,7 @@ #include "code/guns/pistol.dm" #include "code/guns/shotgun.dm" #include "code/guns/sniper.dm" +#include "code/guns/k342.dm" #undef CALIBER_BOLTER diff --git a/mods/_fd/fd_assets/code/weapons/k342.dm b/mods/_fd/fd_guns/code/guns/k342.dm similarity index 98% rename from mods/_fd/fd_assets/code/weapons/k342.dm rename to mods/_fd/fd_guns/code/guns/k342.dm index ced4bb5336897..4afcca04b0b0c 100644 --- a/mods/_fd/fd_assets/code/weapons/k342.dm +++ b/mods/_fd/fd_guns/code/guns/k342.dm @@ -145,9 +145,9 @@ if(0.05 to 34) i = "g_0+" if(i) - overlays += image(icon, i) + AddOverlays(image(icon, i)) var/datum/firemode/current_mode = firemodes[sel_mode] - overlays += image(icon, splittext(current_mode.name, " ")[1]) + AddOverlays(image(icon, splittext(current_mode.name, " ")[1])) else icon_state = "[initial(item_state)]_off" diff --git a/mods/_fd/fd_assets/icons/obj/k342.dmi b/mods/_fd/fd_guns/icons/k342.dmi similarity index 100% rename from mods/_fd/fd_assets/icons/obj/k342.dmi rename to mods/_fd/fd_guns/icons/k342.dmi diff --git a/mods/_fd/fd_assets/icons/obj/k480.dmi b/mods/_fd/fd_guns/icons/k480.dmi similarity index 100% rename from mods/_fd/fd_assets/icons/obj/k480.dmi rename to mods/_fd/fd_guns/icons/k480.dmi diff --git a/mods/_fd/fd_assets/icons/onmob/back-guns.dmi b/mods/_fd/fd_guns/icons/onmob/back-guns.dmi similarity index 100% rename from mods/_fd/fd_assets/icons/onmob/back-guns.dmi rename to mods/_fd/fd_guns/icons/onmob/back-guns.dmi diff --git a/mods/_fd/fd_assets/icons/onmob/lefthand-guns.dmi b/mods/_fd/fd_guns/icons/onmob/lefthand-guns.dmi similarity index 100% rename from mods/_fd/fd_assets/icons/onmob/lefthand-guns.dmi rename to mods/_fd/fd_guns/icons/onmob/lefthand-guns.dmi diff --git a/mods/_fd/fd_assets/icons/onmob/righthand-guns.dmi b/mods/_fd/fd_guns/icons/onmob/righthand-guns.dmi similarity index 100% rename from mods/_fd/fd_assets/icons/onmob/righthand-guns.dmi rename to mods/_fd/fd_guns/icons/onmob/righthand-guns.dmi From 837bcfd8737cc5bb0050af1c076d1438f800f0ec Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Mon, 10 Jun 2024 13:25:55 +0300 Subject: [PATCH 6/7] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maps/torch_fd/fd_torch.dm | 27 +- .../exploration_jobs.dm} | 107 ----- maps/torch_fd/job/addition/research_jobs.dm | 124 ++++++ maps/torch_fd/job/addition/service_job.dm | 35 ++ maps/torch_fd/job/command_jobs.dm | 405 ++++++++++++++++++ maps/torch_fd/job/corporate_jobs.dm | 34 ++ maps/torch_fd/job/engineering_jobs.dm | 214 +++++++++ maps/torch_fd/job/exploration_jobs.dm | 217 ++++++++++ maps/torch_fd/job/medical_jobs.dm | 263 ++++++++++++ maps/torch_fd/job/misc_jobs.dm | 84 ++++ maps/torch_fd/job/research_jobs.dm | 176 ++++++++ maps/torch_fd/job/security_jobs.dm | 132 ++++++ maps/torch_fd/job/service_jobs.dm | 176 ++++++++ maps/torch_fd/job/supply_jobs.dm | 111 +++++ maps/torch_fd/job/torch_jobs.dm | 2 +- 15 files changed, 1988 insertions(+), 119 deletions(-) rename maps/torch_fd/job/{exploration_team.dm => addition/exploration_jobs.dm} (72%) create mode 100644 maps/torch_fd/job/addition/research_jobs.dm create mode 100644 maps/torch_fd/job/addition/service_job.dm create mode 100644 maps/torch_fd/job/command_jobs.dm create mode 100644 maps/torch_fd/job/corporate_jobs.dm create mode 100644 maps/torch_fd/job/engineering_jobs.dm create mode 100644 maps/torch_fd/job/exploration_jobs.dm create mode 100644 maps/torch_fd/job/medical_jobs.dm create mode 100644 maps/torch_fd/job/misc_jobs.dm create mode 100644 maps/torch_fd/job/research_jobs.dm create mode 100644 maps/torch_fd/job/security_jobs.dm create mode 100644 maps/torch_fd/job/service_jobs.dm create mode 100644 maps/torch_fd/job/supply_jobs.dm diff --git a/maps/torch_fd/fd_torch.dm b/maps/torch_fd/fd_torch.dm index 90148ebfda837..1cfbc6462cffe 100644 --- a/maps/torch_fd/fd_torch.dm +++ b/maps/torch_fd/fd_torch.dm @@ -110,17 +110,17 @@ // --- JOB SECTION --- // #include "../torch/job/torch_access.dm" #include "job/torch_jobs.dm" - #include "job/exploration_team.dm" - #include "../torch/job/command_jobs.dm" - #include "../torch/job/corporate_jobs.dm" - #include "../torch/job/engineering_jobs.dm" - #include "../torch/job/exploration_jobs.dm" - #include "../torch/job/medical_jobs.dm" - #include "../torch/job/misc_jobs.dm" - #include "../torch/job/research_jobs.dm" - #include "../torch/job/security_jobs.dm" - #include "../torch/job/service_jobs.dm" - #include "../torch/job/supply_jobs.dm" + + #include "job/command_jobs.dm" + #include "job/corporate_jobs.dm" + #include "job/engineering_jobs.dm" + #include "job/exploration_jobs.dm" + #include "job/medical_jobs.dm" + #include "job/misc_jobs.dm" + #include "job/research_jobs.dm" + #include "job/security_jobs.dm" + #include "job/service_jobs.dm" + #include "job/supply_jobs.dm" #include "../torch/outfits/scgec.dm" #include "../torch/robot/module_flying_surveyor.dm" @@ -137,6 +137,11 @@ #include "../torch/job/outfits/service_outfits.dm" #include "../torch/job/outfits/supply_outfits.dm" + // --- JOBS ADDITION --- // + #include "job/addition/exploration_jobs.dm" + #include "job/addition/research_jobs.dm" + #include "job/addition/service_jobs.dm" + // --- MACHINERY --- // #include "../torch/machinery/apc_shuttle.dm" #include "../torch/machinery/keycard authentication.dm" diff --git a/maps/torch_fd/job/exploration_team.dm b/maps/torch_fd/job/addition/exploration_jobs.dm similarity index 72% rename from maps/torch_fd/job/exploration_team.dm rename to maps/torch_fd/job/addition/exploration_jobs.dm index aa6007284b1a1..0a58a3192ccd4 100644 --- a/maps/torch_fd/job/exploration_team.dm +++ b/maps/torch_fd/job/addition/exploration_jobs.dm @@ -252,110 +252,3 @@ shoes = /obj/item/clothing/shoes/dutyboots // OUTFITS // - -// ROLES ITSELF // - -/datum/job/expmed - title = "Exploration Medic" - department = "Exploration" - department_flag = EXP - total_positions = 1 - spawn_positions = 1 - supervisors = "the Commanding Officer, Executive Officer, and Pathfinder" - selection_color = "#68099e" - minimum_character_age = list(SPECIES_HUMAN = 19) - ideal_character_age = 25 - outfit_type = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed - allowed_branches = list( - /datum/mil_branch/expeditionary_corps, - /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/fleet, - /datum/mil_branch/scga = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/army - ) - - allowed_ranks = list( - /datum/mil_rank/ec/e3, - /datum/mil_rank/ec/e5, - /datum/mil_rank/fleet/e4, - /datum/mil_rank/fleet/e5, - /datum/mil_rank/fleet/e6, - /datum/mil_rank/scga/e4_alt, - /datum/mil_rank/scga/e4, - /datum/mil_rank/scga/e5, - /datum/mil_rank/scga/e6 - ) - min_skill = list( SKILL_EVA = SKILL_BASIC, - SKILL_MEDICAL = SKILL_TRAINED - ) - max_skill = list( SKILL_MEDICAL = SKILL_EXPERIENCED, - SKILL_ANATOMY = SKILL_TRAINED, - SKILL_PILOT = SKILL_MAX, - SKILL_SCIENCE = SKILL_MAX, - SKILL_COMBAT = SKILL_EXPERIENCED, - SKILL_WEAPONS = SKILL_EXPERIENCED) - skill_points = 22 - - access = list( - access_explorer, access_maint_tunnels, access_eva, access_emergency_storage, - access_guppy_helm, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, - access_petrov, access_petrov_maint, access_research, access_radio_exp, access_radio_med, - access_medical, access_expedition_shuttle_helm - ) - - software_on_spawn = list(/datum/computer_file/program/suit_sensors, - /datum/computer_file/program/deck_management) - -/datum/job/expmed/get_description_blurb() - return "You are an Exploration Medic. Your duty is to go on expeditions to away sites. The Pathfinder is your team leader. You are to keep your team members alive. Keep a note that you are not a doctor, don't try to preform surgeries on your shuttle as you're not qualified for that." - -/datum/job/expeng - title = "Exploration Engineer" - department = "Exploration" - department_flag = EXP - total_positions = 1 - spawn_positions = 1 - supervisors = "the Commanding Officer, Executive Officer, and Pathfinder" - selection_color = "#68099e" - minimum_character_age = list(SPECIES_HUMAN = 19) - ideal_character_age = 25 - outfit_type = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng - allowed_branches = list( - /datum/mil_branch/expeditionary_corps, - /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/fleet, - /datum/mil_branch/scga = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/army - ) - - allowed_ranks = list( - /datum/mil_rank/ec/e3, - /datum/mil_rank/ec/e5, - /datum/mil_rank/fleet/e4, - /datum/mil_rank/fleet/e5, - /datum/mil_rank/fleet/e6, - /datum/mil_rank/scga/e4_alt, - /datum/mil_rank/scga/e4, - /datum/mil_rank/scga/e5, - /datum/mil_rank/scga/e6 - ) - min_skill = list( SKILL_EVA = SKILL_BASIC, - SKILL_CONSTRUCTION = SKILL_BASIC, - SKILL_ELECTRICAL = SKILL_BASIC, - SKILL_MEDICAL = SKILL_BASIC - ) - max_skill = list( SKILL_ANATOMY = SKILL_TRAINED, - SKILL_PILOT = SKILL_MAX, - SKILL_SCIENCE = SKILL_MAX, - SKILL_COMBAT = SKILL_EXPERIENCED, - SKILL_WEAPONS = SKILL_EXPERIENCED) - skill_points = 22 - - access = list( - access_explorer, access_maint_tunnels, access_eva, access_emergency_storage, - access_guppy_helm, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, - access_petrov, access_petrov_maint, access_research, access_radio_exp, access_radio_eng, access_expedition_shuttle_helm - ) - - software_on_spawn = list(/datum/computer_file/program/deck_management) - -/datum/job/expeng/get_description_blurb() - return "You are an Exploration Engineer. Your duty is to go on expeditions to away sites. The Pathfinder is your team leader. You are to keep shuttle operational and make holes wherever your boss says." - -// ROLES ITSELF // diff --git a/maps/torch_fd/job/addition/research_jobs.dm b/maps/torch_fd/job/addition/research_jobs.dm new file mode 100644 index 0000000000000..05a3e7c3676b8 --- /dev/null +++ b/maps/torch_fd/job/addition/research_jobs.dm @@ -0,0 +1,124 @@ +/// Access +var/const/access_research_security = "ACCESS_RESEARCH_SECURITY" //97 +/datum/access/rnd_guard + id = access_research_security + desc = "Research Checkpoint" + region = ACCESS_REGION_RESEARCH + +/obj/item/card/id/torch/crew/research/research_guard + job_access_type = /datum/job/research_guard + +/// Headsets +/obj/item/device/radio/headset/research_guard + name = "research guard's headset" + desc = "A headset of the servants to the corporate overlords." + icon_state = "nt_headset" + item_state = "headset" + ks1type = /obj/item/device/encryptionkey/headset_research_guard + +/obj/item/device/radio/headset/research_guard/alt + name = "research guard's bowman headset" + icon_state = "nt_headset_alt" + item_state = "nt_headset_alt" + +/obj/item/device/encryptionkey/headset_research_guard + name = "research_guard's encryption key" + icon_state = "nt_cypherkey" + channels = list("Science" = 1) + +//Uniform +/obj/item/clothing/under/rank/guard/research_guard + accessories = list(/obj/item/clothing/accessory/corptie) + +/// Locker +/obj/structure/closet/secure_closet/research_guard/WillContain() + return list( + /obj/item/clothing/under/rank/guard/research_guard, + /obj/item/clothing/suit/armor/pcarrier/medium/nt, + /obj/item/clothing/head/helmet/nt/guard, + /obj/item/clothing/head/soft/sec/corp/guard, + /obj/item/clothing/head/beret/guard, + /obj/item/clothing/accessory/armband/whitered, + /obj/item/device/radio/headset/research_guard, + /obj/item/device/radio/headset/research_guard/alt, + /obj/item/clothing/mask/gas/half, + /obj/item/material/clipboard, + /obj/item/folder, + /obj/item/device/taperecorder, + /obj/item/device/tape/random = 3, + /obj/item/storage/belt/holster/security, + /obj/item/device/flash, + /obj/item/reagent_containers/spray/pepper, + /obj/item/melee/baton/loaded, + /obj/item/handcuffs = 2, + /obj/item/device/flashlight/maglight, + /obj/item/clothing/glasses/sunglasses, + /obj/item/clothing/glasses/tacgoggles, + /obj/item/clothing/mask/balaclava, + /obj/item/taperoll/research, + /obj/item/device/hailer, + /obj/item/clothing/accessory/storage/black_vest, + /obj/item/clothing/accessory/badge/holo/NT, + /obj/item/device/megaphone, + /obj/item/gun/energy/stunrevolver/secure, + /obj/item/clothing/shoes/jackboots, + new /datum/atom_creator/weighted(list(/obj/item/storage/backpack/security/exo, /obj/item/storage/backpack/satchel/sec/exo)), + new /datum/atom_creator/weighted(list(/obj/item/storage/backpack/dufflebag/sec, /obj/item/storage/backpack/messenger/sec/exo)) + ) + +/// Outfits +/singleton/hierarchy/outfit/job/torch/passenger/research_guard + name = OUTFIT_JOB_NAME("Research Guard") + l_ear = /obj/item/device/radio/headset/research_guard + uniform = /obj/item/clothing/under/rank/guard/research_guard + shoes = /obj/item/clothing/shoes/jackboots + id_types = list(/obj/item/card/id/torch/crew/research/research_guard) + pda_type = /obj/item/modular_computer/pda/science + +/singleton/hierarchy/outfit/job/torch/passenger/research_guard/ec + name = OUTFIT_JOB_NAME("Research Guard - Expeditionary Corps") + uniform = /obj/item/clothing/under/solgov/utility/expeditionary/research + +/// EC Guard Exosuit +/obj/item/rig/hazard/research_guard + name = "EXO hardsuit control module" + suit_type = "hazard hardsuit" + desc = "A security hardsuit designed for prolonged EVA in dangerous environments." + icon_state = "hazard_rig" + armor = list( + melee = ARMOR_MELEE_MAJOR, + bullet = ARMOR_BALLISTIC_SMALL, + laser = ARMOR_LASER_SMALL, + energy = ARMOR_ENERGY_SMALL, + bomb = ARMOR_BOMB_RESISTANT, + bio = ARMOR_BIO_SHIELDED, + rad = ARMOR_RAD_SMALL + ) + online_slowdown = 2 + offline_slowdown = 3 + offline_vision_restriction = TINT_BLIND + + chest_type = /obj/item/clothing/suit/space/rig/hazard + helm_type = /obj/item/clothing/head/helmet/space/rig/hazard + boot_type = /obj/item/clothing/shoes/magboots/rig/hazard + glove_type = /obj/item/clothing/gloves/rig/hazard + + allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/handcuffs,/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/melee/baton) + + req_access = list(access_research_security) + +/obj/item/rig/hazard/research_guard/equipped + initial_modules = list( + /obj/item/rig_module/vision/sechud, + /obj/item/rig_module/mounted/energy/taser, + /obj/item/rig_module/cooling_unit) + +///Job +/* +/datum/map/torch/New() + . = ..() + var/index = allowed_jobs.Find(/datum/job/scientist_assistant) + if(index) + index++ + allowed_jobs.Insert(index, /datum/job/research_guard) +*/ diff --git a/maps/torch_fd/job/addition/service_job.dm b/maps/torch_fd/job/addition/service_job.dm new file mode 100644 index 0000000000000..77bb12190804f --- /dev/null +++ b/maps/torch_fd/job/addition/service_job.dm @@ -0,0 +1,35 @@ +/singleton/closet_appearance/secure_closet/torch/chief_steward + extra_decals = list( + "stripe_vertical_right_full" = COLOR_GREEN_GRAY, + "stripe_vertical_mid_full" = COLOR_CLOSET_GOLD + ) + +/obj/structure/closet/secure_closet/cs_torch + name = "chief steward's locker" + req_access = list() + closet_appearance = /singleton/closet_appearance/secure_closet/torch/chief_steward + +/obj/structure/closet/secure_closet/cs_torch/WillContain() + return list( + /obj/item/storage/belt/general, + /obj/item/clothing/head/chefhat, + /obj/item/clothing/suit/chef/classic, + /obj/item/clothing/suit/chef, + /obj/item/clothing/gloves/latex, + /obj/item/reagent_containers/glass/rag, + /obj/item/clothing/glasses/science, + /obj/item/storage/box/glasses, + /obj/item/storage/plants, + /obj/item/device/scanner/plant, + /obj/item/storage/slide_projector, + /obj/item/clothing/accessory/armband/hydro, + /obj/item/reagent_containers/spray/cleaner, + /obj/item/device/megaphone, + /obj/item/device/flashlight/upgraded, + /obj/item/device/taperecorder, + /obj/item/device/tape/random = 3, + /obj/item/device/camera/tvcamera, + /obj/item/device/camera_film = 2, + /obj/item/device/radio/headset/headset_chief_steward, + /obj/item/device/radio/headset/headset_chief_steward/alt, + ) diff --git a/maps/torch_fd/job/command_jobs.dm b/maps/torch_fd/job/command_jobs.dm new file mode 100644 index 0000000000000..baa8ad3f35fd2 --- /dev/null +++ b/maps/torch_fd/job/command_jobs.dm @@ -0,0 +1,405 @@ +/datum/job/captain + title = "Commanding Officer" + supervisors = "the Sol Central Government and the Sol Code of Uniform Justice" + minimal_player_age = 14 + economic_power = 16 + minimum_character_age = list(SPECIES_HUMAN = 40) + ideal_character_age = 50 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/command/CO + allowed_branches = list( + /datum/mil_branch/expeditionary_corps + ) + allowed_ranks = list( + /datum/mil_rank/ec/o6 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_SCIENCE = SKILL_TRAINED, + SKILL_PILOT = SKILL_TRAINED) + + max_skill = list( SKILL_PILOT = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX) + skill_points = 30 + + software_on_spawn = list(/datum/computer_file/program/comm, + /datum/computer_file/program/card_mod, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/reports) + +/datum/job/captain/get_description_blurb() + return "You are the Commanding Officer. You are the top dog. You are an experienced professional officer in control of an entire ship, and ultimately responsible for all that happens onboard. Your job is to make sure [GLOB.using_map.full_name] fulfils its space exploration mission. Delegate to your Executive Officer, your department heads, and your Senior Enlisted Advisor to effectively manage the ship, and listen to and trust their expertise." + +/datum/job/captain/post_equip_rank(mob/person, alt_title) + var/sound/announce_sound = (GAME_STATE <= RUNLEVEL_SETUP)? null : sound('sound/misc/boatswain.ogg', volume=20) + captain_announcement.Announce("All hands, [alt_title || title] [person.real_name] on deck!", new_sound = announce_sound) + ..() + +/datum/job/hop + title = "Executive Officer" + supervisors = "the Commanding Officer" + department = "Command" + department_flag = COM + minimal_player_age = 14 + economic_power = 14 + minimum_character_age = list(SPECIES_HUMAN = 35) + ideal_character_age = 45 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/command/XO + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/command/XO/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/o5, + /datum/mil_rank/fleet/o4, + /datum/mil_rank/fleet/o5 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_COMPUTER = SKILL_BASIC, + SKILL_PILOT = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX) + skill_points = 30 + + access = list( + access_security, access_brig, access_armory, access_forensics_lockers, access_heads, access_medical, access_morgue, access_tox, access_tox_storage, + access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, access_change_ids, + access_ai_upload, access_teleporter, access_eva, access_bridge, access_all_personal_lockers, access_chapel_office, access_tech_storage, + access_atmospherics, access_janitor, access_crematorium, access_kitchen, access_robotics, access_cargo, access_construction, + access_chemistry, access_cargo_bot, access_hydroponics, access_manufacturing, access_library, access_lawyer, access_virology, access_cmo, + access_qm, access_network, access_network_admin, access_surgery, access_research, access_mining, access_mining_office, access_mailsorting, access_heads_vault, + access_mining_station, access_xenobiology, access_ce, access_hop, access_hos, access_RC_announce, access_keycard_auth, access_tcomsat, + access_gateway, access_sec_doors, access_psychiatrist, access_xenoarch, access_medical_equip, access_heads, access_hangar, access_guppy_helm, + access_expedition_shuttle_helm, access_aquila, access_aquila_helm, access_solgov_crew, access_nanotrasen, access_chief_steward, + access_emergency_armory, access_sec_guard, access_gun, access_expedition_shuttle, access_guppy, access_seneng, access_senmed, access_senadv, + access_explorer, access_pathfinder, access_pilot, access_commissary, access_petrov, access_petrov_helm, access_petrov_analysis, access_petrov_phoron, + access_petrov_toxins, access_petrov_chemistry, access_petrov_control, access_petrov_maint, access_rd, access_petrov_rd, access_torch_fax, access_torch_helm, + access_radio_comm, access_radio_eng, access_radio_med, access_radio_sec, access_radio_sup, access_radio_serv, access_radio_exp, access_radio_sci, access_research_storage + ) + + software_on_spawn = list(/datum/computer_file/program/comm, + /datum/computer_file/program/card_mod, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/reports) + +/datum/job/hop/get_description_blurb() + return "You are the Executive Officer. You are an experienced senior officer, second in command of the ship, and are responsible for the smooth operation of the ship under your Commanding Officer. In their absence, you are expected to take their place. Your primary duty is directly managing department heads and all those outside a department heading. You are also responsible for the contractors and passengers aboard the ship. Consider the Senior Enlisted Advisor and Bridge Officers tools at your disposal." + +/datum/job/rd + title = "Chief Science Officer" + supervisors = "the Commanding Officer" + economic_power = 12 + minimal_player_age = 14 + minimum_character_age = list(SPECIES_HUMAN = 35) + ideal_character_age = 60 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/research/cso + allowed_branches = list( + /datum/mil_branch/expeditionary_corps + ) + allowed_ranks = list( + /datum/mil_rank/ec/o3, + /datum/mil_rank/ec/o5 + ) + + + min_skill = list( SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_COMPUTER = SKILL_BASIC, + SKILL_FINANCE = SKILL_TRAINED, + SKILL_BOTANY = SKILL_BASIC, + SKILL_ANATOMY = SKILL_BASIC, + SKILL_DEVICES = SKILL_BASIC, + SKILL_SCIENCE = SKILL_TRAINED) + + max_skill = list( SKILL_ANATOMY = SKILL_MAX, + SKILL_DEVICES = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX) + skill_points = 30 + + access = list( + access_tox, access_tox_storage, access_emergency_storage, access_teleporter, access_bridge, access_rd, + access_research, access_mining, access_mining_office, access_mining_station, access_xenobiology, access_aquila, + access_RC_announce, access_keycard_auth, access_xenoarch, access_nanotrasen, access_sec_guard, access_heads, + access_expedition_shuttle, access_guppy, access_hangar, access_petrov, access_petrov_helm, access_guppy_helm, + access_petrov_analysis, access_petrov_phoron, access_petrov_toxins, access_petrov_chemistry, access_petrov_rd, + access_petrov_control, access_petrov_maint, access_pathfinder, access_explorer, access_eva, access_solgov_crew, + access_expedition_shuttle, access_expedition_shuttle_helm, access_maint_tunnels, access_torch_fax, access_radio_comm, + access_radio_sci, access_radio_exp, access_research_storage + ) + + software_on_spawn = list(/datum/computer_file/program/comm, + /datum/computer_file/program/aidiag, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/reports) + +/datum/job/rd/get_description_blurb() + return "You are the Chief Science Officer. You are responsible for the research department. You handle the science aspects of the project and liase with the corporate interests of the Expeditionary Corps Organisation. Make sure science gets done, do some yourself, and get your scientists on away missions to find things to benefit the project. Advise the CO on science matters." + +/datum/job/cmo + title = "Chief Medical Officer" + supervisors = "the Commanding Officer and the Executive Officer" + economic_power = 14 + minimal_player_age = 14 + minimum_character_age = list(SPECIES_HUMAN = 35) + ideal_character_age = 48 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/command/cmo + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/command/cmo/fleet + ) + allowed_ranks = list( + /datum/mil_rank/fleet/o3, + /datum/mil_rank/fleet/o4, + /datum/mil_rank/ec/o3 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_MEDICAL = SKILL_EXPERIENCED, + SKILL_ANATOMY = SKILL_EXPERIENCED, + SKILL_CHEMISTRY = SKILL_BASIC, + SKILL_DEVICES = SKILL_TRAINED) + + max_skill = list( SKILL_MEDICAL = SKILL_MAX, + SKILL_ANATOMY = SKILL_MAX, + SKILL_CHEMISTRY = SKILL_MAX) + skill_points = 26 + + access = list( + access_medical, access_morgue, access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_teleporter, access_eva, access_bridge, access_heads, + access_chapel_office, access_crematorium, access_chemistry, access_virology, access_aquila, + access_cmo, access_surgery, access_RC_announce, access_keycard_auth, access_psychiatrist, + access_medical_equip, access_solgov_crew, access_senmed, access_hangar, access_torch_fax, access_radio_comm, + access_radio_med + ) + + software_on_spawn = list(/datum/computer_file/program/comm, + /datum/computer_file/program/suit_sensors, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/reports) + +/datum/job/cmo/get_description_blurb() + return "You are the Chief Medical Officer. You manage the medical department. You ensure all members of medical are skilled, tasked and handling their duties. Ensure your doctors are staffing your infirmary and your corpsman/paramedics are ready for response. Act as a second surgeon or backup pharmacist in the absence of either. You are expected to know medical very well, along with general regulations." + +/datum/job/chief_engineer + title = "Chief Engineer" + supervisors = "the Commanding Officer and the Executive Officer" + economic_power = 12 + minimum_character_age = list(SPECIES_HUMAN = 27) + ideal_character_age = 40 + minimal_player_age = 14 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/command/chief_engineer + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/command/chief_engineer/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/o3, + /datum/mil_rank/fleet/o2, + /datum/mil_rank/fleet/o3 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_COMPUTER = SKILL_TRAINED, + SKILL_EVA = SKILL_TRAINED, + SKILL_CONSTRUCTION = SKILL_TRAINED, + SKILL_ELECTRICAL = SKILL_TRAINED, + SKILL_ATMOS = SKILL_TRAINED, + SKILL_ENGINES = SKILL_EXPERIENCED) + + max_skill = list( SKILL_CONSTRUCTION = SKILL_MAX, + SKILL_ELECTRICAL = SKILL_MAX, + SKILL_ATMOS = SKILL_MAX, + SKILL_ENGINES = SKILL_MAX) + skill_points = 30 + + access = list( + access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_ai_upload, access_teleporter, access_eva, access_bridge, access_heads, + access_tech_storage, access_robotics, access_atmospherics, access_janitor, access_construction, + access_network, access_network_admin, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, + access_solgov_crew, access_aquila, access_seneng, access_hangar, access_torch_fax, access_torch_helm, access_radio_comm, + access_radio_eng + ) + + software_on_spawn = list(/datum/computer_file/program/comm, + /datum/computer_file/program/ntnetmonitor, + /datum/computer_file/program/power_monitor, + /datum/computer_file/program/supermatter_monitor, + /datum/computer_file/program/alarm_monitor, + /datum/computer_file/program/atmos_control, + /datum/computer_file/program/rcon_console, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/shields_monitor, + /datum/computer_file/program/reports) + +/datum/job/chief_engineer/get_description_blurb() + return "You are the Chief Engineer. You manage the Engineering Department. You are responsible for the Senior engineer, who is your right hand and (should be) an experienced, skilled engineer. Delegate to and listen to them. Manage your engineers, ensure vessel power stays on, breaches are patched and problems are fixed. Advise the CO on engineering matters. You are also responsible for the maintenance and control of any vessel synthetics. You are an experienced engineer with a wealth of theoretical knowledge. You should also know vessel regulations to a reasonable degree." + +/datum/job/hos + title = "Chief of Security" + supervisors = "the Commanding Officer and the Executive Officer" + economic_power = 10 + minimal_player_age = 14 + minimum_character_age = list(SPECIES_HUMAN = 25) + ideal_character_age = 35 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/command/cos + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/command/cos/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/o3, + /datum/mil_rank/fleet/o2, + /datum/mil_rank/fleet/o3 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_EVA = SKILL_BASIC, + SKILL_COMBAT = SKILL_BASIC, + SKILL_WEAPONS = SKILL_TRAINED, + SKILL_FORENSICS = SKILL_BASIC) + + max_skill = list( SKILL_COMBAT = SKILL_MAX, + SKILL_WEAPONS = SKILL_MAX, + SKILL_FORENSICS = SKILL_MAX) + skill_points = 28 + + access = list( + access_security, access_brig, access_armory, access_forensics_lockers, + access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_teleporter, access_eva, access_bridge, access_heads, access_aquila, + access_hos, access_RC_announce, access_keycard_auth, access_sec_doors, + access_solgov_crew, access_gun, access_emergency_armory, access_hangar, access_torch_fax, + access_radio_comm, access_radio_sec + ) + + software_on_spawn = list(/datum/computer_file/program/comm, + /datum/computer_file/program/digitalwarrant, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/reports) + +/datum/job/hos/get_description_blurb() + return "You are the Chief of Security. You manage ship security. The Masters at Arms and the Military Police, as well as the Brig Chief and the Forensic Technician. You keep the vessel safe. You handle both internal and external security matters. You are the law. You are subordinate to the CO and the XO. You are expected to know the SCMJ and Sol law and Alert Procedure to a very high degree along with general regulations." + +/datum/job/representative + title = "SolGov Representative" + department = "Support" + department_flag = SPT + total_positions = 1 + spawn_positions = 1 + supervisors = "the Sol Central Government and the SCG Charter" + selection_color = "#2f2f7f" + economic_power = 16 + minimal_player_age = 0 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/representative + allowed_branches = list(/datum/mil_branch/solgov) + allowed_ranks = list(/datum/mil_rank/sol/gov) + min_skill = list( SKILL_BUREAUCRACY = SKILL_EXPERIENCED, + SKILL_FINANCE = SKILL_BASIC) + skill_points = 20 + minimum_character_age = list(SPECIES_HUMAN = 27) + + access = list( + access_representative, access_security, access_medical, + access_bridge, access_cargo, access_solgov_crew, + access_hangar, access_torch_fax, access_radio_comm + ) + + software_on_spawn = list(/datum/computer_file/program/reports) + +/datum/job/representative/get_description_blurb() + return "You are the Sol Gov Representative. You are a civilian assigned as both a diplomatic liaison for first contact and foreign affair situations on board. You are also responsible for monitoring for any serious missteps of justice, sol law or other ethical or legal issues aboard and informing and advising the Commanding Officer of them. You are a mid-level bureaucrat. You liaise between the crew and corporate interests on board. Send faxes back to Sol on mission progress and important events." + +/datum/job/sea + title = "Senior Enlisted Advisor" + department = "Support" + department_flag = SPT + total_positions = 1 + spawn_positions = 1 + supervisors = "the Commanding Officer and the Executive Officer" + selection_color = "#2f2f7f" + minimal_player_age = 14 + economic_power = 11 + minimum_character_age = list(SPECIES_HUMAN = 35) + ideal_character_age = 45 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/command/sea/fleet + allowed_branches = list( + /datum/mil_branch/fleet + ) + allowed_ranks = list( + /datum/mil_rank/fleet/e8, + /datum/mil_rank/fleet/e9_alt1, + /datum/mil_rank/fleet/e9 + ) + min_skill = list( SKILL_EVA = SKILL_BASIC, + SKILL_COMBAT = SKILL_BASIC, + SKILL_WEAPONS = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_TRAINED, + SKILL_COMBAT = SKILL_EXPERIENCED, + SKILL_WEAPONS = SKILL_EXPERIENCED, + SKILL_CONSTRUCTION = SKILL_MAX, + SKILL_ELECTRICAL = SKILL_MAX, + SKILL_ENGINES = SKILL_MAX, + SKILL_ATMOS = SKILL_MAX) + skill_points = 28 + + + access = list( + access_security, access_medical, access_engine, access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_teleporter, access_eva, access_bridge, access_all_personal_lockers, access_janitor, + access_kitchen, access_cargo, access_RC_announce, access_keycard_auth, access_aquila, access_guppy_helm, + access_solgov_crew, access_gun, access_expedition_shuttle, access_guppy, access_senadv, access_hangar, access_torch_fax, + access_radio_comm, access_radio_eng, access_radio_med, access_radio_sec, access_radio_serv, access_radio_sup, access_radio_exp + ) + + software_on_spawn = list(/datum/computer_file/program/camera_monitor, + /datum/computer_file/program/reports) + +/datum/job/sea/get_description_blurb() + return "You are the Senior Enlisted Advisor. You are the highest enlisted person on the ship. You are directly subordinate to the CO. You advise them on enlisted concerns and provide expertise and advice to officers. You are responsible for ensuring discipline and good conduct among enlisted, as well as notifying officers of any issues and \"advising\" them on mistakes they make. You also handle various duties on behalf of the CO and XO. You are an experienced enlisted person, very likely equal only in experience to the CO and XO. You know the regulations better than anyone." + +/datum/job/bridgeofficer + title = "Bridge Officer" + department = "Support" + department_flag = SPT + total_positions = 3 + spawn_positions = 3 + supervisors = "the Commanding Officer and heads of staff" + selection_color = "#2f2f7f" + minimal_player_age = 0 + economic_power = 8 + minimum_character_age = list(SPECIES_HUMAN = 22) + ideal_character_age = 24 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/command/bridgeofficer + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/command/bridgeofficer/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/o1, + /datum/mil_rank/fleet/o1 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_PILOT = SKILL_TRAINED) + + max_skill = list( SKILL_PILOT = SKILL_MAX) + skill_points = 20 + + + access = list( + access_security, access_medical, access_engine, access_maint_tunnels, access_emergency_storage, + access_bridge, access_janitor, access_kitchen, access_cargo, access_mailsorting, access_RC_announce, access_keycard_auth, + access_solgov_crew, access_aquila, access_aquila_helm, access_guppy, access_guppy_helm, access_external_airlocks, + access_eva, access_hangar, access_cent_creed, access_explorer, access_expedition_shuttle, access_expedition_shuttle_helm, access_teleporter, + access_torch_fax, access_torch_helm, access_radio_comm, access_radio_eng, access_radio_exp, access_radio_serv, access_radio_sci, access_radio_sup + ) + + software_on_spawn = list(/datum/computer_file/program/comm, + /datum/computer_file/program/suit_sensors, + /datum/computer_file/program/power_monitor, + /datum/computer_file/program/supermatter_monitor, + /datum/computer_file/program/alarm_monitor, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/shields_monitor, + /datum/computer_file/program/reports, + /datum/computer_file/program/deck_management) + +/datum/job/bridgeofficer/get_description_blurb() + return "You are a Bridge Officer. You are a very junior officer. You do not give orders of your own. You are subordinate to all of command. You handle matters on the bridge and report directly to the CO and XO. You take the Torch's helm and pilot the Aquila if needed. You monitor bridge computer programs and communications and report relevant information to command." diff --git a/maps/torch_fd/job/corporate_jobs.dm b/maps/torch_fd/job/corporate_jobs.dm new file mode 100644 index 0000000000000..3f17926d9ea09 --- /dev/null +++ b/maps/torch_fd/job/corporate_jobs.dm @@ -0,0 +1,34 @@ +/datum/job/liaison + title = "Workplace Liaison" + department = "Support" + department_flag = SPT + total_positions = 1 + spawn_positions = 1 + supervisors = "Corporate Regulations, the Union Charter, and the Expeditionary Corps Organisation" + selection_color = "#2f2f7f" + economic_power = 18 + minimal_player_age = 0 + minimum_character_age = list(SPECIES_HUMAN = 25) + alt_titles = list( + "Corporate Liaison", + "Union Representative", + "Corporate Representative", + "Corporate Executive" + ) + outfit_type = /singleton/hierarchy/outfit/job/torch/passenger/workplace_liaison + allowed_branches = list(/datum/mil_branch/civilian) + allowed_ranks = list(/datum/mil_rank/civ/contractor) + min_skill = list( SKILL_BUREAUCRACY = SKILL_EXPERIENCED, + SKILL_FINANCE = SKILL_BASIC) + skill_points = 20 + + access = list( + access_liaison, access_bridge, access_solgov_crew, + access_nanotrasen, access_commissary, access_torch_fax, + access_radio_comm, access_radio_serv + ) + + software_on_spawn = list(/datum/computer_file/program/reports) + +/datum/job/liaison/get_description_blurb() + return "You are the Workplace Liaison. You are a civilian employee of EXO, the Expeditionary Corps Organisation, the government-owned corporate conglomerate that partially funds the Torch. You are on board the vessel to promote corporate interests and protect the rights of the contractors on board as their union leader. You are not internal affairs. You advise command on corporate and union matters and contractors on their rights and obligations. Maximise profit. Be the shady corporate shill you always wanted to be." diff --git a/maps/torch_fd/job/engineering_jobs.dm b/maps/torch_fd/job/engineering_jobs.dm new file mode 100644 index 0000000000000..ff139ad8761cd --- /dev/null +++ b/maps/torch_fd/job/engineering_jobs.dm @@ -0,0 +1,214 @@ +/datum/job/senior_engineer + title = "Senior Engineer" + department = "Engineering" + department_flag = ENG + total_positions = 1 + spawn_positions = 1 + supervisors = "the Chief Engineer" + selection_color = "#5b4d20" + economic_power = 7 + minimal_player_age = 3 + minimum_character_age = list(SPECIES_HUMAN = 27) + ideal_character_age = 40 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/engineering/senior_engineer + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/engineering/senior_engineer/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/e7, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/fleet/e7, + /datum/mil_rank/fleet/e8, + ) + min_skill = list( SKILL_COMPUTER = SKILL_TRAINED, + SKILL_EVA = SKILL_TRAINED, + SKILL_CONSTRUCTION = SKILL_TRAINED, + SKILL_ELECTRICAL = SKILL_TRAINED, + SKILL_ATMOS = SKILL_TRAINED, + SKILL_ENGINES = SKILL_TRAINED) + + max_skill = list( SKILL_CONSTRUCTION = SKILL_MAX, + SKILL_ELECTRICAL = SKILL_MAX, + SKILL_ATMOS = SKILL_MAX, + SKILL_ENGINES = SKILL_MAX) + skill_points = 20 + + access = list( + access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_teleporter, access_eva, access_tech_storage, access_atmospherics, access_janitor, access_construction, + access_tcomsat, access_solgov_crew, access_seneng, access_hangar, access_network, access_network_admin, access_radio_eng + ) + + software_on_spawn = list(/datum/computer_file/program/power_monitor, + /datum/computer_file/program/supermatter_monitor, + /datum/computer_file/program/alarm_monitor, + /datum/computer_file/program/atmos_control, + /datum/computer_file/program/rcon_console, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/shields_monitor) + +/datum/job/senior_engineer/get_description_blurb() + return "You are the Senior Engineer. You are a veteran SNCO. You are subordinate to the Chief Engineer though you may have many years more experience than them and your subordinates are the rest of engineering. You should be an expert in practically every engineering area and familiar and possess leadership skills. Coordinate the team and ensure the smooth running of the department along with the Chief Engineer." + +/datum/job/engineer + title = "Engineer" + total_positions = 6 + spawn_positions = 6 + supervisors = "the Chief Engineer" + economic_power = 5 + minimal_player_age = 0 + minimum_character_age = list(SPECIES_HUMAN = 19) + ideal_character_age = 30 + alt_titles = list( + "Engine Technician", + "Damage Control Technician", + "Electrician", + "Atmospheric Technician", + ) + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/engineering/engineer + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/engineering/engineer/fleet, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/engineering/contractor + ) + allowed_ranks = list( + /datum/mil_rank/fleet/e3, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/fleet/e5, + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5, + /datum/mil_rank/civ/contractor + ) + min_skill = list( SKILL_COMPUTER = SKILL_BASIC, + SKILL_EVA = SKILL_BASIC, + SKILL_CONSTRUCTION = SKILL_TRAINED, + SKILL_ELECTRICAL = SKILL_BASIC, + SKILL_ATMOS = SKILL_BASIC, + SKILL_ENGINES = SKILL_BASIC) + + max_skill = list( SKILL_CONSTRUCTION = SKILL_MAX, + SKILL_ELECTRICAL = SKILL_MAX, + SKILL_ATMOS = SKILL_MAX, + SKILL_ENGINES = SKILL_MAX) + skill_points = 20 + + access = list( + access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_teleporter, access_eva, access_tech_storage, access_atmospherics, access_janitor, access_construction, + access_solgov_crew, access_hangar, access_network, access_radio_eng + ) + + software_on_spawn = list(/datum/computer_file/program/power_monitor, + /datum/computer_file/program/supermatter_monitor, + /datum/computer_file/program/alarm_monitor, + /datum/computer_file/program/atmos_control, + /datum/computer_file/program/rcon_console, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/shields_monitor) + +/datum/job/engineer/get_description_blurb() + return "You are an Engineer. You operate under one of many titles and may be highly specialised in a specific area of engineering. You probably have at least a general familiarity with most other areas though this is not expected. You are subordinate to the Senior Engineer and the Chief Engineer and are expected to follow them." + +/datum/job/engineer_trainee + title = "Engineer Trainee" + department = "Engineering" + department_flag = ENG + total_positions = 2 + spawn_positions = 2 + supervisors = "the Chief Engineer and Engineering Personnel" + selection_color = "#5b4d20" + minimum_character_age = list(SPECIES_HUMAN = 18) + ideal_character_age = 20 + + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/engineering/engineer + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/engineering/engineer/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/fleet/e2 + ) + + skill_points = 4 + no_skill_buffs = TRUE + + min_skill = list( SKILL_COMPUTER = SKILL_BASIC, + SKILL_HAULING = SKILL_TRAINED, + SKILL_EVA = SKILL_TRAINED, + SKILL_CONSTRUCTION = SKILL_TRAINED, + SKILL_ELECTRICAL = SKILL_TRAINED, + SKILL_ATMOS = SKILL_TRAINED, + SKILL_ENGINES = SKILL_TRAINED) + + max_skill = list( SKILL_CONSTRUCTION = SKILL_MAX, + SKILL_ELECTRICAL = SKILL_MAX, + SKILL_ATMOS = SKILL_MAX, + SKILL_ENGINES = SKILL_MAX) + + access = list( + access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_eva, access_tech_storage, access_janitor, access_construction, + access_solgov_crew, access_hangar, access_radio_eng + ) + + software_on_spawn = list(/datum/computer_file/program/power_monitor, + /datum/computer_file/program/supermatter_monitor, + /datum/computer_file/program/alarm_monitor, + /datum/computer_file/program/atmos_control, + /datum/computer_file/program/rcon_console, + /datum/computer_file/program/camera_monitor, + /datum/computer_file/program/shields_monitor) + +/datum/job/engineer_trainee/get_description_blurb() + return "You are an Engineer Trainee. You are learning how to operate the various onboard engineering systems from senior engineering staff. You are subordinate to all of the other engineers aboard. The role is only for players new to the engineering system and department." + +/datum/job/roboticist + title = "Roboticist" + department = "Engineering" + department_flag = ENG|ROB + + total_positions = 2 + spawn_positions = 2 + minimal_player_age = 0 + minimum_character_age = list(SPECIES_HUMAN = 25) + supervisors = "the Chief Engineer." + selection_color = "#5b4d20" + economic_power = 6 + alt_titles = list( + "Mechsuit Technician") + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/engineering/roboticist + allowed_branches = list( + /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/crew/engineering/roboticistec, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/engineering/roboticistfleet, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/engineering/roboticist + ) + allowed_ranks = list( + /datum/mil_rank/fleet/e5, + /datum/mil_rank/ec/e5, + /datum/mil_rank/civ/contractor + ) + min_skill = list( SKILL_COMPUTER = SKILL_TRAINED, + SKILL_DEVICES = SKILL_EXPERIENCED, + SKILL_EVA = SKILL_TRAINED, + SKILL_ANATOMY = SKILL_TRAINED, + SKILL_CONSTRUCTION = SKILL_BASIC, + SKILL_ELECTRICAL = SKILL_BASIC, + SKILL_MECH = HAS_PERK) + + max_skill = list( SKILL_CONSTRUCTION = SKILL_MAX, + SKILL_ELECTRICAL = SKILL_MAX, + SKILL_ATMOS = SKILL_EXPERIENCED, + SKILL_ENGINES = SKILL_EXPERIENCED, + SKILL_DEVICES = SKILL_MAX, + SKILL_MEDICAL = SKILL_EXPERIENCED, + SKILL_ANATOMY = SKILL_EXPERIENCED) + skill_points = 20 + + access = list( + access_robotics, access_engine, access_solgov_crew, access_network, access_radio_eng + ) + +/datum/job/roboticist/get_description_blurb() + return "You are the Roboticist. You are responsible for repairing, upgrading and handling ship synthetics (like robots). You are also responsible for the production of exosuits(mechs) and bots for various departments. You answer to the Chief Engineer." diff --git a/maps/torch_fd/job/exploration_jobs.dm b/maps/torch_fd/job/exploration_jobs.dm new file mode 100644 index 0000000000000..561b8b592c703 --- /dev/null +++ b/maps/torch_fd/job/exploration_jobs.dm @@ -0,0 +1,217 @@ +/datum/job/pathfinder + title = "Pathfinder" + department = "Exploration" + department_flag = EXP + total_positions = 1 + spawn_positions = 1 + supervisors = "the Chief Science Officer" + selection_color = "#68099e" + minimal_player_age = 1 + economic_power = 10 + minimum_character_age = list(SPECIES_HUMAN = 25) + ideal_character_age = 35 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/exploration/pathfinder + allowed_branches = list(/datum/mil_branch/expeditionary_corps) + allowed_ranks = list( + /datum/mil_rank/ec/o1, + /datum/mil_rank/ec/o3 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_EVA = SKILL_TRAINED, + SKILL_SCIENCE = SKILL_TRAINED, + SKILL_PILOT = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX, + SKILL_COMBAT = SKILL_EXPERIENCED, + SKILL_WEAPONS = SKILL_EXPERIENCED) + skill_points = 22 + + access = list( + access_pathfinder, access_explorer, access_eva, access_maint_tunnels, access_bridge, access_emergency_storage, + access_guppy_helm, access_solgov_crew, access_expedition_shuttle, access_expedition_shuttle_helm, + access_guppy, access_hangar, access_petrov, access_petrov_helm, access_petrov_analysis, access_petrov_phoron, + access_petrov_toxins, access_petrov_chemistry, access_petrov_maint, access_tox, access_tox_storage, access_research, + access_xenobiology, access_xenoarch, access_torch_fax, access_radio_comm, access_radio_exp, access_radio_sci, access_research_storage + ) + + software_on_spawn = list(/datum/computer_file/program/deck_management, + /datum/computer_file/program/reports) + +/datum/job/pathfinder/get_description_blurb() + return "You are the Pathfinder. Your duty is to organize and lead the expeditions to away sites, carrying out the EC's Primary Mission. You command Explorers. You make sure that expedition has the supplies and personnel it needs. You can pilot Charon if nobody else provides a pilot. Once on the away mission, your duty is to ensure that anything of scientific interest is brought back to the ship and passed to the relevant research lab." + +/datum/job/nt_pilot + title = "Shuttle Pilot" + supervisors = "the Pathfinder" + department = "Exploration" + department_flag = EXP + total_positions = 1 + spawn_positions = 1 + selection_color = "#68099e" + economic_power = 8 + minimal_player_age = 0 + minimum_character_age = list(SPECIES_HUMAN = 24) + ideal_character_age = 25 + outfit_type = /singleton/hierarchy/outfit/job/torch/passenger/pilot + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/crew/exploration/pilot, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/pilot/fleet + ) + allowed_ranks = list( + /datum/mil_rank/civ/contractor = /singleton/hierarchy/outfit/job/torch/passenger/research/nt_pilot, + /datum/mil_rank/ec/e7, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/fleet/e7 + ) + + access = list( + access_mining_office, access_petrov, access_petrov_helm, access_petrov_maint, access_mining_station, + access_expedition_shuttle, access_expedition_shuttle_helm, access_guppy, access_hangar, access_guppy_helm, + access_mining, access_pilot, access_solgov_crew, access_eva, access_explorer, access_research, + access_radio_exp, access_radio_sci, access_radio_sup, access_maint_tunnels, access_emergency_storage + ) + min_skill = list( SKILL_EVA = SKILL_BASIC, + SKILL_PILOT = SKILL_TRAINED) + + max_skill = list( SKILL_PILOT = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX) + +/datum/job/explorer + title = "Explorer" + department = "Exploration" + department_flag = EXP + total_positions = 5 + spawn_positions = 5 + supervisors = "the Pathfinder" + selection_color = "#68099e" + minimum_character_age = list(SPECIES_HUMAN = 18) + ideal_character_age = 20 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/exploration/explorer + allowed_branches = list(/datum/mil_branch/expeditionary_corps) + + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5 + ) + min_skill = list( SKILL_EVA = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX, + SKILL_COMBAT = SKILL_EXPERIENCED, + SKILL_WEAPONS = SKILL_EXPERIENCED) + + access = list( + access_explorer, access_maint_tunnels, access_eva, access_emergency_storage, + access_guppy_helm, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, + access_petrov, access_petrov_maint, access_research, access_radio_exp + ) + + software_on_spawn = list(/datum/computer_file/program/deck_management) + +/datum/job/explorer/get_description_blurb() + return "You are an Explorer. Your duty is to go on expeditions to away sites. The Pathfinder is your team leader. You are to look for anything of economic or scientific interest to the SCG - mineral deposits, alien flora/fauna, artifacts. You will also likely encounter hazardous environments, aggressive wildlife or malfunctioning defense systems, so tread carefully." + +/datum/job/expmed + title = "Exploration Medic" + department = "Exploration" + department_flag = EXP + total_positions = 1 + spawn_positions = 1 + supervisors = "the Commanding Officer, Executive Officer, and Pathfinder" + selection_color = "#68099e" + minimum_character_age = list(SPECIES_HUMAN = 19) + ideal_character_age = 25 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/fleet, + /datum/mil_branch/scga = /singleton/hierarchy/outfit/job/torch/crew/exploration/expmed/army + ) + + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/fleet/e5, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/scga/e4_alt, + /datum/mil_rank/scga/e4, + /datum/mil_rank/scga/e5, + /datum/mil_rank/scga/e6 + ) + min_skill = list( SKILL_EVA = SKILL_BASIC, + SKILL_MEDICAL = SKILL_TRAINED + ) + max_skill = list( SKILL_MEDICAL = SKILL_EXPERIENCED, + SKILL_ANATOMY = SKILL_TRAINED, + SKILL_PILOT = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX, + SKILL_COMBAT = SKILL_EXPERIENCED, + SKILL_WEAPONS = SKILL_EXPERIENCED) + skill_points = 22 + + access = list( + access_explorer, access_maint_tunnels, access_eva, access_emergency_storage, + access_guppy_helm, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, + access_petrov, access_petrov_maint, access_research, access_radio_exp, access_radio_med, + access_medical, access_expedition_shuttle_helm + ) + + software_on_spawn = list(/datum/computer_file/program/suit_sensors, + /datum/computer_file/program/deck_management) + +/datum/job/expmed/get_description_blurb() + return "You are an Exploration Medic. Your duty is to go on expeditions to away sites. The Pathfinder is your team leader. You are to keep your team members alive. Keep a note that you are not a doctor, don't try to preform surgeries on your shuttle as you're not qualified for that." + +/datum/job/expeng + title = "Exploration Engineer" + department = "Exploration" + department_flag = EXP + total_positions = 1 + spawn_positions = 1 + supervisors = "the Commanding Officer, Executive Officer, and Pathfinder" + selection_color = "#68099e" + minimum_character_age = list(SPECIES_HUMAN = 19) + ideal_character_age = 25 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/fleet, + /datum/mil_branch/scga = /singleton/hierarchy/outfit/job/torch/crew/exploration/expeng/army + ) + + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/fleet/e5, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/scga/e4_alt, + /datum/mil_rank/scga/e4, + /datum/mil_rank/scga/e5, + /datum/mil_rank/scga/e6 + ) + min_skill = list( SKILL_EVA = SKILL_BASIC, + SKILL_CONSTRUCTION = SKILL_BASIC, + SKILL_ELECTRICAL = SKILL_BASIC, + SKILL_MEDICAL = SKILL_BASIC + ) + max_skill = list( SKILL_ANATOMY = SKILL_TRAINED, + SKILL_PILOT = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX, + SKILL_COMBAT = SKILL_EXPERIENCED, + SKILL_WEAPONS = SKILL_EXPERIENCED) + skill_points = 22 + + access = list( + access_explorer, access_maint_tunnels, access_eva, access_emergency_storage, + access_guppy_helm, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, + access_petrov, access_petrov_maint, access_research, access_radio_exp, access_radio_eng, access_expedition_shuttle_helm + ) + + software_on_spawn = list(/datum/computer_file/program/deck_management) + +/datum/job/expeng/get_description_blurb() + return "You are an Exploration Engineer. Your duty is to go on expeditions to away sites. The Pathfinder is your team leader. You are to keep shuttle operational and make holes wherever your boss says." diff --git a/maps/torch_fd/job/medical_jobs.dm b/maps/torch_fd/job/medical_jobs.dm new file mode 100644 index 0000000000000..be0d938972952 --- /dev/null +++ b/maps/torch_fd/job/medical_jobs.dm @@ -0,0 +1,263 @@ +/datum/job/senior_doctor + title = "Physician" + department = "Medical" + department_flag = MED + minimal_player_age = 2 + minimum_character_age = list(SPECIES_HUMAN = 29) + ideal_character_age = 45 + total_positions = 2 + spawn_positions = 2 + supervisors = "the Chief Medical Officer" + selection_color = "#013d3b" + economic_power = 10 + alt_titles = list( + "Surgeon") + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/medical/senior + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/medical/senior/fleet, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/medical/contractor/senior + ) + allowed_ranks = list( + /datum/mil_rank/ec/o1, + /datum/mil_rank/fleet/o1, + /datum/mil_rank/fleet/o2, + /datum/mil_rank/civ/contractor + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_MEDICAL = SKILL_EXPERIENCED, + SKILL_ANATOMY = SKILL_EXPERIENCED, + SKILL_CHEMISTRY = SKILL_BASIC, + SKILL_DEVICES = SKILL_TRAINED) + + max_skill = list( SKILL_MEDICAL = SKILL_MAX, + SKILL_ANATOMY = SKILL_MAX, + SKILL_CHEMISTRY = SKILL_MAX) + skill_points = 20 + + access = list( + access_medical, access_morgue, access_virology, access_maint_tunnels, access_emergency_storage, + access_crematorium, access_chemistry, access_surgery, + access_medical_equip, access_solgov_crew, access_senmed, access_radio_med + ) + + software_on_spawn = list(/datum/computer_file/program/suit_sensors, + /datum/computer_file/program/camera_monitor) + +/datum/job/junior_doctor + title = "Medical Resident" + department = "Medical" + department_flag = MED + minimal_player_age = 2 + minimum_character_age = list(SPECIES_HUMAN = 24) + ideal_character_age = 45 + total_positions = 1 + spawn_positions = 1 + supervisors = "physicians and the Chief Medical Officer" + selection_color = "#013d3b" + economic_power = 6 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/medical/senior + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/medical/senior/fleet, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/medical/contractor/senior + ) + allowed_ranks = list( + /datum/mil_rank/ec/o1, + /datum/mil_rank/fleet/o1, + /datum/mil_rank/civ/contractor + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_MEDICAL = SKILL_EXPERIENCED, + SKILL_ANATOMY = SKILL_EXPERIENCED, + SKILL_CHEMISTRY = SKILL_BASIC, + SKILL_DEVICES = SKILL_TRAINED) + + max_skill = list( SKILL_MEDICAL = SKILL_MAX, + SKILL_ANATOMY = SKILL_MAX, + SKILL_CHEMISTRY = SKILL_MAX) + skill_points = 16 + + access = list( + access_medical, access_morgue, access_virology, access_maint_tunnels, access_emergency_storage, + access_crematorium, access_chemistry, access_surgery, + access_medical_equip, access_solgov_crew, access_senmed, access_radio_med + ) + + software_on_spawn = list(/datum/computer_file/program/suit_sensors, + /datum/computer_file/program/camera_monitor) + +/datum/job/doctor + title = "Medical Technician" + total_positions = 3 + spawn_positions = 3 + supervisors = "physicians and the Chief Medical Officer" + economic_power = 7 + minimum_character_age = list(SPECIES_HUMAN = 19) + ideal_character_age = 40 + minimal_player_age = 0 + alt_titles = list( + "Paramedic", + "Corpsman") + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/medical/doctor + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/medical/doctor/fleet, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/medical/contractor + ) + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5, + /datum/mil_rank/fleet/e3, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/fleet/e5, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/civ/contractor + ) + min_skill = list( SKILL_EVA = SKILL_BASIC, + SKILL_MEDICAL = SKILL_BASIC, + SKILL_ANATOMY = SKILL_BASIC) + + max_skill = list( SKILL_MEDICAL = SKILL_MAX, + SKILL_CHEMISTRY = SKILL_MAX) + + access = list( + access_medical, access_morgue, access_maint_tunnels, + access_external_airlocks, access_emergency_storage, + access_eva, access_surgery, access_medical_equip, + access_solgov_crew, access_hangar, access_radio_med + ) + + software_on_spawn = list(/datum/computer_file/program/suit_sensors, + /datum/computer_file/program/camera_monitor) + skill_points = 22 + +/datum/job/medical_trainee + title = "Trainee Medical Technician" + department = "Medical" + department_flag = MED + total_positions = 1 + spawn_positions = 1 + supervisors = "medical personnel and the Chief Medical Officer" + selection_color = "#013d3b" + minimum_character_age = list(SPECIES_HUMAN = 18) + ideal_character_age = 20 + alt_titles = list( + "Corpsman Trainee") + + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/medical/doctor + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/medical/doctor/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/fleet/e2 + ) + + skill_points = 4 + no_skill_buffs = TRUE + + min_skill = list( SKILL_EVA = SKILL_TRAINED, + SKILL_HAULING = SKILL_TRAINED, + SKILL_MEDICAL = SKILL_EXPERIENCED, + SKILL_ANATOMY = SKILL_BASIC) + + max_skill = list( SKILL_MEDICAL = SKILL_MAX, + SKILL_ANATOMY = SKILL_MAX, + SKILL_CHEMISTRY = SKILL_MAX) + + access = list( + access_medical, access_morgue, access_maint_tunnels, + access_external_airlocks, access_emergency_storage, + access_surgery, access_medical_equip, access_solgov_crew, + access_radio_med + ) + + software_on_spawn = list(/datum/computer_file/program/suit_sensors, + /datum/computer_file/program/camera_monitor) + +/datum/job/medical_trainee/get_description_blurb() + return "You are a Trainee Medical Technician. You are learning how to treat and recover wounded crew from the more experienced medical personnel aboard. You are subordinate to the rest of the medical team. The role is only for players new to the medical system and department." + +/datum/job/chemist + title = "Pharmacist" + department = "Medical" + department_flag = MED + total_positions = 1 + spawn_positions = 1 + supervisors = "medical personnel, and the Chief Medical Officer" + selection_color = "#013d3b" + economic_power = 4 + minimum_character_age = list(SPECIES_HUMAN = 25) + ideal_character_age = 30 + minimal_player_age = 7 + alt_titles = list( + "Chemist" + ) + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/medical/contractor/chemist + allowed_branches = list(/datum/mil_branch/civilian) + allowed_ranks = list(/datum/mil_rank/civ/contractor) + min_skill = list( SKILL_MEDICAL = SKILL_BASIC, + SKILL_CHEMISTRY = SKILL_TRAINED) + + max_skill = list( SKILL_MEDICAL = SKILL_BASIC, + SKILL_ANATOMY = SKILL_BASIC, + SKILL_CHEMISTRY = SKILL_MAX) + skill_points = 16 + + access = list( + access_medical, access_maint_tunnels, access_emergency_storage, + access_medical_equip, access_solgov_crew, access_chemistry, + access_virology, access_morgue, access_crematorium, access_radio_med + ) + +/datum/job/chemist/get_description_blurb() + return "You are the Pharmacist. You make medicine and other useful substances. You are not a doctor or medic; you should not be treating patients, but rather providing the medicine to do so. You are subordinate to Physicians and Medical Technicians." + +/datum/job/psychiatrist + title = "Counselor" + total_positions = 1 + spawn_positions = 1 + ideal_character_age = 40 + economic_power = 5 + minimum_character_age = list(SPECIES_HUMAN = 24) + minimal_player_age = 0 + supervisors = "the Chief Medical Officer" + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/medical/counselor + alt_titles = list( + "Psychiatrist", + "Psychologist", + "Mentalist" + ) + + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/crew/medical/counselor/ec, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/medical/counselor/fleet) + allowed_ranks = list( + /datum/mil_rank/civ/contractor, + /datum/mil_rank/fleet/o1, + /datum/mil_rank/ec/o1) + min_skill = list( + SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_MEDICAL = SKILL_BASIC + ) + max_skill = list( + SKILL_MEDICAL = SKILL_TRAINED, + SKILL_ANATOMY = SKILL_TRAINED + ) + access = list( + access_medical, access_psychiatrist, + access_solgov_crew, access_medical_equip, access_radio_med + ) + + software_on_spawn = list( + /datum/computer_file/program/suit_sensors, + /datum/computer_file/program/camera_monitor + ) + give_psionic_implant_on_join = FALSE + + +/datum/job/psychiatrist/get_description_blurb() + return "You are the Counselor. Your main responsibility is the mental health and wellbeing of the crew. You are subordinate to the Chief Medical Officer." diff --git a/maps/torch_fd/job/misc_jobs.dm b/maps/torch_fd/job/misc_jobs.dm new file mode 100644 index 0000000000000..f2c323110fff8 --- /dev/null +++ b/maps/torch_fd/job/misc_jobs.dm @@ -0,0 +1,84 @@ +/******** +Synthetic +********/ + +/datum/job/cyborg + total_positions = 3 + spawn_positions = 3 + supervisors = "your laws" + minimal_player_age = 3 + allowed_ranks = list( + /datum/mil_rank/civ/synthetic + ) + +/datum/job/ai + minimal_player_age = 7 + total_positions = 1 + spawn_positions = 1 + allowed_ranks = list( + /datum/mil_rank/civ/synthetic + ) + +/******* +Civilian +*******/ + +/datum/job/assistant + title = "Passenger" + total_positions = -1 + spawn_positions = -1 + supervisors = "the Executive Officer" + economic_power = 6 + announced = FALSE + alt_titles = list( + "Journalist" = /singleton/hierarchy/outfit/job/torch/passenger/passenger/journalist, + "Historian", + "Botanist", + "Investor" = /singleton/hierarchy/outfit/job/torch/passenger/passenger/investor, + "Naturalist", + "Ecologist", + "Entertainer", + "Independent Observer", + "Sociologist", + "Trainer", + "Off-Duty" + ) + outfit_type = /singleton/hierarchy/outfit/job/torch/passenger/passenger + allowed_branches = list(/datum/mil_branch/civilian) + allowed_ranks = list( + /datum/mil_rank/civ/civ, + /datum/mil_rank/civ/contractor + ) + min_goals = 2 + max_goals = 7 + +/datum/job/merchant + title = "Merchant" + department = "Civilian" + department_flag = CIV + total_positions = 2 + spawn_positions = 2 + availablity_chance = 30 + supervisors = "the invisible hand of the market" + ideal_character_age = 30 + minimal_player_age = 0 + create_record = 0 + outfit_type = /singleton/hierarchy/outfit/job/torch/merchant + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/alien + ) + allowed_ranks = list( + /datum/mil_rank/civ/civ, + /datum/mil_rank/alien + ) + latejoin_at_spawnpoints = 1 + access = list(access_merchant) + announced = FALSE + min_skill = list( SKILL_FINANCE = SKILL_TRAINED, + SKILL_PILOT = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_MAX) + skill_points = 24 + required_language = null + give_psionic_implant_on_join = FALSE diff --git a/maps/torch_fd/job/research_jobs.dm b/maps/torch_fd/job/research_jobs.dm new file mode 100644 index 0000000000000..c5a8298d43b15 --- /dev/null +++ b/maps/torch_fd/job/research_jobs.dm @@ -0,0 +1,176 @@ +/datum/job/senior_scientist + title = "Senior Researcher" + department = "Science" + department_flag = SCI + + total_positions = 1 + spawn_positions = 1 + supervisors = "the Chief Science Officer" + selection_color = "#633d63" + economic_power = 12 + minimal_player_age = 3 + minimum_character_age = list(SPECIES_HUMAN = 30) + ideal_character_age = 50 + alt_titles = list( + "Research Supervisor") + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/research/senior_scientist + allowed_branches = list( + /datum/mil_branch/expeditionary_corps + ) + allowed_ranks = list( + /datum/mil_rank/ec/o1 + ) + + access = list( + access_tox, access_tox_storage, access_maint_tunnels, access_research, access_mining_office, + access_mining_station, access_xenobiology, access_xenoarch, access_nanotrasen, access_solgov_crew, + access_expedition_shuttle, access_guppy, access_hangar, access_petrov, access_petrov_helm, access_guppy_helm, + access_petrov_analysis, access_petrov_phoron, access_petrov_toxins, access_petrov_chemistry, access_petrov_control, + access_petrov_maint, access_torch_fax, access_radio_sci, access_radio_exp, access_research_storage + ) + + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_COMPUTER = SKILL_BASIC, + SKILL_FINANCE = SKILL_BASIC, + SKILL_BOTANY = SKILL_BASIC, + SKILL_ANATOMY = SKILL_BASIC, + SKILL_DEVICES = SKILL_TRAINED, + SKILL_SCIENCE = SKILL_TRAINED) + + max_skill = list( SKILL_ANATOMY = SKILL_MAX, + SKILL_DEVICES = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX) + skill_points = 20 + possible_goals = list(/datum/goal/achievement/notslimefodder) + +/datum/job/scientist + title = "Scientist" + total_positions = 6 + spawn_positions = 6 + supervisors = "the Chief Science Officer" + economic_power = 10 + minimum_character_age = list(SPECIES_HUMAN = 25) + ideal_character_age = 45 + minimal_player_age = 0 + alt_titles = list( + "Xenoarcheologist", + "Anomalist", + "Researcher", + "Xenobiologist", + "Xenobotanist" + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_COMPUTER = SKILL_BASIC, + SKILL_DEVICES = SKILL_BASIC, + SKILL_SCIENCE = SKILL_TRAINED) + + max_skill = list( SKILL_ANATOMY = SKILL_MAX, + SKILL_DEVICES = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX) + + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/research/scientist + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/solgov, + /datum/mil_branch/expeditionary_corps + ) + allowed_ranks = list( + /datum/mil_rank/ec/o1, + /datum/mil_rank/civ/contractor = /singleton/hierarchy/outfit/job/torch/passenger/research/scientist, + /datum/mil_rank/sol/scientist = /singleton/hierarchy/outfit/job/torch/passenger/research/scientist/solgov + ) + + access = list( + access_tox, access_tox_storage, access_research, access_petrov, access_petrov_helm, + access_mining_office, access_mining_station, access_xenobiology, access_guppy_helm, + access_xenoarch, access_nanotrasen, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, + access_petrov_analysis, access_petrov_phoron, access_petrov_toxins, access_petrov_chemistry, access_petrov_control, access_torch_fax, + access_petrov_maint, access_radio_sci, access_radio_exp, access_research_storage + ) + skill_points = 20 + possible_goals = list(/datum/goal/achievement/notslimefodder) + +/datum/job/scientist_assistant + title = "Research Assistant" + department = "Science" + department_flag = SCI + total_positions = 4 + spawn_positions = 4 + supervisors = "the Chief Science Officer and science personnel" + selection_color = "#633d63" + economic_power = 3 + minimum_character_age = list(SPECIES_HUMAN = 18) + ideal_character_age = 30 + alt_titles = list( + "Testing Assistant", + "Intern", + "Clerk", + "Field Assistant") + + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/research + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/solgov, + /datum/mil_branch/expeditionary_corps + ) + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5, + /datum/mil_rank/civ/contractor = /singleton/hierarchy/outfit/job/torch/passenger/research/assist, + /datum/mil_rank/sol/scientist = /singleton/hierarchy/outfit/job/torch/passenger/research/assist/solgov + ) + max_skill = list( SKILL_ANATOMY = SKILL_MAX, + SKILL_DEVICES = SKILL_MAX, + SKILL_SCIENCE = SKILL_MAX) + + access = list( + access_tox, access_tox_storage, access_research, access_petrov, + access_mining_office, access_mining_station, access_xenobiology, access_guppy_helm, + access_xenoarch, access_nanotrasen, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, + access_petrov_analysis, access_petrov_phoron, access_petrov_toxins, access_petrov_chemistry, access_petrov_control, + access_radio_sci, access_radio_exp, access_research_storage + ) + possible_goals = list(/datum/goal/achievement/notslimefodder) + +/datum/job/research_guard + title = "Research Guard" + department = "Science" + department_flag = SCI + total_positions = 2 + spawn_positions = 2 + supervisors = "the Chief Science Officer" + selection_color = "#473d63" + economic_power = 5 + minimal_player_age = 0 + minimum_character_age = list(SPECIES_HUMAN = 26) + outfit_type = /singleton/hierarchy/outfit/job/torch/passenger/research_guard + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/passenger/research_guard/ec + ) + + allowed_ranks = list( + /datum/mil_rank/civ/contractor, + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5 + ) + min_skill = list(SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_EVA = SKILL_BASIC, + SKILL_COMBAT = SKILL_BASIC, + SKILL_WEAPONS = SKILL_TRAINED + ) + + max_skill = list( SKILL_COMBAT = SKILL_EXPERIENCED, + SKILL_WEAPONS = SKILL_EXPERIENCED) + skill_points = 20 + + access = list( + access_research_security, access_tox, access_tox_storage, access_maint_tunnels, access_research, access_xenobiology, access_xenoarch, access_nanotrasen, access_solgov_crew, + access_expedition_shuttle, access_guppy, access_hangar, access_petrov, access_petrov_helm, access_guppy_helm, + access_petrov_analysis, access_petrov_phoron, access_petrov_toxins, access_petrov_chemistry, access_petrov_maint, access_radio_sci + ) + + software_on_spawn = list(/datum/computer_file/program/camera_monitor) + +/datum/job/research_guard/get_description_blurb() + return "You are a security guard from the Organization of the Expeditionary Corps, which must protect the scientific department and its employees from various threats. Eat donuts, call scientists \"eggheads\"." diff --git a/maps/torch_fd/job/security_jobs.dm b/maps/torch_fd/job/security_jobs.dm new file mode 100644 index 0000000000000..4fdd6fe0bf3f1 --- /dev/null +++ b/maps/torch_fd/job/security_jobs.dm @@ -0,0 +1,132 @@ +/datum/job/warden + title = "Brig Chief" + total_positions = 1 + spawn_positions = 1 + supervisors = "the Chief of Security" + economic_power = 5 + minimal_player_age = 7 + ideal_character_age = 35 + minimum_character_age = list(SPECIES_HUMAN = 27) + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/security/brig_chief + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/security/brig_chief/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/e7, + /datum/mil_rank/fleet/e6, + /datum/mil_rank/fleet/e7, + /datum/mil_rank/fleet/e8, + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_EVA = SKILL_BASIC, + SKILL_COMBAT = SKILL_BASIC, + SKILL_WEAPONS = SKILL_TRAINED, + SKILL_FORENSICS = SKILL_BASIC) + + max_skill = list( SKILL_COMBAT = SKILL_MAX, + SKILL_WEAPONS = SKILL_MAX, + SKILL_FORENSICS = SKILL_MAX) + skill_points = 20 + + access = list( + access_security, access_brig, access_armory, access_forensics_lockers, + access_maint_tunnels, access_external_airlocks, access_emergency_storage, + access_eva, access_sec_doors, access_solgov_crew, access_gun, access_torch_fax, + access_radio_sec + ) + + software_on_spawn = list(/datum/computer_file/program/digitalwarrant, + /datum/computer_file/program/camera_monitor) + +/datum/job/detective + title = "Forensic Technician" + total_positions = 1 + spawn_positions = 1 + supervisors = "the Chief of Security" + economic_power = 5 + minimal_player_age = 7 + minimum_character_age = list(SPECIES_HUMAN = 25) + ideal_character_age = 35 + skill_points = 14 + alt_titles = list( + "Criminal Investigator" + ) + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/security/forensic_tech + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/security/forensic_tech/contractor, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/security/forensic_tech/fleet, + /datum/mil_branch/solgov = /singleton/hierarchy/outfit/job/torch/crew/security/forensic_tech/agent + ) + allowed_ranks = list( + /datum/mil_rank/fleet/e3, + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/fleet/e5, + /datum/mil_rank/civ/contractor, + /datum/mil_rank/sol/agent + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_COMPUTER = SKILL_BASIC, + SKILL_EVA = SKILL_BASIC, + SKILL_COMBAT = SKILL_BASIC, + SKILL_WEAPONS = SKILL_BASIC, + SKILL_FORENSICS = SKILL_TRAINED) + + max_skill = list( SKILL_COMBAT = SKILL_EXPERIENCED, + SKILL_WEAPONS = SKILL_EXPERIENCED, + SKILL_FORENSICS = SKILL_MAX) + skill_points = 20 + + access = list( + access_security, access_brig, access_forensics_lockers, + access_maint_tunnels, access_emergency_storage, + access_sec_doors, access_solgov_crew, access_morgue, + access_torch_fax, access_network, access_radio_sec + ) + + software_on_spawn = list(/datum/computer_file/program/digitalwarrant, + /datum/computer_file/program/camera_monitor) + +/datum/job/officer + title = "Master at Arms" + total_positions = 4 + spawn_positions = 4 + supervisors = "the Chief of Security" + economic_power = 4 + minimal_player_age = 7 + minimum_character_age = list(SPECIES_HUMAN = 18) + ideal_character_age = 25 + alt_titles = list() // This is a hack. Overriding a list var with null does not actually override it due to the particulars of dm list init. Do not "clean up" without testing. + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/security/maa + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/security/maa/fleet, + ) + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/fleet/e3, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/fleet/e5 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_EVA = SKILL_BASIC, + SKILL_COMBAT = SKILL_BASIC, + SKILL_WEAPONS = SKILL_TRAINED, + SKILL_FORENSICS = SKILL_BASIC) + + max_skill = list( SKILL_COMBAT = SKILL_MAX, + SKILL_WEAPONS = SKILL_MAX, + SKILL_FORENSICS = SKILL_EXPERIENCED) + + access = list( + access_security, access_brig, access_maint_tunnels, + access_external_airlocks, access_emergency_storage, + access_eva, access_sec_doors, access_solgov_crew, + access_radio_sec + ) + + software_on_spawn = list(/datum/computer_file/program/digitalwarrant, + /datum/computer_file/program/camera_monitor) diff --git a/maps/torch_fd/job/service_jobs.dm b/maps/torch_fd/job/service_jobs.dm new file mode 100644 index 0000000000000..4d2ff3fa2fa9e --- /dev/null +++ b/maps/torch_fd/job/service_jobs.dm @@ -0,0 +1,176 @@ +/datum/job/chief_steward + title = "Chief Steward" + department = "Service" + department_flag = SRV + total_positions = 1 + spawn_positions = 1 + minimum_character_age = list(SPECIES_HUMAN = 28) + ideal_character_age = 35 + economic_power = 6 + minimal_player_age = 7 + supervisors = "the Executive Officer" + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/service/chief_steward + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/service/cook, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/service/chief_steward/fleet + ) + allowed_ranks = list( + /datum/mil_rank/civ/contractor, + /datum/mil_rank/ec/e7, + /datum/mil_rank/fleet/e7, + /datum/mil_rank/fleet/e6 + ) + + min_skill = list( + SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_COOKING = SKILL_TRAINED, + SKILL_BOTANY = SKILL_BASIC, + SKILL_CHEMISTRY = SKILL_BASIC + ) + access = list( + access_bridge, + access_torch_fax, + access_chief_steward, + access_solgov_crew, + access_radio_comm, + access_radio_serv, + access_emergency_storage, + access_janitor, + access_commissary, + access_hydroponics, + access_kitchen, + access_o_mess + ) + +/datum/job/chaplain + title = "Chaplain" + department = "Service" + department_flag = SRV + total_positions = 1 + spawn_positions = 1 + minimum_character_age = list(SPECIES_HUMAN = 24) + ideal_character_age = 40 + economic_power = 6 + minimal_player_age = 0 + supervisors = "the Executive Officer" + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/service/chaplain + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/crew/service/chaplain/ec, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/service/chaplain/fleet) + allowed_ranks = list( + /datum/mil_rank/civ/contractor, + /datum/mil_rank/fleet/o1, + /datum/mil_rank/fleet/o2, + /datum/mil_rank/ec/o1) + min_skill = list(SKILL_BUREAUCRACY = SKILL_BASIC) + + access = list( + access_morgue, access_chapel_office, + access_crematorium, access_solgov_crew, + access_radio_serv + ) + +/datum/job/janitor + title = "Sanitation Technician" + department = "Service" + department_flag = SRV + total_positions = 2 + spawn_positions = 2 + supervisors = "the Chief Steward" + minimum_character_age = list(SPECIES_HUMAN = 20) + ideal_character_age = 20 + alt_titles = list( + "Custodian", + "Janitor") + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/service/janitor + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/crew/service/janitor/ec, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/service/janitor/fleet + ) + allowed_ranks = list( + /datum/mil_rank/civ/contractor, + /datum/mil_rank/fleet/e2, + /datum/mil_rank/ec/e3, + /datum/mil_rank/fleet/e3, + /datum/mil_rank/fleet/e4 + ) + min_skill = list( SKILL_HAULING = SKILL_BASIC) + + access = list( + access_maint_tunnels, access_emergency_storage, + access_janitor, access_solgov_crew, + access_radio_serv + ) + + +/datum/job/chef + title = "Steward" + department = "Service" + department_flag = SRV + total_positions = 2 + spawn_positions = 2 + minimum_character_age = list(SPECIES_HUMAN = 20) + supervisors = "the Chief Steward" + alt_titles = list( + "Bartender", + "Cook", + "Culinary Specialist" + ) + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/service/cook + allowed_branches = list( + /datum/mil_branch/civilian, + /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/crew/service/cook/ec, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/service/cook/fleet + ) + allowed_ranks = list( + /datum/mil_rank/civ/contractor, + /datum/mil_rank/ec/e3, + /datum/mil_rank/ec/e5, + /datum/mil_rank/fleet/e2, + /datum/mil_rank/fleet/e3, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/fleet/e5 + ) + min_skill = list( + SKILL_BOTANY = SKILL_BASIC, + SKILL_CHEMISTRY = SKILL_BASIC, + SKILL_COOKING = SKILL_TRAINED + ) + access = list( + access_commissary, + access_hydroponics, + access_kitchen, + access_radio_serv, + access_solgov_crew, + access_o_mess + ) + + +/datum/job/crew + title = "Crewman" + department = "Service" + department_flag = SRV + total_positions = 5 + spawn_positions = 5 + supervisors = "the Chief Steward" + minimum_character_age = list(SPECIES_HUMAN = 20) + ideal_character_age = 20 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/service/crewman + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/service/crewman/fleet + ) + allowed_ranks = list( + /datum/mil_rank/ec/e3, + /datum/mil_rank/fleet/e2, + /datum/mil_rank/fleet/e3, + /datum/mil_rank/fleet/e4 + ) + + access = list( + access_maint_tunnels, access_emergency_storage, + access_solgov_crew, access_radio_serv + ) diff --git a/maps/torch_fd/job/supply_jobs.dm b/maps/torch_fd/job/supply_jobs.dm new file mode 100644 index 0000000000000..ce485c564a890 --- /dev/null +++ b/maps/torch_fd/job/supply_jobs.dm @@ -0,0 +1,111 @@ +/datum/job/qm + title = "Deck Chief" + department = "Supply" + department_flag = SUP + total_positions = 1 + spawn_positions = 1 + supervisors = "the Executive Officer" + economic_power = 5 + minimal_player_age = 0 + minimum_character_age = list(SPECIES_HUMAN = 27) + ideal_character_age = 35 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/supply/deckofficer + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/supply/deckofficer/fleet + ) + allowed_ranks = list( + /datum/mil_rank/fleet/e6, + /datum/mil_rank/ec/e7, + /datum/mil_rank/fleet/e7, + /datum/mil_rank/fleet/e8 + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_TRAINED, + SKILL_FINANCE = SKILL_BASIC, + SKILL_HAULING = SKILL_BASIC, + SKILL_EVA = SKILL_BASIC, + SKILL_PILOT = SKILL_BASIC, + SKILL_MECH = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_MAX) + skill_points = 18 + + access = list( + access_maint_tunnels, access_bridge, access_emergency_storage, access_tech_storage, access_cargo, access_guppy_helm, + access_cargo_bot, access_qm, access_mailsorting, access_solgov_crew, access_expedition_shuttle, access_guppy, access_hangar, + access_mining, access_mining_office, access_mining_station, access_commissary, access_teleporter, access_eva, access_torch_fax, + access_radio_sup, access_radio_exp, access_radio_comm + ) + + software_on_spawn = list(/datum/computer_file/program/supply, + /datum/computer_file/program/deck_management, + /datum/computer_file/program/reports) + +/datum/job/cargo_tech + title = "Deck Technician" + department = "Supply" + department_flag = SUP + total_positions = 3 + spawn_positions = 3 + supervisors = "the Deck Chief" + minimum_character_age = list(SPECIES_HUMAN = 18) + ideal_character_age = 24 + outfit_type = /singleton/hierarchy/outfit/job/torch/crew/supply/tech + allowed_branches = list( + /datum/mil_branch/expeditionary_corps, + /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/supply/tech/fleet, + /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/supply/contractor + ) + allowed_ranks = list( + /datum/mil_rank/fleet/e2, + /datum/mil_rank/ec/e3, + /datum/mil_rank/fleet/e3, + /datum/mil_rank/fleet/e4, + /datum/mil_rank/civ/contractor + ) + min_skill = list( SKILL_BUREAUCRACY = SKILL_BASIC, + SKILL_FINANCE = SKILL_BASIC, + SKILL_HAULING = SKILL_BASIC, + SKILL_MECH = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_MAX) + + access = list( + access_maint_tunnels, access_emergency_storage, access_cargo, access_guppy_helm, + access_cargo_bot, access_mailsorting, access_solgov_crew, access_expedition_shuttle, + access_guppy, access_hangar, access_commissary, access_radio_sup + ) + + software_on_spawn = list(/datum/computer_file/program/supply, + /datum/computer_file/program/deck_management, + /datum/computer_file/program/reports) + +/datum/job/mining + title = "Prospector" + department = "Supply" + department_flag = SUP + total_positions = 2 + spawn_positions = 2 + supervisors = "the Deck Chief" + economic_power = 7 + minimum_character_age = list(SPECIES_HUMAN = 18) + ideal_character_age = 25 + alt_titles = list( + "Drill Technician", + "Shaft Miner", + "Salvage Technician") + min_skill = list( SKILL_HAULING = SKILL_TRAINED, + SKILL_EVA = SKILL_BASIC) + + max_skill = list( SKILL_PILOT = SKILL_MAX) + + outfit_type = /singleton/hierarchy/outfit/job/torch/passenger/research/prospector + allowed_branches = list(/datum/mil_branch/civilian) + allowed_ranks = list(/datum/mil_rank/civ/contractor) + + access = list( + access_mining, access_mining_office, access_mining_station, + access_expedition_shuttle, access_guppy, access_hangar, + access_guppy_helm, access_solgov_crew, access_eva, + access_radio_exp, access_radio_sup + ) diff --git a/maps/torch_fd/job/torch_jobs.dm b/maps/torch_fd/job/torch_jobs.dm index 622c9c2795863..1da617debc58d 100644 --- a/maps/torch_fd/job/torch_jobs.dm +++ b/maps/torch_fd/job/torch_jobs.dm @@ -28,7 +28,7 @@ /datum/job/senior_doctor, /datum/job/doctor, /datum/job/junior_doctor, /datum/job/chemist, /datum/job/medical_trainee, /datum/job/psychiatrist, /datum/job/qm, /datum/job/cargo_tech, /datum/job/mining, - /datum/job/senior_scientist, /datum/job/scientist, /datum/job/scientist_assistant, + /datum/job/senior_scientist, /datum/job/scientist, /datum/job/scientist_assistant, /datum/job/research_guard /datum/job/chief_steward, /datum/job/chef, /datum/job/janitor, /datum/job/crew, /datum/job/cyborg, /datum/job/chaplain, From a59a337c5e9313cd37c60e7e51538eb19c74be6b Mon Sep 17 00:00:00 2001 From: Chaplain Maximum Date: Mon, 10 Jun 2024 13:41:18 +0300 Subject: [PATCH 7/7] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=D1=8B=20=D0=B8=20?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{service_job.dm => service_jobs.dm} | 0 maps/torch_fd/job/torch_jobs.dm | 2 +- mods/_fd/fd_assets/_fd_assets.dme | 7 - mods/_fd/fd_assets/code/jobs/ai.dm | 3 - mods/_fd/fd_assets/code/jobs/chief_steward.dm | 51 ------ mods/_fd/fd_assets/code/jobs/passenger.dm | 14 -- mods/_fd/fd_assets/code/jobs/pathfinder.dm | 5 - .../fd_assets/code/jobs/research_director.dm | 5 - .../_fd/fd_assets/code/jobs/research_guard.dm | 165 ------------------ mods/_fd/fd_guns/code/guns/k342.dm | 10 +- 10 files changed, 6 insertions(+), 256 deletions(-) rename maps/torch_fd/job/addition/{service_job.dm => service_jobs.dm} (100%) delete mode 100644 mods/_fd/fd_assets/code/jobs/ai.dm delete mode 100644 mods/_fd/fd_assets/code/jobs/chief_steward.dm delete mode 100644 mods/_fd/fd_assets/code/jobs/passenger.dm delete mode 100644 mods/_fd/fd_assets/code/jobs/pathfinder.dm delete mode 100644 mods/_fd/fd_assets/code/jobs/research_director.dm delete mode 100644 mods/_fd/fd_assets/code/jobs/research_guard.dm diff --git a/maps/torch_fd/job/addition/service_job.dm b/maps/torch_fd/job/addition/service_jobs.dm similarity index 100% rename from maps/torch_fd/job/addition/service_job.dm rename to maps/torch_fd/job/addition/service_jobs.dm diff --git a/maps/torch_fd/job/torch_jobs.dm b/maps/torch_fd/job/torch_jobs.dm index 1da617debc58d..9363ecc82f3f2 100644 --- a/maps/torch_fd/job/torch_jobs.dm +++ b/maps/torch_fd/job/torch_jobs.dm @@ -28,7 +28,7 @@ /datum/job/senior_doctor, /datum/job/doctor, /datum/job/junior_doctor, /datum/job/chemist, /datum/job/medical_trainee, /datum/job/psychiatrist, /datum/job/qm, /datum/job/cargo_tech, /datum/job/mining, - /datum/job/senior_scientist, /datum/job/scientist, /datum/job/scientist_assistant, /datum/job/research_guard + /datum/job/senior_scientist, /datum/job/scientist, /datum/job/scientist_assistant, /datum/job/research_guard, /datum/job/chief_steward, /datum/job/chef, /datum/job/janitor, /datum/job/crew, /datum/job/cyborg, /datum/job/chaplain, diff --git a/mods/_fd/fd_assets/_fd_assets.dme b/mods/_fd/fd_assets/_fd_assets.dme index 8dea297fc3f06..d24bfe3dfec0f 100644 --- a/mods/_fd/fd_assets/_fd_assets.dme +++ b/mods/_fd/fd_assets/_fd_assets.dme @@ -43,13 +43,6 @@ #include "code/weapons/rsh21.dm" #include "code/weapons/sledgehammer.dm" -#include "code/jobs/chief_steward.dm" -#include "code/jobs/research_guard.dm" -#include "code/jobs/pathfinder.dm" -#include "code/jobs/research_director.dm" -#include "code/jobs/passenger.dm" -#include "code/jobs/ai.dm" - #include "code/fd_sofa_override.dm" #include "code/floor_decals.dm" #include "code/fullscreen.dm" diff --git a/mods/_fd/fd_assets/code/jobs/ai.dm b/mods/_fd/fd_assets/code/jobs/ai.dm deleted file mode 100644 index b7bbef7268bd9..0000000000000 --- a/mods/_fd/fd_assets/code/jobs/ai.dm +++ /dev/null @@ -1,3 +0,0 @@ -/datum/job/ai - total_positions = 1 - spawn_positions = 1 diff --git a/mods/_fd/fd_assets/code/jobs/chief_steward.dm b/mods/_fd/fd_assets/code/jobs/chief_steward.dm deleted file mode 100644 index f9bc3818f5d24..0000000000000 --- a/mods/_fd/fd_assets/code/jobs/chief_steward.dm +++ /dev/null @@ -1,51 +0,0 @@ -/singleton/closet_appearance/secure_closet/torch/chief_steward - extra_decals = list( - "stripe_vertical_right_full" = COLOR_GREEN_GRAY, - "stripe_vertical_mid_full" = COLOR_CLOSET_GOLD - ) - -/obj/structure/closet/secure_closet/cs_torch - name = "chief steward's locker" - req_access = list() - closet_appearance = /singleton/closet_appearance/secure_closet/torch/chief_steward - -/obj/structure/closet/secure_closet/cs_torch/WillContain() - return list( - /obj/item/storage/belt/general, - /obj/item/clothing/head/chefhat, - /obj/item/clothing/suit/chef/classic, - /obj/item/clothing/suit/chef, - /obj/item/clothing/gloves/latex, - /obj/item/reagent_containers/glass/rag, - /obj/item/clothing/glasses/science, - /obj/item/storage/box/glasses, - /obj/item/storage/plants, - /obj/item/device/scanner/plant, - /obj/item/storage/slide_projector, - /obj/item/clothing/accessory/armband/hydro, - /obj/item/reagent_containers/spray/cleaner, - /obj/item/device/megaphone, - /obj/item/device/flashlight/upgraded, - /obj/item/device/taperecorder, - /obj/item/device/tape/random = 3, - /obj/item/device/camera/tvcamera, - /obj/item/device/camera_film = 2, - /obj/item/device/radio/headset/headset_chief_steward, - /obj/item/device/radio/headset/headset_chief_steward/alt, - ) - - -// Getting MrMeat - -/datum/job/chief_steward - allowed_branches = list( - /datum/mil_branch/expeditionary_corps, - /datum/mil_branch/civilian = /singleton/hierarchy/outfit/job/torch/crew/service/cook, - /datum/mil_branch/fleet = /singleton/hierarchy/outfit/job/torch/crew/service/chief_steward/fleet - ) - allowed_ranks = list( - /datum/mil_rank/civ/contractor, - /datum/mil_rank/ec/e7, - /datum/mil_rank/fleet/e7, - /datum/mil_rank/fleet/e6 - ) diff --git a/mods/_fd/fd_assets/code/jobs/passenger.dm b/mods/_fd/fd_assets/code/jobs/passenger.dm deleted file mode 100644 index b2b022d8f5ccf..0000000000000 --- a/mods/_fd/fd_assets/code/jobs/passenger.dm +++ /dev/null @@ -1,14 +0,0 @@ -/datum/job/assistant - alt_titles = list( - "Journalist" = /singleton/hierarchy/outfit/job/torch/passenger/passenger/journalist, - "Historian", - "Botanist", - "Investor" = /singleton/hierarchy/outfit/job/torch/passenger/passenger/investor, - "Naturalist", - "Ecologist", - "Entertainer", - "Independent Observer", - "Sociologist", - "Trainer", - "Off-Duty" - ) diff --git a/mods/_fd/fd_assets/code/jobs/pathfinder.dm b/mods/_fd/fd_assets/code/jobs/pathfinder.dm deleted file mode 100644 index ce6c7db151b2c..0000000000000 --- a/mods/_fd/fd_assets/code/jobs/pathfinder.dm +++ /dev/null @@ -1,5 +0,0 @@ -/datum/job/pathfinder - allowed_ranks = list( - /datum/mil_rank/ec/o1, - /datum/mil_rank/ec/o3 - ) diff --git a/mods/_fd/fd_assets/code/jobs/research_director.dm b/mods/_fd/fd_assets/code/jobs/research_director.dm deleted file mode 100644 index ff51ff1cddd20..0000000000000 --- a/mods/_fd/fd_assets/code/jobs/research_director.dm +++ /dev/null @@ -1,5 +0,0 @@ -/datum/job/rd - allowed_ranks = list( - /datum/mil_rank/ec/o3, - /datum/mil_rank/ec/o5 - ) diff --git a/mods/_fd/fd_assets/code/jobs/research_guard.dm b/mods/_fd/fd_assets/code/jobs/research_guard.dm deleted file mode 100644 index 30e6f84106dfb..0000000000000 --- a/mods/_fd/fd_assets/code/jobs/research_guard.dm +++ /dev/null @@ -1,165 +0,0 @@ -/// Access -var/const/access_research_security = "ACCESS_RESEARCH_SECURITY" //97 -/datum/access/rnd_guard - id = access_research_security - desc = "Research Checkpoint" - region = ACCESS_REGION_RESEARCH - -/obj/item/card/id/torch/crew/research/research_guard - job_access_type = /datum/job/research_guard - -/// Headsets -/obj/item/device/radio/headset/research_guard - name = "research guard's headset" - desc = "A headset of the servants to the corporate overlords." - icon_state = "nt_headset" - item_state = "headset" - ks1type = /obj/item/device/encryptionkey/headset_research_guard - -/obj/item/device/radio/headset/research_guard/alt - name = "research guard's bowman headset" - icon_state = "nt_headset_alt" - item_state = "nt_headset_alt" - -/obj/item/device/encryptionkey/headset_research_guard - name = "research_guard's encryption key" - icon_state = "nt_cypherkey" - channels = list("Science" = 1) - -//Uniform -/obj/item/clothing/under/rank/guard/research_guard - accessories = list(/obj/item/clothing/accessory/corptie) - -/// Locker -/obj/structure/closet/secure_closet/research_guard/WillContain() - return list( - /obj/item/clothing/under/rank/guard/research_guard, - /obj/item/clothing/suit/armor/pcarrier/medium/nt, - /obj/item/clothing/head/helmet/nt/guard, - /obj/item/clothing/head/soft/sec/corp/guard, - /obj/item/clothing/head/beret/guard, - /obj/item/clothing/accessory/armband/whitered, - /obj/item/device/radio/headset/research_guard, - /obj/item/device/radio/headset/research_guard/alt, - /obj/item/clothing/mask/gas/half, - /obj/item/material/clipboard, - /obj/item/folder, - /obj/item/device/taperecorder, - /obj/item/device/tape/random = 3, - /obj/item/storage/belt/holster/security, - /obj/item/device/flash, - /obj/item/reagent_containers/spray/pepper, - /obj/item/melee/baton/loaded, - /obj/item/handcuffs = 2, - /obj/item/device/flashlight/maglight, - /obj/item/clothing/glasses/sunglasses, - /obj/item/clothing/glasses/tacgoggles, - /obj/item/clothing/mask/balaclava, - /obj/item/taperoll/research, - /obj/item/device/hailer, - /obj/item/clothing/accessory/storage/black_vest, - /obj/item/clothing/accessory/badge/holo/NT, - /obj/item/device/megaphone, - /obj/item/gun/energy/stunrevolver/secure, - /obj/item/clothing/shoes/jackboots, - new /datum/atom_creator/weighted(list(/obj/item/storage/backpack/security/exo, /obj/item/storage/backpack/satchel/sec/exo)), - new /datum/atom_creator/weighted(list(/obj/item/storage/backpack/dufflebag/sec, /obj/item/storage/backpack/messenger/sec/exo)) - ) - -/// Outfits -/singleton/hierarchy/outfit/job/torch/passenger/research_guard - name = OUTFIT_JOB_NAME("Research Guard") - l_ear = /obj/item/device/radio/headset/research_guard - uniform = /obj/item/clothing/under/rank/guard/research_guard - shoes = /obj/item/clothing/shoes/jackboots - id_types = list(/obj/item/card/id/torch/crew/research/research_guard) - pda_type = /obj/item/modular_computer/pda/science - -/singleton/hierarchy/outfit/job/torch/passenger/research_guard/ec - name = OUTFIT_JOB_NAME("Research Guard - Expeditionary Corps") - uniform = /obj/item/clothing/under/solgov/utility/expeditionary/research - -/// EC Guard Exosuit -/obj/item/rig/hazard/research_guard - name = "EXO hardsuit control module" - suit_type = "hazard hardsuit" - desc = "A security hardsuit designed for prolonged EVA in dangerous environments." - icon_state = "hazard_rig" - armor = list( - melee = ARMOR_MELEE_MAJOR, - bullet = ARMOR_BALLISTIC_SMALL, - laser = ARMOR_LASER_SMALL, - energy = ARMOR_ENERGY_SMALL, - bomb = ARMOR_BOMB_RESISTANT, - bio = ARMOR_BIO_SHIELDED, - rad = ARMOR_RAD_SMALL - ) - online_slowdown = 2 - offline_slowdown = 3 - offline_vision_restriction = TINT_BLIND - - chest_type = /obj/item/clothing/suit/space/rig/hazard - helm_type = /obj/item/clothing/head/helmet/space/rig/hazard - boot_type = /obj/item/clothing/shoes/magboots/rig/hazard - glove_type = /obj/item/clothing/gloves/rig/hazard - - allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/handcuffs,/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/melee/baton) - - req_access = list(access_research_security) - -/obj/item/rig/hazard/research_guard/equipped - initial_modules = list( - /obj/item/rig_module/vision/sechud, - /obj/item/rig_module/mounted/energy/taser, - /obj/item/rig_module/cooling_unit) - -///Job -/datum/job/research_guard - title = "Research Guard" - department = "Science" - department_flag = SCI - total_positions = 2 - spawn_positions = 2 - supervisors = "the Chief Science Officer" - selection_color = "#473d63" - economic_power = 5 - minimal_player_age = 0 - minimum_character_age = list(SPECIES_HUMAN = 26) - outfit_type = /singleton/hierarchy/outfit/job/torch/passenger/research_guard - allowed_branches = list( - /datum/mil_branch/civilian, - /datum/mil_branch/expeditionary_corps = /singleton/hierarchy/outfit/job/torch/passenger/research_guard/ec - ) - - allowed_ranks = list( - /datum/mil_rank/civ/contractor, - /datum/mil_rank/ec/e3, - /datum/mil_rank/ec/e5 - ) - min_skill = list(SKILL_BUREAUCRACY = SKILL_TRAINED, - SKILL_EVA = SKILL_BASIC, - SKILL_COMBAT = SKILL_BASIC, - SKILL_WEAPONS = SKILL_TRAINED - ) - - max_skill = list( SKILL_COMBAT = SKILL_EXPERIENCED, - SKILL_WEAPONS = SKILL_EXPERIENCED) - skill_points = 20 - - access = list( - access_research_security, access_tox, access_tox_storage, access_maint_tunnels, access_research, access_xenobiology, access_xenoarch, access_nanotrasen, access_solgov_crew, - access_expedition_shuttle, access_guppy, access_hangar, access_petrov, access_petrov_helm, access_guppy_helm, - access_petrov_analysis, access_petrov_phoron, access_petrov_toxins, access_petrov_chemistry, access_petrov_maint, access_radio_sci - ) - - software_on_spawn = list(/datum/computer_file/program/camera_monitor) - -/datum/job/research_guard/get_description_blurb() - return "You are a security guard from the Organization of the Expeditionary Corps, which must protect the scientific department and its employees from various threats. Eat donuts, call scientists \"eggheads\"." - -/datum/map/torch/New() - . = ..() - var/index = allowed_jobs.Find(/datum/job/scientist_assistant) - if(index) - index++ - allowed_jobs.Insert(index, /datum/job/research_guard) diff --git a/mods/_fd/fd_guns/code/guns/k342.dm b/mods/_fd/fd_guns/code/guns/k342.dm index 4afcca04b0b0c..81ade4b80c5ab 100644 --- a/mods/_fd/fd_guns/code/guns/k342.dm +++ b/mods/_fd/fd_guns/code/guns/k342.dm @@ -106,12 +106,12 @@ /obj/item/gun/energy/k342 name = "plasma rifle" desc = "K342 Barrakuda is the latest plasma weapon created by NanoTrasen. It can fire several types of charges: stunning, incendiary and lethal." - icon = 'mods/_fd/fd_assets/icons/obj/k342.dmi' + icon = 'mods/_fd/fd_guns/icons/k342.dmi' w_class = ITEM_SIZE_LARGE item_icons = list( - slot_l_hand_str = 'mods/_fd/fd_assets/icons/onmob/lefthand-guns.dmi', - slot_r_hand_str = 'mods/_fd/fd_assets/icons/onmob/righthand-guns.dmi', - slot_back_str = 'mods/_fd/fd_assets/icons/onmob/back-guns.dmi' + slot_l_hand_str = 'mods/_fd/fd_guns/icons/onmob/lefthand-guns.dmi', + slot_r_hand_str = 'mods/_fd/fd_guns/icons/onmob/righthand-guns.dmi', + slot_back_str = 'mods/_fd/fd_guns/icons/onmob/back-guns.dmi' ) slot_flags = SLOT_BACK|SLOT_BELT icon_state = "barrakuda_off" @@ -154,7 +154,7 @@ /obj/item/gun/energy/k342/sniper name = "plasma sniper rifle" desc = "K480 Skat is the latest heavy plasma weapon created by NanoTrasen for SolGov snipers, capable to fire several types of charges: stunning, incendiary, and lethal bolts. Advanced magnetic constriction technology improves accuracy and firepower." - icon = 'mods/_fd/fd_assets/icons/obj/k480.dmi' + icon = 'mods/_fd/fd_guns/icons/k480.dmi' icon_state = "mantis_off" item_state = "mantis" w_class = ITEM_SIZE_LARGE