Skip to content

Commit

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

## Что этот PR делает
Добавляем новые тиры для работников проекта.
- Большой работяга дает доступ ко всем голосам, имеет 10 слотов
персонажа и 9 лодаут очков.
- Маленькйи работяга дает доступ голосам 1 тира, имеет 7 слотов
персонажа и 5 лодаут очков
<!-- Вкратце опишите изменения, которые вносите. -->
<!-- Опишите **все** изменения, так как противное может сказаться на
рассмотрении этого PR'а! -->
<!-- Если вы исправляете Issue, добавьте "Fixes #1234" (где 1234 - номер
Issue) где-нибудь в описании PR'а. Это автоматически закроет Issue после
принятия PR'а. -->

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

<!-- Опишите, почему, по вашему, следует добавить эти изменения в игру.
-->

## Изображения изменений
<!-- Если вы не меняли карту или спрайты, можете опустить эту секцию.
Если хотите, можете вставить видео. -->

## Тестирование
<!-- Как вы тестировали свой PR, если делали это вовсе? -->

## Changelog

:cl:
tweak: Пересмотрены админ тиры, теперь у работников проекта отдельный
тир который лучше чем тот что был до нововведения
/:cl:

<!-- Оба :cl:'а должны быть на месте, что-бы чейнджлог работал! Вы
можете написать свой ник справа от первого :cl:, если хотите. Иначе
будет использован ваш ник на ГитХабе. -->
<!-- Вы можете использовать несколько записей с одинаковым префиксом
(Они используются только для иконки в игре) и удалить ненужные. Помните,
что чейнджлог должен быть понятен обычным игроком. -->
<!-- Если чейнджлог не влияет на игроков(например, это рефактор), вы
можете исключить всю секцию. -->
  • Loading branch information
Legendaxe authored Nov 29, 2023
1 parent 108eec3 commit cdab978
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 4 deletions.
1 change: 1 addition & 0 deletions modular_ss220/_defines220/_defines220.dme
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@
#include "code/hud_ss220.dm"
#include "code/layers_ss220.dm"
#include "code/signals_atom.dm"
#include "code/donor.dm"
7 changes: 7 additions & 0 deletions modular_ss220/_defines220/code/donor.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Special tiers for ss220 staff
#define BIG_WORKER_TIER 220
#define LITTLE_WORKER_TIER 110

// What TTS level does it give access to?
#define BIG_WORKER_TTS_LEVEL 3
#define LITTLE_WORKER_TTS_LEVEL 1
24 changes: 21 additions & 3 deletions modular_ss220/donor/code/client_procs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@


/datum/client_login_processor/donator_check/proc/CheckAutoDonatorLevel(client/C)
var/list/big_worker = list("Админ", "Старший Администратор", "Разработчик", "Бригадир мапперов", "Маппер")

if(C.holder)
C.donator_level = 2
C.donator_level = (C.holder.rank in big_worker) ? BIG_WORKER_TIER : LITTLE_WORKER_TIER
return

var/is_wl = GLOB.configuration.overflow.reroute_cap == 0.5 ? TRUE : FALSE
Expand All @@ -17,7 +19,7 @@
return

while(rank_ckey_read.NextRow())
C.donator_level = 2
C.donator_level = (rank_ckey_read.item[1] in big_worker) ? BIG_WORKER_TIER : LITTLE_WORKER_TIER

qdel(rank_ckey_read)

Expand All @@ -42,7 +44,13 @@
if(10000 to INFINITY)
donator_level = DONATOR_LEVEL_MAX

C.donator_level = max(donator_level, C.donator_level)
switch(C.donator_level)
if(LITTLE_WORKER_TIER)
C.donator_level = LITTLE_WORKER_TTS_LEVEL > donator_level ? C.donator_level : donator_level
if(BIG_WORKER_TIER)
C.donator_level = BIG_WORKER_TTS_LEVEL > donator_level ? C.donator_level : donator_level
else
C.donator_level = donator_level


C.donor_loadout_points()
Expand Down Expand Up @@ -77,13 +85,23 @@
prefs.max_gear_slots += 12
if(5)
prefs.max_gear_slots += 16
if(LITTLE_WORKER_TIER)
prefs.max_gear_slots += 1
if(BIG_WORKER_TIER)
prefs.max_gear_slots += 5

/client/proc/donor_character_slots()
if(!prefs)
return

prefs.max_save_slots = MAX_SAVE_SLOTS_SS220 + 5 * donator_level

switch(donator_level)
if(LITTLE_WORKER_TIER)
prefs.max_save_slots = 7
if(BIG_WORKER_TIER)
prefs.max_save_slots = 10

prefs.character_saves.len = prefs.max_save_slots

#undef MAX_SAVE_SLOTS_SS220
11 changes: 10 additions & 1 deletion modular_ss220/text_to_speech/code/tts_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,16 @@
client.prefs.ShowChoices(src)
return FALSE
var/datum/tts_seed/seed = SStts220.tts_seeds[client.prefs.active_character.tts_seed]
if(client.donator_level < seed.required_donator_level)

switch(client.donator_level)
if(LITTLE_WORKER_TIER)
if(LITTLE_WORKER_TTS_LEVEL >= seed.required_donator_level)
return TRUE
if(BIG_WORKER_TIER)
if(BIG_WORKER_TTS_LEVEL >= seed.required_donator_level)
return TRUE

if(client.donator_level < seed.required_donator_level || client.donator_level > DONATOR_LEVEL_MAX)
to_chat(usr, span_danger("Выбранный голос персонажа более недоступен на текущем уровне подписки!"))
client.prefs.ShowChoices(src)
return FALSE
Expand Down

0 comments on commit cdab978

Please sign in to comment.