Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] Novice rolls #337

Merged
merged 5 commits into from
Oct 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion modular_ss220/jobs/_jobs.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/datum/modpack/jobs
name = "Работы"
desc = "Новые джобки и изменения старых"
author = "furior"
author = "furior, PhantomRU"
10 changes: 10 additions & 0 deletions modular_ss220/jobs/_jobs.dme
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
#include "_jobs.dm"

#include "code/access.dm"
#include "code/cards_ids.dm"
#include "code/jobs.dm"
#include "code/clothing/engineering_clothing.dm"
#include "code/clothing/medical_clothing.dm"
#include "code/clothing/science_clothing.dm"
#include "code/clothing/security_clothing.dm"
#include "code/job/engineering_jobs.dm"
#include "code/job/medical_jobs.dm"
#include "code/job/science_jobs.dm"
#include "code/job/security_jobs.dm"
73 changes: 73 additions & 0 deletions modular_ss220/jobs/code/cards_ids.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// Для отрисовки ХУД'ов.
GLOBAL_LIST_INIT(Jobs_SS220, list("intern", "cadet", "trainee", "student"))

/proc/get_all_medical_novice_tittles()
return list("Intern", "Medical Assistant", "Student Medical Doctor")

/proc/get_all_security_novice_tittles()
return list("Security Cadet", "Security Assistant", "Security Graduate")

/proc/get_all_engineering_novice_tittles()
return list("Trainee Engineer", "Engineer Assistant", "Technical Assistant", "Engineer Student", "Technical Student", "Technical Trainee")

/proc/get_all_science_novice_tittles()
return list("Student Scientist", "Scientist Assistant", "Scientist Pregraduate", "Scientist Graduate", "Scientist Postgraduate")

/proc/get_all_novice_tittles()
return get_all_medical_novice_tittles() + get_all_security_novice_tittles() + get_all_engineering_novice_tittles() + get_all_science_novice_tittles()

/mob/living/carbon/human/sec_hud_set_ID()
var/image/holder = hud_list[ID_HUD]
holder.icon = 'icons/mob/hud.dmi'
if(wear_id && (wear_id.get_job_name() in GLOB.Jobs_SS220))
holder.icon = 'modular_ss220/jobs/icons/hud.dmi'
. = ..()

/obj/item/get_job_name() //Used in secHUD icon generation
var/assignmentName = get_ID_assignment(if_no_id = "Unknown")
var/rankName = get_ID_rank(if_no_id = "Unknown")

var/novmed = get_all_medical_novice_tittles()
var/novsec = get_all_security_novice_tittles()
var/noveng = get_all_engineering_novice_tittles()
var/novrnd = get_all_science_novice_tittles()

if((assignmentName in novmed) || (rankName in novmed))
return "intern"
if((assignmentName in novsec) || (rankName in novsec))
return "cadet"
if((assignmentName in noveng) || (rankName in noveng))
return "trainee"
if((assignmentName in novrnd) || (rankName in novrnd))
return "student"

. = ..()

/obj/item/card/id/medical/intern
name = "Intern ID"
registered_name = "Intern"
icon = 'modular_ss220/aesthetics/better_ids/icons/better_ids.dmi'
icon_state = "intern"
item_state = "intern-id"
rank = "Intern"

/obj/item/card/id/research/student
name = "Student ID"
registered_name = "Student"
icon = 'modular_ss220/aesthetics/better_ids/icons/better_ids.dmi'
icon_state = "student"
item_state = "student-id"

/obj/item/card/id/engineering/trainee
name = "Trainee ID"
registered_name = "Trainee"
icon = 'modular_ss220/aesthetics/better_ids/icons/better_ids.dmi'
icon_state = "trainee"
item_state = "trainee-id"

/obj/item/card/id/security/cadet
name = "Cadet ID"
registered_name = "Cadet"
icon = 'modular_ss220/aesthetics/better_ids/icons/better_ids.dmi'
icon_state = "cadet"
item_state = "cadet-id"
26 changes: 26 additions & 0 deletions modular_ss220/jobs/code/clothing/engineering_clothing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/obj/item/clothing/under/rank/engineer/trainee
name = "engineer trainee jumpsuit"
icon = 'modular_ss220/jobs/icons/clothing/uniforms.dmi'
icon_override = 'modular_ss220/jobs/icons/clothing/mob/uniform.dmi'
//lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
//righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
icon_state = "trainee_s"
item_color = "trainee"
sprite_sheets = null

/obj/item/clothing/under/rank/engineer/trainee/skirt
name = "engineer trainee jumpskirt"
icon_state = "traineef_s"
item_color = "traineef"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS

/obj/item/clothing/under/rank/engineer/trainee/assistant
name = "engineer assistant jumpsuit"
icon_state = "eng_ass_s"
item_color = "eng_ass"

