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: Add donator jobs #824

Merged
merged 141 commits into from
Feb 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
f263142
Инициализируем должности
PhantornRU Nov 29, 2023
f67c439
Выбор альт_должности дает полноценную должность
PhantornRU Nov 30, 2023
b1ea55a
Выдаем каждой профессии по шмотке
PhantornRU Dec 1, 2023
99a0d80
Добавляем профессии, их одежду, лендмарки, доступы, описания, карты, …
PhantornRU Dec 6, 2023
39c4eab
Добавляем случайный выбор, если выбора не было, добавляем преференсы,…
PhantornRU Dec 6, 2023
05e6a5e
фиксим преференсы, доступность роли для донатеров
PhantornRU Dec 6, 2023
c0b5ff9
правки должностей, корректное занесение в манифест и записи, рефактор…
PhantornRU Dec 6, 2023
56020f6
Рефактор профессий в консоли ГП
PhantornRU Dec 6, 2023
b92b835
Проводим саморевью и подчищаем
PhantornRU Dec 6, 2023
0a52529
чиним линтер ругающийся на НаноТрейзен
PhantornRU Dec 6, 2023
8ca8583
Текстовые правки
PhantornRU Dec 7, 2023
e8c3b4c
правка Warning'a
PhantornRU Dec 7, 2023
ef3bd0e
правка худа крупье (да почему оно не сохранилось раньше?)
PhantornRU Dec 7, 2023
b365059
Менеджер по клинингу
PhantornRU Dec 7, 2023
16641d7
Доставщик
PhantornRU Dec 7, 2023
ce68471
Корректировка доставщика
PhantornRU Dec 7, 2023
c17924a
Убираем альт-должности у доставщика
PhantornRU Dec 7, 2023
de80dad
Английские аутфиты, убраны лишние названия, Забатый теперь Безработный
PhantornRU Dec 7, 2023
cd97a17
Удаляем ЛОР.
PhantornRU Dec 7, 2023
14e68a4
Саморевью
PhantornRU Dec 7, 2023
6459862
Убираем донат-джобки из консольки выбора ГП, оставляем центкому
PhantornRU Dec 7, 2023
985b7ff
мини-саморевью
PhantornRU Dec 7, 2023
52ef249
review
PhantornRU Dec 7, 2023
21d761d
Merge branch 'ss220club:master' into donor_jobs_update
PhantornRU Dec 8, 2023
6e010ba
Добавляем ЛЕНДМАРКи на Кибериаду
PhantornRU Dec 8, 2023
9111296
еще?
PhantornRU Dec 8, 2023
58948d3
фиксим иконку менеджера по клинингу
PhantornRU Dec 8, 2023
33e6c07
Убираем насильника, добавляем наркоторговца
PhantornRU Dec 8, 2023
f5e254f
Добавляем клоунам переодевалку в зависимости от названия должности
PhantornRU Dec 8, 2023
0b6d857
Добавляем сигары випам
PhantornRU Dec 8, 2023
c958973
Фикс некорректного отображения ВАЖНОГО сообщения и приписания к отделам
PhantornRU Dec 8, 2023
cece022
Багфикс инициализации Захода и Одежды.
PhantornRU Dec 8, 2023
612bd35
Багфикс альт-должностей (упс)
PhantornRU Dec 8, 2023
e475df9
Добавляем лендмарки на Дельту
PhantornRU Dec 8, 2023
a7e1d2b
Сек-клоуну выдана униформа клоуна-офицера
PhantornRU Dec 9, 2023
b18ab05
Правим ХУДы и названия переименованных джобок и их карт
PhantornRU Dec 9, 2023
c654cc2
Респрайтим хонк пушку, добавляет секьюрити хонк пушку
PhantornRU Dec 9, 2023
c114d9c
Донатное ограничение у педалей
PhantornRU Dec 11, 2023
3350433
Ограничения на спавны слотами
PhantornRU Dec 11, 2023
2e4f9eb
pre_equip fixes
PhantornRU Dec 11, 2023
f6c638f
Переименовывание функции
PhantornRU Dec 11, 2023
7f77dfb
Дополнение карт - Дельты
PhantornRU Dec 11, 2023
96c3b0c
Уменьшаем Т1
PhantornRU Dec 11, 2023
31f84a3
По просьбе Асмы понижаем слоты, запрещаем педалям брать должности
PhantornRU Dec 11, 2023
60153fa
Убираем возможность спавниться в лейтджоине
PhantornRU Dec 11, 2023
592e306
Merge branch 'ss220club:master' into donor_jobs_update
PhantornRU Dec 12, 2023
3e19392
update paths
Legendaxe Dec 16, 2023
e3a43f1
Merge branch 'master' of https://github.com/PhantornRU/Paradise-Remak…
PhantornRU Dec 19, 2023
d7476ae
Merge branch 'master' into donor_jobs_update
PhantornRU Jan 10, 2024
cf70cfa
ОФФы переименовали implants -> bio_chips
PhantornRU Jan 10, 2024
309be5e
implanter -> bio_chip_implanter
PhantornRU Jan 11, 2024
4380af3
My final message... IMplant goodbye
PhantornRU Jan 11, 2024
fc00ad8
Merge branch 'ss220club:master' into master
PhantornRU Jan 18, 2024
815d5c5
Merge branch 'master' of https://github.com/PhantornRU/Paradise-Remak…
PhantornRU Jan 18, 2024
6b69185
Apply suggestions from code review
PhantornRU Jan 22, 2024
ee8f98f
Merge branch 'master' of https://github.com/PhantornRU/Paradise-Remak…
PhantornRU Jan 22, 2024
ff4ad55
Антаг сценарии теперь тоже получают исключение в ролях
PhantornRU Feb 2, 2024
8b1d09e
Merge branch 'master' of https://github.com/PhantornRU/Paradise-Remak…
PhantornRU Feb 2, 2024
64e702e
Инициализируем должности
PhantornRU Nov 29, 2023
dff5dfc
Выбор альт_должности дает полноценную должность
PhantornRU Nov 30, 2023
84fc8e9
Выдаем каждой профессии по шмотке
PhantornRU Dec 1, 2023
69bc015
Добавляем профессии, их одежду, лендмарки, доступы, описания, карты, …
PhantornRU Dec 6, 2023
817b0f8
Добавляем случайный выбор, если выбора не было, добавляем преференсы,…
PhantornRU Dec 6, 2023
b27fb88
фиксим преференсы, доступность роли для донатеров
PhantornRU Dec 6, 2023
95cb87b
правки должностей, корректное занесение в манифест и записи, рефактор…
PhantornRU Dec 6, 2023
c694d47
Рефактор профессий в консоли ГП
PhantornRU Dec 6, 2023
9099b4a
чиним линтер ругающийся на НаноТрейзен
PhantornRU Dec 6, 2023
b9fc8f8
Текстовые правки
PhantornRU Dec 7, 2023
26e1fd6
правка Warning'a
PhantornRU Dec 7, 2023
ec061b7
правка худа крупье (да почему оно не сохранилось раньше?)
PhantornRU Dec 7, 2023
921008d
Менеджер по клинингу
PhantornRU Dec 7, 2023
7dfc5bb
Доставщик
PhantornRU Dec 7, 2023
ccfb05b
Корректировка доставщика
PhantornRU Dec 7, 2023
2ea8db3
Убираем альт-должности у доставщика
PhantornRU Dec 7, 2023
b384272
Английские аутфиты, убраны лишние названия, Забатый теперь Безработный
PhantornRU Dec 7, 2023
c35fb26
Удаляем ЛОР.
PhantornRU Dec 7, 2023
dc7a6b5
Саморевью
PhantornRU Dec 7, 2023
aa05bfa
Убираем донат-джобки из консольки выбора ГП, оставляем центкому
PhantornRU Dec 7, 2023
0c8ff9e
мини-саморевью
PhantornRU Dec 7, 2023
6c796bc
review
PhantornRU Dec 7, 2023
de953d1
Добавляем ЛЕНДМАРКи на Кибериаду
PhantornRU Dec 8, 2023
c46e927
еще?
PhantornRU Dec 8, 2023
8ed1152
фиксим иконку менеджера по клинингу
PhantornRU Dec 8, 2023
24ed04c
Убираем насильника, добавляем наркоторговца
PhantornRU Dec 8, 2023
2b235ea
Добавляем клоунам переодевалку в зависимости от названия должности
PhantornRU Dec 8, 2023
da8989a
Добавляем сигары випам
PhantornRU Dec 8, 2023
1306e51
Фикс некорректного отображения ВАЖНОГО сообщения и приписания к отделам
PhantornRU Dec 8, 2023
d3daab7
Багфикс инициализации Захода и Одежды.
PhantornRU Dec 8, 2023
1d6606b
Багфикс альт-должностей (упс)
PhantornRU Dec 8, 2023
1d1ae14
Добавляем лендмарки на Дельту
PhantornRU Dec 8, 2023
5e298c1
Сек-клоуну выдана униформа клоуна-офицера
PhantornRU Dec 9, 2023
fbfa358
Правим ХУДы и названия переименованных джобок и их карт
PhantornRU Dec 9, 2023
0741cba
Респрайтим хонк пушку, добавляет секьюрити хонк пушку
PhantornRU Dec 9, 2023
a97532e
Донатное ограничение у педалей
PhantornRU Dec 11, 2023
4db1ebc
Ограничения на спавны слотами
PhantornRU Dec 11, 2023
f424521
pre_equip fixes
PhantornRU Dec 11, 2023
22a6b2b
Переименовывание функции
PhantornRU Dec 11, 2023
11f12a2
Дополнение карт - Дельты
PhantornRU Dec 11, 2023
4c8dacf
Уменьшаем Т1
PhantornRU Dec 11, 2023
86d2652
По просьбе Асмы понижаем слоты, запрещаем педалям брать должности
PhantornRU Dec 11, 2023
a74cf09
Убираем возможность спавниться в лейтджоине
PhantornRU Dec 11, 2023
f0957c3
ОФФы переименовали implants -> bio_chips
PhantornRU Jan 10, 2024
4405191
implanter -> bio_chip_implanter
PhantornRU Jan 11, 2024
6c48e44
My final message... IMplant goodbye
PhantornRU Jan 11, 2024
60326e9
Apply suggestions from code review
PhantornRU Jan 22, 2024
e1c1e25
Антаг сценарии теперь тоже получают исключение в ролях
PhantornRU Feb 2, 2024
0ce7cf2
Merge branch 'donor_jobs_update' of https://github.com/PhantornRU/Par…
PhantornRU Feb 2, 2024
187f5d5
Рефактор джобок, кнопка переключающая список профессий
PhantornRU Feb 2, 2024
5593a61
ошибся в названии переменной
PhantornRU Feb 2, 2024
f740472
Убираем забытый месседж админам
PhantornRU Feb 3, 2024
5d712f8
Убираем донатные проффки из лейтджоина если они недоступны, удаляем с…
PhantornRU Feb 3, 2024
c4d8fba
исправляем код проверки доноров
PhantornRU Feb 3, 2024
dbcc5ed
Добавляем глобал список для родительских и щитспавн работок которых н…
PhantornRU Feb 3, 2024
05f81c1
мелкофикс для вычета исключенных работок из лейджоина
PhantornRU Feb 3, 2024
7799d3e
Сместил проверку, ошибся её местом...
PhantornRU Feb 3, 2024
0b2954b
Распределяем битовые флаги по свободным ячейкам, добавляем флаг механ…
PhantornRU Feb 5, 2024
717b012
Merge branch 'ss220club:master' into donor_jobs_update
PhantornRU Feb 6, 2024
717f279
Merge branch 'ss220club:master' into donor_jobs_update
PhantornRU Feb 7, 2024
c5dc833
Очищаем карту Кипериада и Дельты
PhantornRU Feb 7, 2024
5e06d1f
Обновляем Лендмарки
PhantornRU Feb 7, 2024
f8b2d00
Проверка отсутствия джобки
PhantornRU Feb 7, 2024
6e56add
фикс рантайма связывания работ
PhantornRU Feb 8, 2024
6f9baba
фикс количества работок
PhantornRU Feb 8, 2024
0f363f5
Изменяем логику проверки связанных работ по позициям
PhantornRU Feb 8, 2024
9a8a5d8
Фиксим сбой в числе работ
PhantornRU Feb 8, 2024
835e4c7
Исключаем ДОНОРов из выбора антагов
PhantornRU Feb 8, 2024
24833f4
Устанавливаем макс_допустимый бит
PhantornRU Feb 8, 2024
da88f87
Мелкофикс ТТС сида
PhantornRU Feb 8, 2024
353b58a
Убираем коробки с частотой ЦК у Пред-й ТСФ, ССП и Дилеров
PhantornRU Feb 9, 2024
11bb067
Чуть-чуть увеличиваем средства
PhantornRU Feb 9, 2024
d2224b6
Снижаем число слотов у банкира и оффицианта
PhantornRU Feb 9, 2024
8a759d2
Небольшой багфикс для новичков
PhantornRU Feb 10, 2024
cf292c0
Убираем роли для выпадения антагам
PhantornRU Feb 13, 2024
9698a00
Фиксим SQL ошибку выхода за пределы
PhantornRU Feb 13, 2024
49c1e2e
Снижаем бабки
PhantornRU Feb 13, 2024
30894ae
Запрещаем педалям брать донат-джобки
PhantornRU Feb 13, 2024
e5868fe
ЛОгический фикс
PhantornRU Feb 13, 2024
34c0f12
Временно включаем ограничение, до распоряжения и фикса
PhantornRU Feb 14, 2024
864f3a3
Добавляем исключение за возможность зайти на работки на которых у теб…
PhantornRU Feb 15, 2024
3aa37e4
Убираем minimal_access
PhantornRU Feb 15, 2024
71c8bb1
Дочищаем minimal_access
PhantornRU Feb 15, 2024
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
208 changes: 188 additions & 20 deletions _maps/map_files220/MetaStation/MetaStation.dmm

