diff --git a/code/__DEFINES/_ss220.dm b/code/__DEFINES/_ss220.dm new file mode 100644 index 000000000000..203e016a313f --- /dev/null +++ b/code/__DEFINES/_ss220.dm @@ -0,0 +1 @@ +#define MODPACK_CHAT_BADGES diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index 5ef95703e25b..c1190098c33d 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -75,6 +75,10 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") for(var/client/C in GLOB.clients) if(C.prefs.toggles & PREFTOGGLE_CHAT_OOC) + // SS220 MODPACK REPLACE START + #ifdef MODPACK_CHAT_BADGES + var/display_name = get_ooc_badged_name() + #else var/display_name = key if(prefs.unlock_content) @@ -87,6 +91,8 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00") var/icon/donator = icon('icons/ooc_tag_16x.png') display_name = "[bicon(donator)][display_name]" + #endif + // SS220 MODPACK REPLACE END if(holder) if(holder.fakekey) if(C.holder && C.holder.rights & R_ADMIN) diff --git a/modular_ss220/chat_badges/_chat_badges.dm b/modular_ss220/chat_badges/_chat_badges.dm new file mode 100644 index 000000000000..a343b6d9bda4 --- /dev/null +++ b/modular_ss220/chat_badges/_chat_badges.dm @@ -0,0 +1,4 @@ +/datum/modpack/chat_badges + name = "Chat badges" + desc = "Добавляет иконки в OOC для различных ролей" + author = "furior" diff --git a/modular_ss220/chat_badges/_chat_badges.dme b/modular_ss220/chat_badges/_chat_badges.dme new file mode 100644 index 000000000000..d6350942a883 --- /dev/null +++ b/modular_ss220/chat_badges/_chat_badges.dme @@ -0,0 +1,3 @@ +#include "_chat_badges.dm" + +#include "code/badges.dm" diff --git a/modular_ss220/chat_badges/code/badges.dm b/modular_ss220/chat_badges/code/badges.dm new file mode 100644 index 000000000000..10e3f4fe721a --- /dev/null +++ b/modular_ss220/chat_badges/code/badges.dm @@ -0,0 +1,44 @@ +#define CHAT_BADGES_DMI 'modular_ss220/chat_badges/icons/chatbadges.dmi' + +/client/proc/get_ooc_badged_name() + . = key + if(donator_level && (prefs.toggles & PREFTOGGLE_DONATOR_PUBLIC)) + var/icon/donator = icon(CHAT_BADGES_DMI, donator_level > 3 ? "Trusted" : "Paradise") + . = "[bicon(donator)][.]" + + if(prefs.unlock_content) + if(prefs.toggles & PREFTOGGLE_MEMBER_PUBLIC) + var/icon/palm = icon(CHAT_BADGES_DMI, "Trusted") + . = "[bicon(palm)][.]" + + if(!holder) + return + + // Config disallows using Russian so this is the way + var/rank + switch(holder.rank) + if("Хост") + rank = "Host" + if("Ведущий Разработчик") + rank = "HeadDeveloper" + if("Старший Администратор") + rank = "HeadAdmin" + if("Банда") + rank = "Streamer" + if("Админ") + rank = "GameAdmin" + if("Триал Админ") + rank = "TrialAdmin" + if("Ментор") + rank = "Mentor" + if("Разработчик") + rank = "Developer" + if("Маппер") + rank = "Mapper" + if("Спрайтер") + rank = "Spriceter" + + var/icon/rank_badge = icon(CHAT_BADGES_DMI, rank) + . = "[bicon(rank_badge)][.]" + +#undef CHAT_BADGES_DMI diff --git a/modular_ss220/chat_badges/icons/chatbadges.dmi b/modular_ss220/chat_badges/icons/chatbadges.dmi new file mode 100644 index 000000000000..b4ae6ba65827 Binary files /dev/null and b/modular_ss220/chat_badges/icons/chatbadges.dmi differ diff --git a/modular_ss220/modular_ss220.dme b/modular_ss220/modular_ss220.dme index c50c95a591bb..cf4d4960393a 100644 --- a/modular_ss220/modular_ss220.dme +++ b/modular_ss220/modular_ss220.dme @@ -12,6 +12,9 @@ // --- ICONS --- // #include "aesthetics/_aesthetics.dme" +#ifdef MODPACK_CHAT_BADGES +#include "chat_badges/_chat_badges.dme" +#endif #include "hairs/_hairs.dme" // --- OBJECTS --- // diff --git a/paradise.dme b/paradise.dme index f9a2f71b3b80..000c0cef3680 100644 --- a/paradise.dme +++ b/paradise.dme @@ -24,6 +24,7 @@ #include "code\__DEFINES\_protection.dm" #include "code\__DEFINES\_readme.dm" #include "code\__DEFINES\_spacemandmm.dm" +#include "code\__DEFINES\_ss220.dm" // SS220 ADDITION : MODPACK TOGGLING #include "code\__DEFINES\_tgs_defines.dm" #include "code\__DEFINES\_tick.dm" #include "code\__DEFINES\_versions.dm"