/obj/item/clothing/under/rank/engineer/trainee/assistant/skirt
name = "engineer assistant jumpskirt"
icon_state = "eng_ass_f_s"
item_color = "eng_ass_f"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
45 changes: 45 additions & 0 deletions modular_ss220/jobs/code/clothing/medical_clothing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/obj/item/clothing/under/rank/medical/intern
icon = 'modular_ss220/jobs/icons/clothing/uniforms.dmi'
icon_override = 'modular_ss220/jobs/icons/clothing/mob/uniform.dmi'
//lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
//righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
sprite_sheets = null

name = "intern jumpsuit"
icon_state = "intern_s"
item_color = "intern"

/obj/item/clothing/under/rank/medical/intern/skirt
name = "intern jumpskirt"
icon_state = "internf_s"
item_color = "internf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS

/obj/item/clothing/under/rank/medical/intern/assistant
name = "medical assistant jumpsuit"
icon_state = "med_ass_s"
item_color = "med_ass"

/obj/item/clothing/under/rank/medical/intern/assistant/skirt
name = "medical assistant jumpskirt"
icon_state = "med_ass_f_s"
item_color = "med_ass_f"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS

/obj/item/clothing/under/rank/medical/scrubs/green/light
name = "light green medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in light green."
icon = 'modular_ss220/jobs/icons/clothing/uniforms.dmi'
icon_override = 'modular_ss220/jobs/icons/clothing/mob/uniform.dmi'
icon_state = "scrubsgreen"
item_color = "scrubsgreen"
sprite_sheets = null

/obj/item/clothing/head/surgery/green/light
name = "light green surgical cap"
desc = "A cap surgeons wear during operations. Keeps their hair from tickling your internal organs. This one is light green."
icon = 'modular_ss220/jobs/icons/clothing/hats.dmi'
icon_override = 'modular_ss220/jobs/icons/clothing/mob/head.dmi'
icon_state = "surgcap_green"
item_color = "surgcap_green"
sprite_sheets = null
26 changes: 26 additions & 0 deletions modular_ss220/jobs/code/clothing/science_clothing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/obj/item/clothing/under/rank/scientist/student
name = "scientist student jumpsuit"
icon = 'modular_ss220/jobs/icons/clothing/uniforms.dmi'
icon_override = 'modular_ss220/jobs/icons/clothing/mob/uniform.dmi'
//lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
//righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
icon_state = "student_s"
item_color = "student"
sprite_sheets = null

/obj/item/clothing/under/rank/scientist/student/skirt
name = "scientist student jumpskirt"
icon_state = "studentf_s"
item_color = "studentf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS

/obj/item/clothing/under/rank/scientist/student/assistant
name = "scientist assistant jumpsuit"
icon_state = "sci_ass_s"
item_color = "sci_ass"

/obj/item/clothing/under/rank/scientist/student/assistant/skirt
name = "scientist assistant jumpskirt"
icon_state = "sci_ass_f_s"
item_color = "sci_ass_f"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
26 changes: 26 additions & 0 deletions modular_ss220/jobs/code/clothing/security_clothing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/obj/item/clothing/under/rank/security/cadet
name = "security cadet jumpsuit"
icon = 'modular_ss220/jobs/icons/clothing/uniforms.dmi'
icon_override = 'modular_ss220/jobs/icons/clothing/mob/uniform.dmi'
//lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
//righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
icon_state = "cadet_s"
item_color = "cadet"
sprite_sheets = null

/obj/item/clothing/under/rank/security/cadet/skirt
name = "security cadet jumpskirt"
icon_state = "cadetf_s"
item_color = "cadetf"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS

/obj/item/clothing/under/rank/security/cadet/assistant
name = "security assistant jumpsuit"
icon_state = "sec_ass_s"
item_color = "sec_ass"

/obj/item/clothing/under/rank/security/cadet/assistant/skirt
name = "security assistant jumpskirt"
icon_state = "sec_ass_f_s"
item_color = "sec_ass_f"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
32 changes: 32 additions & 0 deletions modular_ss220/jobs/code/job/engineering_jobs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/datum/job/engineer/New()
. = ..()
alt_titles |= get_all_engineering_novice_tittles()

/datum/station_department/engineering/New()
. = ..()
department_roles |= get_all_engineering_novice_tittles()

/datum/outfit/job/engineer/pre_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(H.mind && H.mind.role_alt_title)
if(H.mind.role_alt_title in get_all_engineering_novice_tittles())
uniform = /obj/item/clothing/under/rank/engineer/trainee
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/engineer/trainee/skirt
id = /obj/item/card/id/engineering/trainee
gloves = /obj/item/clothing/gloves/color/orange