Large diffs are not rendered by default.

227 changes: 208 additions & 19 deletions _maps/map_files220/cyberiad/cyberiad.dmm

Large diffs are not rendered by default.

294 changes: 269 additions & 25 deletions _maps/map_files220/delta/delta.dmm

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion code/controllers/subsystem/SSjobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ SUBSYSTEM_DEF(jobs)
return FALSE
if(job.barred_by_missing_limbs(player.client))
return FALSE
if(!job.is_donor_allowed(player.client)) // SS220 ADD - Donor Jobs
return FALSE

var/available = latejoin ? job.is_position_available() : job.is_spawn_position_available()

Expand Down Expand Up @@ -519,7 +521,7 @@ SUBSYSTEM_DEF(jobs)
H = new_mob

if(job && H)
job.after_spawn(H)
job.after_spawn(H, joined_late) // SS220 EDIT - jobs - prisoner spawn

//Gives glasses to the vision impaired
if(HAS_TRAIT(H, TRAIT_NEARSIGHT))
Expand Down
3 changes: 1 addition & 2 deletions code/game/jobs/job/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,9 @@
var/job_banned_gamemode = FALSE

//Only override this proc
/datum/job/proc/after_spawn(mob/living/carbon/human/H)
/datum/job/proc/after_spawn(mob/living/carbon/human/H, joined_late = FALSE) // SS220 EDIT - jobs - prisoner spawn
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_JOB_AFTER_SPAWN, src, H)


