mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-19 05:09:49 +01:00
84dc5535dc
* These two are easy * !!!runlevel_flags the fact it was global.runlevel_flags.len has me a bit...iffy on this. * !!!json_cache Same as above. used global. * player_list & observer_mob_list * mechas_list * this wasn't even used * surgery_steps * event_triggers * landmarks_list * dead_mob_list * living_mob_list * ai_list * cable_list * cleanbot_reserved_turfs * listening_objects * silicon_mob_list * human_mob_list * Update global_lists.dm * joblist * mob_list * Update global_lists.dm * holomap_markers * mapping_units * mapping_beacons * hair_styles_list * facial_hair_styles_list * Update global_lists.dm * facial_hair_styles_male_list * facial_hair_styles_female_list * body_marking_styles_list * body_marking_nopersist_list * ear_styles_list * hair_styles_male_list * tail_styles_list * wing_styles_list * escape_list & rune_list & endgame_exits these were all really small * endgame_safespawns * stool_cache * emotes_by_key * random_maps & map_count * item_tf_spawnpoints * narsie_list * active_radio_jammers * unused * paikeys * pai_software_by_key & default_pai_software * plant_seed_sprites * magazine_icondata_keys & magazine_icondata_states * unused * ashtray_cache * light_type_cache * HOLIDAY!!! this one was annoying * faction stuff (red?!) * Update preferences_factions.dm * vs edit removal * backbaglist, pdachoicelist, exclude_jobs * item_digestion_blacklist, edible_tech, blacklisted_artifact_effect, selectable_footstep, hexNums, syndicate_access * string_slot_flags and hexdigits->hexNums * possible_changeling_IDs * vr_mob_tf_options * vr_mob_spawner_options * pipe_colors * vr_mob_spawner_options * common_tools * newscaster_standard_feeds * Update periodic_news.dm * changeling_fabricated_clothing * semirandom_mob_spawner_decisions * id_card_states * Update syndicate_ids.dm * overlay_cache & gear_distributed_to * more * radio_channels_by_freq * Update global_lists.dm * proper * default_medbay_channels & default_internal_channels default_internal_channels is weird as it has a mapbased proc() but that proc is never called... * valid_ringtones * move this * possible_plants * more * separate these moves xeno2chemlist from a hook to a new global list. * tube_dir_list * valid_bloodreagents & monitor_states * Junk * valid_bloodtypes * breach_burn_descriptors & burn * more!! appliance_available_recipes seems uber cursed, re-look at later * Appliance code is cursed * wide_chassis & flying_chassis * allows_eye_color * all_tooltip_styles * direction_table * gun_choices * severity_to_string * old event_viruses * description_icons * MOVE_KEY_MAPPINGS * more more * pai & robot modules * Update global_lists.dm * GEOSAMPLES Also swaps a .len to LAZYLEN() * shieldgens * reagent recipies * global ammo types * rad collector * old file and unused global * nif_look_messages * FESH * nifsoft * chamelion * the death of sortAtom * globulins * lazylen that * Update global_lists.dm * LAZY * Theese too * quick fix --------- Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
87 lines
2.7 KiB
Plaintext
87 lines
2.7 KiB
Plaintext
/**
|
|
* 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 = '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?.prefs.read_preference(/datum/preference/toggle/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 GLOB.player_list)
|
|
//if(player.client?.prefs.read_preference(/datum/preference/toggle/sound_announcements))
|
|
if(player.client?.prefs.read_preference(/datum/preference/toggle/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>"
|