mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Updated server admin announcements (#7950)
Co-authored-by: Raeschen <rycoop29@gmail.com>
This commit is contained in:
@@ -626,7 +626,7 @@ var/global/floorIsLava = 0
|
|||||||
if(!check_rights(R_SERVER,0))
|
if(!check_rights(R_SERVER,0))
|
||||||
message = sanitize(message, 500, extra = 0)
|
message = sanitize(message, 500, extra = 0)
|
||||||
message = replacetext(message, "\n", "<br>") // required since we're putting it in a <p> tag
|
message = replacetext(message, "\n", "<br>") // required since we're putting it in a <p> tag
|
||||||
to_world("<span class=notice><b>[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:</b><p style='text-indent: 50px'>[message]</p></span>")
|
send_ooc_announcement(message, "From [usr.client.holder.fakekey ? "Administrator" : usr.key]") // CHOMPEdit
|
||||||
log_admin("Announce: [key_name(usr)] : [message]")
|
log_admin("Announce: [key_name(usr)] : [message]")
|
||||||
feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||||
|
|
||||||
|
|||||||
86
modular_chomp/code/_HELPERS/announcements.dm
Normal file
86
modular_chomp/code/_HELPERS/announcements.dm
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
/**
|
||||||
|
* Sends a div formatted chat box announcement
|
||||||
|
*
|
||||||
|
* Formatted like:
|
||||||
|
*
|
||||||
|
* " Server Announcement " (or sender_override)
|
||||||
|
*
|
||||||
|
* " Title "
|
||||||
|
*
|
||||||
|
* " Text "
|
||||||
|
*
|
||||||
|
* Arguments
|
||||||
|
* * text - required, the text to announce
|
||||||
|
* * title - optional, the title of the announcement.
|
||||||
|
* * players - optional, a list of all players to send the message to. defaults to the entire world
|
||||||
|
* * play_sound - if TRUE, play a sound with the announcement (based on player option)
|
||||||
|
* * sound_override - optional, override the default announcement sound
|
||||||
|
* * sender_override - optional, modifies the sender of the announcement
|
||||||
|
* * encode_title - if TRUE, the title will be HTML encoded (escaped)
|
||||||
|
* * encode_text - if TRUE, the text will be HTML encoded (escaped)
|
||||||
|
*/
|
||||||
|
|
||||||
|
/proc/send_ooc_announcement(
|
||||||
|
text,
|
||||||
|
title = "",
|
||||||
|
players,
|
||||||
|
play_sound = TRUE,
|
||||||
|
sound_override = 'modular_chomp/sound/misc/bloop.ogg',
|
||||||
|
sender_override = "Server Admin Announcement",
|
||||||
|
encode_title = TRUE,
|
||||||
|
encode_text = FALSE,
|
||||||
|
)
|
||||||
|
if(isnull(text))
|
||||||
|
return
|
||||||
|
|
||||||
|
var/list/announcement_strings = list()
|
||||||
|
|
||||||
|
if(encode_title && title && length(title) > 0)
|
||||||
|
title = html_encode(title)
|
||||||
|
if(encode_text)
|
||||||
|
text = html_encode(text)
|
||||||
|
if(!length(text))
|
||||||
|
return
|
||||||
|
|
||||||
|
announcement_strings += span_major_announcement_title(sender_override)
|
||||||
|
announcement_strings += span_subheader_announcement_text(title)
|
||||||
|
announcement_strings += span_ooc_announcement_text(text)
|
||||||
|
var/finalized_announcement = create_ooc_announcement_div(jointext(announcement_strings, ""))
|
||||||
|
|
||||||
|
if(islist(players))
|
||||||
|
for(var/mob/target in players)
|
||||||
|
to_chat(target, finalized_announcement)
|
||||||
|
//if(play_sound && target.client?.prefs.read_preference(/datum/preference/toggle/sound_announcements))
|
||||||
|
if(play_sound && target.client?.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
|
||||||
|
SEND_SOUND(target, sound(sound_override))
|
||||||
|
else
|
||||||
|
to_chat(world, finalized_announcement)
|
||||||
|
|
||||||
|
if(!play_sound)
|
||||||
|
return
|
||||||
|
|
||||||
|
for(var/mob/player in player_list)
|
||||||
|
//if(player.client?.prefs.read_preference(/datum/preference/toggle/sound_announcements))
|
||||||
|
if(player.client?.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
|
||||||
|
SEND_SOUND(player, sound(sound_override))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inserts a span styled message into an alert box div
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Arguments
|
||||||
|
* * message - required, the message contents
|
||||||
|
* * color - optional, set a div color other than default
|
||||||
|
*/
|
||||||
|
/proc/create_announcement_div(message, color = "default")
|
||||||
|
return "<div class='chat_alert_[color]'>[message]</div>"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inserts a span styled message into an OOC alert style div
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Arguments
|
||||||
|
* * message - required, the message contents
|
||||||
|
*/
|
||||||
|
/proc/create_ooc_announcement_div(message)
|
||||||
|
return "<div class='ooc_alert'>[message]</div>"
|
||||||
4
modular_chomp/code/__defines/span.dm
Normal file
4
modular_chomp/code/__defines/span.dm
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#define span_major_announcement_text(str) ("<span class='major_announcement_text'>" + str + "</span>")
|
||||||
|
#define span_major_announcement_title(str) ("<span class='major_announcement_title'>" + str + "</span>")
|
||||||
|
#define span_ooc_announcement_text(str) ("<span class='ooc_announcement_text'>" + str + "</span>")
|
||||||
|
#define span_subheader_announcement_text(str) ("<span class='subheader_announcement_text'>" + str + "</span>")
|
||||||
BIN
modular_chomp/sound/misc/bloop.ogg
Normal file
BIN
modular_chomp/sound/misc/bloop.ogg
Normal file
Binary file not shown.
@@ -1235,6 +1235,24 @@ $border-width-px: $border-width * 1px;
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ooc_alert {
|
||||||
|
background: #4d4100;
|
||||||
|
border: 1px solid #cca300;
|
||||||
|
margin: 0.5em;
|
||||||
|
padding: 0.5em 0.5em 0.5em 0.2em;
|
||||||
|
color: #ffffff;
|
||||||
|
font-weight: bold;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ooc_announcement_text {
|
||||||
|
color: #cca300;
|
||||||
|
padding: 0.5em 0 0 0.35em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
@each $color-name, $color-value in $alert-stripe-colors {
|
@each $color-name, $color-value in $alert-stripe-colors {
|
||||||
.chat_alert_#{$color-name} {
|
.chat_alert_#{$color-name} {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
|||||||
@@ -1262,6 +1262,24 @@ $border-width-px: $border-width * 1px;
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ooc_alert {
|
||||||
|
background: #bdc8ff;
|
||||||
|
border: 1px solid #002eb8;
|
||||||
|
margin: 0.5em;
|
||||||
|
padding: 0.5em 0.5em 0.5em 0.2em;
|
||||||
|
color: #00283a;
|
||||||
|
font-weight: bold;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ooc_announcement_text {
|
||||||
|
color: #002eb8;
|
||||||
|
padding: 0.5em 0 0 0.35em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
@each $color-name, $color-value in $alert-stripe-colors {
|
@each $color-name, $color-value in $alert-stripe-colors {
|
||||||
.chat_alert_#{$color-name} {
|
.chat_alert_#{$color-name} {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
|||||||
@@ -1236,6 +1236,24 @@ $border-width-px: $border-width * 1px;
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ooc_alert {
|
||||||
|
background: #4d4100;
|
||||||
|
border: 1px solid #cca300;
|
||||||
|
margin: 0.5em;
|
||||||
|
padding: 0.5em 0.5em 0.5em 0.2em;
|
||||||
|
color: #ffffff;
|
||||||
|
font-weight: bold;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ooc_announcement_text {
|
||||||
|
color: #cca300;
|
||||||
|
padding: 0.5em 0 0 0.35em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
@each $color-name, $color-value in $alert-stripe-colors {
|
@each $color-name, $color-value in $alert-stripe-colors {
|
||||||
.chat_alert_#{$color-name} {
|
.chat_alert_#{$color-name} {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
|||||||
@@ -1260,6 +1260,24 @@ $border-width-px: $border-width * 1px;
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ooc_alert {
|
||||||
|
background: #bdc8ff;
|
||||||
|
border: 1px solid #002eb8;
|
||||||
|
margin: 0.5em;
|
||||||
|
padding: 0.5em 0.5em 0.5em 0.2em;
|
||||||
|
color: #00283a;
|
||||||
|
font-weight: bold;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ooc_announcement_text {
|
||||||
|
color: #002eb8;
|
||||||
|
padding: 0.5em 0 0 0.35em;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
@each $color-name, $color-value in $alert-stripe-colors {
|
@each $color-name, $color-value in $alert-stripe-colors {
|
||||||
.chat_alert_#{$color-name} {
|
.chat_alert_#{$color-name} {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
|||||||
@@ -4614,9 +4614,11 @@
|
|||||||
#include "modular_chomp\code\coalesce_ch.dm"
|
#include "modular_chomp\code\coalesce_ch.dm"
|
||||||
#include "modular_chomp\code\global.dm"
|
#include "modular_chomp\code\global.dm"
|
||||||
#include "modular_chomp\code\__defines\_planes+layers.dm"
|
#include "modular_chomp\code\__defines\_planes+layers.dm"
|
||||||
|
#include "modular_chomp\code\__defines\span.dm"
|
||||||
#include "modular_chomp\code\__defines\text.dm"
|
#include "modular_chomp\code\__defines\text.dm"
|
||||||
#include "modular_chomp\code\_global_vars\tgui.dm"
|
#include "modular_chomp\code\_global_vars\tgui.dm"
|
||||||
#include "modular_chomp\code\_global_vars\list\names.dm"
|
#include "modular_chomp\code\_global_vars\list\names.dm"
|
||||||
|
#include "modular_chomp\code\_HELPERS\announcements.dm"
|
||||||
#include "modular_chomp\code\_HELPERS\game.dm"
|
#include "modular_chomp\code\_HELPERS\game.dm"
|
||||||
#include "modular_chomp\code\_HELPERS\mobs.dm"
|
#include "modular_chomp\code\_HELPERS\mobs.dm"
|
||||||
#include "modular_chomp\code\_HELPERS\type2type.dm"
|
#include "modular_chomp\code\_HELPERS\type2type.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user