/datum/job/proc/announce(mob/living/carbon/human/H)

/datum/job/proc/equip(mob/living/carbon/human/H, visualsOnly = FALSE, announce = TRUE)
Expand Down
36 changes: 27 additions & 9 deletions code/modules/client/preference/character.dm
Original file line number Diff line number Diff line change
Expand Up @@ -532,15 +532,15 @@
autohiss_mode = sanitize_integer(autohiss_mode, 0, 2, initial(autohiss_mode))

alternate_option = sanitize_integer(alternate_option, 0, 2, initial(alternate_option))
job_support_high = sanitize_integer(job_support_high, 0, 65535, initial(job_support_high))
job_support_med = sanitize_integer(job_support_med, 0, 65535, initial(job_support_med))
job_support_low = sanitize_integer(job_support_low, 0, 65535, initial(job_support_low))
job_medsci_high = sanitize_integer(job_medsci_high, 0, 65535, initial(job_medsci_high))
job_medsci_med = sanitize_integer(job_medsci_med, 0, 65535, initial(job_medsci_med))
job_medsci_low = sanitize_integer(job_medsci_low, 0, 65535, initial(job_medsci_low))
job_engsec_high = sanitize_integer(job_engsec_high, 0, 65535, initial(job_engsec_high))
job_engsec_med = sanitize_integer(job_engsec_med, 0, 65535, initial(job_engsec_med))
job_engsec_low = sanitize_integer(job_engsec_low, 0, 65535, initial(job_engsec_low))
job_support_high = sanitize_integer(job_support_high, 0, get_datum_last_support(), initial(job_support_high)) // SS220 EDIT - EXTRA JOBS
job_support_med = sanitize_integer(job_support_med, 0, get_datum_last_support(), initial(job_support_med)) // SS220 EDIT - EXTRA JOBS
job_support_low = sanitize_integer(job_support_low, 0, get_datum_last_support(), initial(job_support_low)) // SS220 EDIT - EXTRA JOBS
job_medsci_high = sanitize_integer(job_medsci_high, 0, get_datum_last_medsci(), initial(job_medsci_high)) // SS220 EDIT - EXTRA JOBS
job_medsci_med = sanitize_integer(job_medsci_med, 0, get_datum_last_medsci(), initial(job_medsci_med)) // SS220 EDIT - EXTRA JOBS
job_medsci_low = sanitize_integer(job_medsci_low, 0, get_datum_last_medsci(), initial(job_medsci_low)) // SS220 EDIT - EXTRA JOBS
job_engsec_high = sanitize_integer(job_engsec_high, 0, get_datum_last_engsec(), initial(job_engsec_high)) // SS220 EDIT - EXTRA JOBS
job_engsec_med = sanitize_integer(job_engsec_med, 0, get_datum_last_engsec(), initial(job_engsec_med)) // SS220 EDIT - EXTRA JOBS
job_engsec_low = sanitize_integer(job_engsec_low, 0, get_datum_last_engsec(), initial(job_engsec_low)) // SS220 EDIT - EXTRA JOBS
disabilities = sanitize_integer(disabilities, 0, 65535, initial(disabilities))

