Skip to content

Commit

Permalink
FEAT: ID console for novice Roles (#678)
Browse files Browse the repository at this point in the history
<!-- Пишите **НИЖЕ** заголовков и **ВЫШЕ** комментариев, иначе что то
может пойти не так. -->
<!-- Вы можете прочитать Contributing.MD, если хотите узнать больше. -->

## Что этот PR делает

Консоль ГП теперь может навешивать работающую иконку новичковой роли и
перекрашивать карту.
Модульность позволяет потенциально работать с этим и в будущем.

## Почему это хорошо для игры

Да. Хорошо. Нужно больше набранных паровозиков кадетиков, а не то что мы
сейчас видели, где ГП извращались с названиями. А ведь офицеры видят
кадета-не-кадета, высказывают к ним требования как к офицерам и бедные
кадетики перегружают свои головы и умирают задохнувшись от поступившей
информации! Убережем кадетиков!

## Изображения изменений


![image](https://github.com/ss220club/Paradise-SS220/assets/41479614/757820f3-bd7a-4937-b15f-4828c9c25d78)

## Тестирование
Да кому нужны эти тестирования когда есть такие прекрасные скриншоты.
КОгда мы уже объединим эти 2 пункта.

Навешиваем роль, проверяем иконку:

![image](https://github.com/ss220club/Paradise-SS220/assets/41479614/6dc71b11-f2d3-4e17-9659-24f0413e4886)

![image](https://github.com/ss220club/Paradise-SS220/assets/41479614/4590b3d4-4096-40c3-b5bd-68096b43ef93)

![image](https://github.com/ss220club/Paradise-SS220/assets/41479614/4351d4ea-9bcd-4850-bec6-6f7bdbe121d2)

![image](https://github.com/ss220club/Paradise-SS220/assets/41479614/6e704c8a-e727-4aa6-8d8c-c30146b948a4)

![image](https://github.com/ss220club/Paradise-SS220/assets/41479614/61bb6f08-066c-4e08-ab5f-a46d61abec13)


## Changelog

:cl:
tweak: В консоли ГП теперь можно выдавать новичковые роли +
перерисовывать их карты.
/:cl:

<!-- Оба :cl:'а должны быть на месте, что-бы чейнджлог работал! Вы
можете написать свой ник справа от первого :cl:, если хотите. Иначе
будет использован ваш ник на ГитХабе. -->
<!-- Вы можете использовать несколько записей с одинаковым префиксом
(Они используются только для иконки в игре) и удалить ненужные. Помните,
что чейнджлог должен быть понятен обычным игроком. -->
<!-- Если чейнджлог не влияет на игроков(например, это рефактор), вы
можете исключить всю секцию. -->
  • Loading branch information
PhantornRU authored Nov 16, 2023
2 parents 2125adf + aef2018 commit 9e0db16
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 0 deletions.
27 changes: 27 additions & 0 deletions modular_ss220/jobs/code/cards_ids.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,33 @@ GLOBAL_LIST_INIT(Jobs_SS220, list("intern", "cadet", "trainee", "student"))

. = ..()

/obj/machinery/computer/card/ui_data(mob/user)
var/list/data = ..()

if(mode == IDCOMPUTER_SCREEN_TRANSFER) // JOB TRANSFER
if(modify && scan && !target_dept)
data["jobs_engineering"] |= "Trainee Engineer"
data["jobs_medical"] |= "Intern"
data["jobs_science"] |= "Student Scientist"
data["jobs_security"] |= "Security Cadet"
data["card_skins"] |= format_card_skins(GLOB.Jobs_SS220) // + format_card_skins(list("intern", "cadet", "trainee", "student"))

return data

/obj/machinery/computer/card/ui_act(action, params)
. = ..()

switch(action)
if("skin")
if(!modify)
return FALSE
var/skin = params["skin_target"]
if(!skin || !(skin in GLOB.Jobs_SS220))
return FALSE

modify.icon_state = skin
return TRUE

/obj/item/card/id/medical/intern
name = "Intern ID"
registered_name = "Intern"
Expand Down
5 changes: 5 additions & 0 deletions modular_ss220/jobs/code/job/engineering_jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,8 @@
head = /obj/item/clothing/head/soft/orange
if("Engineer Student")
head = /obj/item/clothing/head/beret/eng

// Identification jobs for console
/datum/job/engineer/trainee
title = "Trainee Engineer"
hidden_from_job_prefs = TRUE
5 changes: 5 additions & 0 deletions modular_ss220/jobs/code/job/medical_jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,8 @@
if("Student Medical Doctor")
head = /obj/item/clothing/head/surgery/green/light
uniform = /obj/item/clothing/under/rank/medical/scrubs/green/light

// Identification jobs for console
/datum/job/doctor/intern
title = "Intern"
hidden_from_job_prefs = TRUE
5 changes: 5 additions & 0 deletions modular_ss220/jobs/code/job/science_jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,8 @@
uniform = /obj/item/clothing/under/rank/scientist/student/assistant
if(H.gender == FEMALE)
uniform = /obj/item/clothing/under/rank/scientist/student/assistant/skirt

// Identification jobs for console
/datum/job/scientist/student
title = "Student Scientist"
hidden_from_job_prefs = TRUE
5 changes: 5 additions & 0 deletions modular_ss220/jobs/code/job/security_jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,8 @@
uniform = /obj/item/clothing/under/rank/security/cadet/assistant/skirt
if("Security Graduate")
head = /obj/item/clothing/head/beret/sec

// Identification jobs for console
/datum/job/officer/cadet
title = "Security Cadet"
hidden_from_job_prefs = TRUE

0 comments on commit 9e0db16

Please sign in to comment.