diff --git a/modular_ss220/jobs/_jobs.dm b/modular_ss220/jobs/_jobs.dm index cd20e61a4ff3..47f40207e7b0 100644 --- a/modular_ss220/jobs/_jobs.dm +++ b/modular_ss220/jobs/_jobs.dm @@ -1,4 +1,4 @@ /datum/modpack/jobs name = "Работы" desc = "Новые джобки и изменения старых" - author = "furior" + author = "furior, PhantomRU" diff --git a/modular_ss220/jobs/_jobs.dme b/modular_ss220/jobs/_jobs.dme index c8c3a6f2b56a..079b4f390d42 100644 --- a/modular_ss220/jobs/_jobs.dme +++ b/modular_ss220/jobs/_jobs.dme @@ -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" diff --git a/modular_ss220/jobs/code/cards_ids.dm b/modular_ss220/jobs/code/cards_ids.dm new file mode 100644 index 000000000000..dbb8ac982d67 --- /dev/null +++ b/modular_ss220/jobs/code/cards_ids.dm @@ -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" diff --git a/modular_ss220/jobs/code/clothing/engineering_clothing.dm b/modular_ss220/jobs/code/clothing/engineering_clothing.dm new file mode 100644 index 000000000000..7e7078bec5c8 --- /dev/null +++ b/modular_ss220/jobs/code/clothing/engineering_clothing.dm @@ -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 diff --git a/modular_ss220/jobs/code/clothing/medical_clothing.dm b/modular_ss220/jobs/code/clothing/medical_clothing.dm new file mode 100644 index 000000000000..43e99519aacf --- /dev/null +++ b/modular_ss220/jobs/code/clothing/medical_clothing.dm @@ -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 diff --git a/modular_ss220/jobs/code/clothing/science_clothing.dm b/modular_ss220/jobs/code/clothing/science_clothing.dm new file mode 100644 index 000000000000..d885bff41bbf --- /dev/null +++ b/modular_ss220/jobs/code/clothing/science_clothing.dm @@ -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 diff --git a/modular_ss220/jobs/code/clothing/security_clothing.dm b/modular_ss220/jobs/code/clothing/security_clothing.dm new file mode 100644 index 000000000000..681b4581b9ef --- /dev/null +++ b/modular_ss220/jobs/code/clothing/security_clothing.dm @@ -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 diff --git a/modular_ss220/jobs/code/job/engineering_jobs.dm b/modular_ss220/jobs/code/job/engineering_jobs.dm new file mode 100644 index 000000000000..b50807bc4cb8 --- /dev/null +++ b/modular_ss220/jobs/code/job/engineering_jobs.dm @@ -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 diff --git a/modular_ss220/jobs/code/job/medical_jobs.dm b/modular_ss220/jobs/code/job/medical_jobs.dm new file mode 100644 index 000000000000..8d098a8b4cbc --- /dev/null +++ b/modular_ss220/jobs/code/job/medical_jobs.dm @@ -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 diff --git a/modular_ss220/jobs/code/job/science_jobs.dm b/modular_ss220/jobs/code/job/science_jobs.dm new file mode 100644 index 000000000000..2b51cb306222 --- /dev/null +++ b/modular_ss220/jobs/code/job/science_jobs.dm @@ -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 diff --git a/modular_ss220/jobs/code/job/security_jobs.dm b/modular_ss220/jobs/code/job/security_jobs.dm new file mode 100644 index 000000000000..ca6d70161673 --- /dev/null +++ b/modular_ss220/jobs/code/job/security_jobs.dm @@ -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 diff --git a/modular_ss220/jobs/code/jobs.dm b/modular_ss220/jobs/code/jobs.dm new file mode 100644 index 000000000000..7c0ef38ead8f --- /dev/null +++ b/modular_ss220/jobs/code/jobs.dm @@ -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 diff --git a/modular_ss220/jobs/icons/clothing/hats.dmi b/modular_ss220/jobs/icons/clothing/hats.dmi new file mode 100644 index 000000000000..eb19b69c9388 Binary files /dev/null and b/modular_ss220/jobs/icons/clothing/hats.dmi differ diff --git a/modular_ss220/jobs/icons/clothing/mob/head.dmi b/modular_ss220/jobs/icons/clothing/mob/head.dmi new file mode 100644 index 000000000000..70ef94abd256 Binary files /dev/null and b/modular_ss220/jobs/icons/clothing/mob/head.dmi differ diff --git a/modular_ss220/jobs/icons/clothing/mob/uniform.dmi b/modular_ss220/jobs/icons/clothing/mob/uniform.dmi new file mode 100644 index 000000000000..c14f29cbca83 Binary files /dev/null and b/modular_ss220/jobs/icons/clothing/mob/uniform.dmi differ diff --git a/modular_ss220/jobs/icons/clothing/uniforms.dmi b/modular_ss220/jobs/icons/clothing/uniforms.dmi new file mode 100644 index 000000000000..cab653e13b24 Binary files /dev/null and b/modular_ss220/jobs/icons/clothing/uniforms.dmi differ diff --git a/modular_ss220/jobs/icons/hud.dmi b/modular_ss220/jobs/icons/hud.dmi new file mode 100644 index 000000000000..b2a80ca3a66d Binary files /dev/null and b/modular_ss220/jobs/icons/hud.dmi differ diff --git a/modular_ss220/jobs/icons/uniforms.dmi b/modular_ss220/jobs/icons/uniforms.dmi new file mode 100644 index 000000000000..cab653e13b24 Binary files /dev/null and b/modular_ss220/jobs/icons/uniforms.dmi differ