socks = sanitize_text(socks, initial(socks))
Expand Down Expand Up @@ -1980,6 +1980,15 @@
html += "<tt><center>"
html += "<b>Choose occupation chances</b><br>Unavailable occupations are crossed out.<br><br>"
html += "<center><a href='?_src_=prefs;preference=job;task=close'>Save</a></center><br>" // Easier to press up here.

// ===== SS220 ADD - NEW JOBS ======
// ============= START =============
if(check_available_extra_job_prefs(user.client))
html += "<center><u><b><a href='?_src_=prefs;preference=job;task=extra_job'>Показать [extra_jobs_check ? "основные" : "дополнительные"] работы</a></b></u></center><br>"
if(extra_jobs_check)
splitJobs = get_split_extra_jobs()
// ============== END ==============

html += "<div align='center'>Left-click to raise an occupation preference, right-click to lower it.<br></div>"
html += "<script type='text/javascript'>function setJobPrefRedirect(level, rank) { window.location.href='?_src_=prefs;preference=job;task=setJobLevel;level=' + level + ';text=' + encodeURIComponent(rank); return false; }</script>"
html += "<table width='100%' cellpadding='1' cellspacing='0'><tr><td width='20%'>" // Table within a table for alignment, also allows you to easily add more colomns.
Expand All @@ -1999,6 +2008,15 @@
if(job.hidden_from_job_prefs)
continue