switch(H.mind.role_alt_title)
if("Engineer Assistant")
uniform = /obj/item/clothing/under/rank/engineer/trainee/assistant
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/engineer/trainee/assistant/skirt
if("Technical Assistant")
uniform = /obj/item/clothing/under/rank/engineer/trainee/assistant
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/engineer/trainee/assistant/skirt
head = /obj/item/clothing/head/soft/orange
if("Technical Student", "Technical Trainee")
head = /obj/item/clothing/head/soft/orange
if("Engineer Student")
head = /obj/item/clothing/head/beret/eng
32 changes: 32 additions & 0 deletions modular_ss220/jobs/code/job/medical_jobs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/datum/job/doctor/New()
. = ..()
alt_titles |= get_all_medical_novice_tittles()

/datum/station_department/medical/New()
. = ..()
department_roles |= get_all_medical_novice_tittles()

/datum/outfit/job/doctor/pre_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(H.mind && H.mind.role_alt_title)
if(H.mind.role_alt_title in get_all_medical_novice_tittles())
uniform = /obj/item/clothing/under/rank/medical/intern
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/medical/intern/skirt
id = /obj/item/card/id/medical/intern
l_hand = /obj/item/storage/firstaid/o2
mask = /obj/item/clothing/mask/surgical
gloves = /obj/item/clothing/gloves/color/latex

switch(H.mind.role_alt_title)
if("Intern")
uniform = /obj/item/clothing/under/rank/medical/intern
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/medical/intern/skirt
if("Medical Assistant")
uniform = /obj/item/clothing/under/rank/medical/intern/assistant
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/medical/intern/assistant/skirt
if("Student Medical Doctor")
head = /obj/item/clothing/head/surgery/green/light
uniform = /obj/item/clothing/under/rank/medical/scrubs/green/light
22 changes: 22 additions & 0 deletions modular_ss220/jobs/code/job/science_jobs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/datum/job/scientist/New()
. = ..()
alt_titles |= get_all_science_novice_tittles()

/datum/station_department/science/New()
. = ..()
department_roles |= get_all_science_novice_tittles()

/datum/outfit/job/scientist/pre_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(H.mind && H.mind.role_alt_title)
if(H.mind.role_alt_title in get_all_science_novice_tittles())
uniform = /obj/item/clothing/under/rank/scientist/student
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/scientist/student/skirt
id = /obj/item/card/id/research/student

switch(H.mind.role_alt_title)
if("Scientist Assistant")
uniform = /obj/item/clothing/under/rank/scientist/student/assistant
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/scientist/student/assistant/skirt
26 changes: 26 additions & 0 deletions modular_ss220/jobs/code/job/security_jobs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/datum/job/officer/New()
. = ..()
alt_titles = get_all_security_novice_tittles() // =, а не |=, т.к. отсутствуют альт. названия

/datum/station_department/security/New()
. = ..()
department_roles |= get_all_security_novice_tittles()

/datum/outfit/job/officer/pre_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(H.mind && H.mind.role_alt_title)
if(H.mind.role_alt_title in get_all_security_novice_tittles())
uniform = /obj/item/clothing/under/rank/security/cadet
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/security/cadet/skirt
head = /obj/item/clothing/head/soft/sec
id = /obj/item/card/id/security/cadet
l_pocket = /obj/item/reagent_containers/spray/pepper
//box = /obj/item/storage/box/survival_security/cadet
switch(H.mind.role_alt_title)
if("Security Assistant")
uniform = /obj/item/clothing/under/rank/security/cadet/assistant
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/security/cadet/assistant/skirt
if("Security Graduate")
head = /obj/item/clothing/head/beret/sec
14 changes: 14 additions & 0 deletions modular_ss220/jobs/code/jobs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/datum/nttc_configuration/New()
. = ..()
var/list/job_radio_dict = list()

for(var/i in get_all_medical_novice_tittles())
job_radio_dict.Add(list("[i]" = "medradio"))
for(var/i in get_all_security_novice_tittles())
job_radio_dict.Add(list("[i]" = "secradio"))
for(var/i in get_all_engineering_novice_tittles())
job_radio_dict.Add(list("[i]" = "engradio"))
for(var/i in get_all_science_novice_tittles())
job_radio_dict.Add(list("[i]" = "scirradio"))

all_jobs |= job_radio_dict
Binary file added modular_ss220/jobs/icons/clothing/hats.dmi
Binary file not shown.
Binary file added modular_ss220/jobs/icons/clothing/mob/head.dmi
Binary file not shown.
Binary file added modular_ss220/jobs/icons/clothing/mob/uniform.dmi
Binary file not shown.
Binary file added modular_ss220/jobs/icons/clothing/uniforms.dmi
Binary file not shown.
Binary file added modular_ss220/jobs/icons/hud.dmi
Binary file not shown.
Binary file added modular_ss220/jobs/icons/uniforms.dmi
Binary file not shown.