// ===== SS220 ADD - NEW JOBS ======
// ============= START =============
if(!job.is_donor_allowed(user.client))
continue

if(extra_jobs_check != job.is_extra_job)
continue
// ============== END ==============

index += 1
if((index >= limit) || (job.title in splitJobs))
if((index < limit) && (lastJob != null))
Expand Down
2 changes: 1 addition & 1 deletion modular_ss220/_defines220/_defines220.dme
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include "code/hud_ss220.dm"
#include "code/layers_ss220.dm"
#include "code/signals_atom.dm"
#include "code/jobs_defines.dm"
#include "code/job_defines.dm"
#include "code/donor.dm"
#include "code/emote.dm"
#include "code/lists_TG.dm"
4 changes: 4 additions & 0 deletions modular_ss220/_defines220/code/donor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@
// What TTS level does it give access to?
#define BIG_WORKER_TTS_LEVEL 3
#define LITTLE_WORKER_TTS_LEVEL 1

// General limitation
#define BIG_WORKER_LEVEL 3
#define LITTLE_WORKER_LEVEL 2
141 changes: 141 additions & 0 deletions modular_ss220/_defines220/code/job_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
#define NOVICE_JOB_MINUTES 120
#define NOVICE_CADET_JOB_MINUTES 300

// Если ОФФы добавят новую должность в отдел, то потребуется смещение (╯°□°)╯︵ ┻━┻
// Но так как они больше не планируют и выступают против добавления новых профессий, скорее всего ничего и не изменится.

// JOBCAT_"отдел"_LAST - нужен для корректного вывода из БД, иначе чуда не будет.
// Максимальный сдвиг (1<<22), Последний сдвиг (1<<23)
// Он должен быть всегда как минимум на 1 больше последнего, по дефолту у ОФФов (1<<16)


// ====================================
// JOBCAT_ENGSEC
// Начинаются с JOB_NANO (1<<14)
#define JOB_TRAINEE (1<<15)
#define JOB_CADET (1<<16)
//#define JOB_PILOT (1<<17)

#define JOB_REPRESENTATIVE_TSF (1<<17)
#define JOB_REPRESENTATIVE_USSP (1<<18)
#define JOB_DEALER (1<<19)
#define JOB_VIP_GUEST (1<<20)
#define JOB_BANKER (1<<21)
#define JOB_SECURITY_CLOWN (1<<22)

#define JOBCAT_LAST_ENGSEC (1<<23)


// ====================================
// JOBCAT_MEDSCI
// Начинаются с JOB_CORONER (1<<10)
#define JOB_INTERN (1<<11)
#define JOB_STUDENT (1<<12)
#define JOB_MECHANIC (1<<13)

#define JOB_ADMINISTRATOR (1<<14)
#define JOB_TOURIST_TSF (1<<15)
#define JOB_TOURIST_USSP (1<<16)
#define JOB_MANAGER_JANITOR (1<<17)
#define JOB_ACTOR (1<<18)
//#define JOB_APPRENTICE (1<<18)
#define JOB_GUARD (1<<19)
#define JOB_MIGRANT (1<<20)
#define JOB_UNCERTAIN (1<<21)
#define JOB_ADJUTANT (1<<22)
//#define JOB_MAID (1<<23)
//#define JOB_BUTLER (1<<24)

#define JOBCAT_LAST_MEDSCI (1<<23)


// ====================================
// JOBCAT_SUPPORT
// Начинаются с JOB_EXPLORER (1<<14)
#define JOB_PRISON (1<<15)
#define JOB_BARBER (1<<16)
#define JOB_BATH (1<<17)
#define JOB_CASINO (1<<18)
#define JOB_WAITER (1<<19)
#define JOB_ACOLYTE (1<<20)
//#define JOB_DELIVERER (1<<21)
#define JOB_BOXER (1<<21)
#define JOB_MUSICIAN (1<<22)
//#define JOB_PAINTER (1<<24)

#define JOBCAT_LAST_SUPPORT (1<<23)







// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// В ЭТОМ ФАЙЛЕ МЫ [B]ВРЕМЕННО[/B] ЗАСОВЫВАЕМ
// НАШИ ДЕФАЙНЫ ПОД КАТЕГОРИИ РАЗНЫХ ОТДЕЛОВ!
// ПРАВИЛЬНАЯ РАСФАСОВКА НИЖЕ
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

/*
// ====================================
// JOBCAT_ENGSEC
// Начинаются с JOB_NANO (1<<14)
#define JOB_TRAINEE (1<<15)
#define JOB_CADET (1<<16)
#define JOBCAT_LAST_ENGSEC (1<<17)


// ====================================
// JOBCAT_MEDSCI
// Начинаются с JOB_CORONER (1<<10)
#define JOB_INTERN (1<<11)
#define JOB_STUDENT (1<<12)
#define JOBCAT_LAST_MEDSCI (1<<16)


// ====================================
// JOBCAT_SUPPORT
// Начинаются с JOB_EXPLORER (1<<14)
// TIER 1
#define JOB_PRISON (1<<15)

// TIER 2
#define JOB_BARBER (1<<16)
#define JOB_BATH (1<<17)
#define JOB_CASINO (1<<18)
#define JOB_WAITER (1<<19)
#define JOB_ACOLYTE (1<<20)
#define JOB_DELIVERER (1<<21)
#define JOB_BOXER (1<<22)
#define JOB_PAINTER (1<<23)
#define JOB_MUSICIAN (1<<24)
#define JOB_DONOR (1<<24) // Свободная роль, можно переименовать
#define JOB_ACTOR (1<<26)

// TIER 3
#define JOB_ADMINISTRATOR (1<<27)
#define JOB_TOURIST_TSF (1<<28)
#define JOB_TOURIST_USSP (1<<29)
#define JOB_MANAGER_JANITOR (1<<30)
#define JOB_APPRENTICE (1<<31)
#define JOB_GUARD (1<<32)
#define JOB_MIGRANT (1<<33)
#define JOB_UNCERTAIN (1<<34)

// TIER 4
#define JOB_ADJUTANT (1<<35)
#define JOB_BUTLER (1<<36)
#define JOB_MAID (1<<37)
#define JOB_REPRESENTATIVE_TSF (1<<38)
#define JOB_REPRESENTATIVE_USSP (1<<39)
#define JOB_DEALER (1<<40)

// TIER 5
#define JOB_VIP_GUEST (1<<41)
#define JOB_BANKER (1<<42)
#define JOB_SECURITY_CLOWN (1<<43)

#define JOBCAT_LAST_SUPPORT (1<<44)

*/
11 changes: 0 additions & 11 deletions modular_ss220/_defines220/code/jobs_defines.dm

This file was deleted.

Binary file modified modular_ss220/aesthetics/better_ids/icons/better_ids.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
vars[param] = params[param]

if(GLOB.configuration.gamemode.prevent_mindshield_antags)
restricted_roles |= protected_roles
restricted_roles |= protected_roles + GLOB.restricted_jobs_ss220


/**
Expand Down
10 changes: 10 additions & 0 deletions modular_ss220/donor/code/client_procs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,13 @@
prefs.character_saves.len = prefs.max_save_slots

#undef MAX_SAVE_SLOTS_SS220

/client/proc/is_donor_allowed(required_donator_level)
switch(donator_level)
if(LITTLE_WORKER_TIER)
if(required_donator_level > LITTLE_WORKER_LEVEL)
return FALSE
if(BIG_WORKER_TIER)
if(required_donator_level > BIG_WORKER_LEVEL)
return FALSE
return required_donator_level <= donator_level
8 changes: 6 additions & 2 deletions modular_ss220/jobs/_jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,13 @@
/datum/modpack/jobs/initialize()
. = ..()

GLOB.security_positions |= GLOB.security_positions_ss220
GLOB.active_security_positions |= GLOB.security_positions_ss220
GLOB.security_positions |= GLOB.security_positions_ss220 + GLOB.security_donor_jobs
GLOB.active_security_positions |= GLOB.security_positions_ss220 + GLOB.security_donor_jobs

GLOB.medical_positions |= GLOB.medical_positions_ss220
GLOB.engineering_positions |= GLOB.engineering_positions_ss220
GLOB.science_positions |= GLOB.science_positions_ss220

GLOB.service_positions |= GLOB.service_donor_jobs
GLOB.supply_positions |= GLOB.supply_donor_jobs
GLOB.assistant_positions |= GLOB.assistant_donor_jobs
7 changes: 7 additions & 0 deletions modular_ss220/jobs/_jobs.dme
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,17 @@
#include "code/jobs_character.dm"
#include "code/jobs_gamemodes.dm"
#include "code/jobs.dm"
#include "code/landmarks.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/donor/job/1_tier_jobs.dm"
#include "code/donor/job/2_tier_jobs.dm"
#include "code/donor/job/3_tier_jobs.dm"
#include "code/donor/job/4_tier_jobs.dm"
#include "code/donor/job/5_tier_jobs.dm"
#include "code/donor/donor_jobs.dm"
#include "code/job/engineering_jobs.dm"
#include "code/job/medical_jobs.dm"
#include "code/job/science_jobs.dm"
Expand Down
26 changes: 23 additions & 3 deletions modular_ss220/jobs/code/card_computer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@

if(mode == IDCOMPUTER_SCREEN_TRANSFER) // JOB TRANSFER
if(modify && scan && !target_dept)
data["card_skins"] |= format_card_skins(GLOB.card_skins_ss220)
var/list/list_skins = GLOB.card_skins_ss220 + (is_centcom() ? GLOB.card_skins_donor_ss220 : list())
data["card_skins"] |= format_card_skins(list_skins)
data["jobs_security"] = GLOB.active_security_positions - (is_centcom() ? list() : GLOB.security_donor_jobs)
data["jobs_service"] = GLOB.service_positions - (is_centcom() ? list() : GLOB.service_donor_jobs)
data["jobs_supply"] = GLOB.supply_positions - (is_centcom() ? list() : GLOB.supply_donor_jobs)
data["jobs_assistant"] = GLOB.assistant_positions - (is_centcom() ? list() : GLOB.assistant_donor_jobs)

return data

Expand All @@ -14,8 +19,23 @@
if(!modify)
return FALSE
var/skin = params["skin_target"]
if(!skin || !(skin in GLOB.card_skins_ss220))
var/list/list_skins = GLOB.card_skins_ss220 + (is_centcom() ? GLOB.card_skins_donor_ss220 : list())
if(!skin || !(skin in list_skins))
return FALSE

modify.icon_state = skin//get_card_skins_ss220(skin)
modify.icon_state = skin
return TRUE

/obj/machinery/computer/card/format_job_slots(check_department, is_admin)
var/list/formatted = ..()

// Убираем JOB'ки из консоли ГП, если она не ЦКшная.
for(var/i in formatted)
if(i["title"] in GLOB.jobs_excluded_from_selection)
formatted.Remove(list(i))
if(is_centcom())
continue
if(i["title"] in GLOB.all_donor_jobs)
formatted.Remove(list(i))

return formatted
Loading
Loading