mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 17:43:35 +01:00
Popups can now be limited to 1
This commit is contained in:
@@ -29,6 +29,8 @@
|
||||
#define UI_DARKMODE 131072
|
||||
#define DISABLE_KARMA 262144
|
||||
|
||||
#define TYPING_ONCE 1048576
|
||||
|
||||
#define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_LOOC|MEMBER_PUBLIC|DONATOR_PUBLIC)
|
||||
|
||||
// Admin attack logs filter system, see /proc/add_attack_logs and /proc/msg_admin_attack
|
||||
|
||||
@@ -109,6 +109,15 @@
|
||||
else
|
||||
return trim(html_encode(name), max_length) //trim is "outside" because html_encode can expand single symbols into multiple symbols (such as turning < into <)
|
||||
|
||||
// Uses client.typing to check if the popup should appear or not
|
||||
/proc/typing_input(mob/user, message = "", title = "", default = "")
|
||||
if(user.client.checkTyping()) // Prevent double windows
|
||||
return null
|
||||
user.client.typing = TRUE
|
||||
var/msg = input(user, message, title, default) as text|null
|
||||
user.client.typing = FALSE
|
||||
return msg
|
||||
|
||||
//Filters out undesirable characters from names
|
||||
/proc/reject_bad_name(var/t_in, var/allow_numbers=0, var/max_length=MAX_NAME_LEN)
|
||||
if(!t_in || length(t_in) > max_length)
|
||||
|
||||
+34
-20
@@ -4,25 +4,21 @@ var/global/mentor_ooc_colour = "#0099cc"
|
||||
var/global/moderator_ooc_colour = "#184880"
|
||||
var/global/admin_ooc_colour = "#b82e00"
|
||||
|
||||
/client/verb/ooc(msg as text)
|
||||
//Checks if the client already has a text input open
|
||||
/client/proc/checkTyping()
|
||||
return (prefs.toggles & TYPING_ONCE && typing)
|
||||
|
||||
/client/verb/ooc(msg = "" as text)
|
||||
set name = "OOC"
|
||||
set category = "OOC"
|
||||
|
||||
|
||||
if(!mob)
|
||||
return
|
||||
if(IsGuestKey(key))
|
||||
to_chat(src, "<span class='danger'>Guests may not use OOC.</span>")
|
||||
return
|
||||
|
||||
msg = trim(sanitize(copytext(msg, 1, MAX_MESSAGE_LEN)))
|
||||
if(!msg)
|
||||
return
|
||||
|
||||
if(!(prefs.toggles & CHAT_OOC))
|
||||
to_chat(src, "<span class='danger'>You have OOC muted.</span>")
|
||||
return
|
||||
|
||||
if(!check_rights(R_ADMIN|R_MOD,0))
|
||||
if(!check_rights(R_ADMIN|R_MOD, 0))
|
||||
if(!config.ooc_allowed)
|
||||
to_chat(src, "<span class='danger'>OOC is globally muted.</span>")
|
||||
return
|
||||
@@ -32,6 +28,19 @@ var/global/admin_ooc_colour = "#b82e00"
|
||||
if(prefs.muted & MUTE_OOC)
|
||||
to_chat(src, "<span class='danger'>You cannot use OOC (muted).</span>")
|
||||
return
|
||||
|
||||
if(!msg)
|
||||
msg = typing_input(src.mob, "", "ooc (text)")
|
||||
|
||||
msg = trim(sanitize(copytext(msg, 1, MAX_MESSAGE_LEN)))
|
||||
if(!msg)
|
||||
return
|
||||
|
||||
if(!(prefs.toggles & CHAT_OOC))
|
||||
to_chat(src, "<span class='danger'>You have OOC muted.</span>")
|
||||
return
|
||||
|
||||
if(!check_rights(R_ADMIN|R_MOD,0))
|
||||
if(handle_spam_prevention(msg, MUTE_OOC, OOC_COOLDOWN))
|
||||
return
|
||||
if(findtext(msg, "byond://"))
|
||||
@@ -150,7 +159,7 @@ var/global/admin_ooc_colour = "#b82e00"
|
||||
|
||||
feedback_add_details("admin_verb","ROC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/looc(msg as text)
|
||||
/client/verb/looc(msg = "" as text)
|
||||
set name = "LOOC"
|
||||
set desc = "Local OOC, seen only by those in view."
|
||||
set category = "OOC"
|
||||
@@ -161,14 +170,6 @@ var/global/admin_ooc_colour = "#b82e00"
|
||||
to_chat(src, "<span class='danger'>Guests may not use OOC.</span>")
|
||||
return
|
||||
|
||||
msg = trim(sanitize(copytext(msg, 1, MAX_MESSAGE_LEN)))
|
||||
if(!msg)
|
||||
return
|
||||
|
||||
if(!(prefs.toggles & CHAT_LOOC))
|
||||
to_chat(src, "<span class='danger'>You have LOOC muted.</span>")
|
||||
return
|
||||
|
||||
if(!check_rights(R_ADMIN|R_MOD,0))
|
||||
if(!config.looc_allowed)
|
||||
to_chat(src, "<span class='danger'>LOOC is globally muted.</span>")
|
||||
@@ -179,6 +180,19 @@ var/global/admin_ooc_colour = "#b82e00"
|
||||
if(prefs.muted & MUTE_OOC)
|
||||
to_chat(src, "<span class='danger'>You cannot use LOOC (muted).</span>")
|
||||
return
|
||||
|
||||
if(!msg)
|
||||
msg = typing_input(src.mob, "", "LOOC (text)")
|
||||
|
||||
msg = trim(sanitize(copytext(msg, 1, MAX_MESSAGE_LEN)))
|
||||
if(!msg)
|
||||
return
|
||||
|
||||
if(!(prefs.toggles & CHAT_LOOC))
|
||||
to_chat(src, "<span class='danger'>You have LOOC muted.</span>")
|
||||
return
|
||||
|
||||
if(!check_rights(R_ADMIN|R_MOD,0))
|
||||
if(handle_spam_prevention(msg, MUTE_OOC, OOC_COOLDOWN))
|
||||
return
|
||||
if(findtext(msg, "byond://"))
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
var/area = null
|
||||
var/time_died_as_mouse = null //when the client last died as a mouse
|
||||
|
||||
var/typing = FALSE // Prevents typing window stacking
|
||||
|
||||
var/adminhelped = 0
|
||||
|
||||
var/gc_destroyed //Time when this object was destroyed.
|
||||
|
||||
@@ -231,3 +231,15 @@
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>You have enabled karma gains.")
|
||||
return
|
||||
|
||||
/client/verb/toggle_popup_limiter()
|
||||
set name = "Toggle Text Popup Limiter"
|
||||
set category = "Preferences"
|
||||
set desc = "Will let you limit the text input popups to one at a time."
|
||||
prefs.toggles ^= TYPING_ONCE
|
||||
prefs.save_preferences(src)
|
||||
if(prefs.toggles & TYPING_ONCE)
|
||||
to_chat(usr, "<span class='notice'>You have enabled text popup limiting.")
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>You have disabled text popup limiting.")
|
||||
return
|
||||
|
||||
@@ -39,7 +39,7 @@ var/global/image/typing_indicator
|
||||
|
||||
set_typing_indicator(1)
|
||||
hud_typing = 1
|
||||
var/message = input("","say (text)") as null|text
|
||||
var/message = typing_input(src, "", "say (text)")
|
||||
hud_typing = 0
|
||||
set_typing_indicator(0)
|
||||
if(message)
|
||||
@@ -49,9 +49,10 @@ var/global/image/typing_indicator
|
||||
set name = ".Me"
|
||||
set hidden = 1
|
||||
|
||||
|
||||
set_typing_indicator(1)
|
||||
hud_typing = 1
|
||||
var/message = input("","me (text)") as null|text
|
||||
var/message = typing_input(src, "", "me (text)")
|
||||
hud_typing = 0
|
||||
set_typing_indicator(0)
|
||||
if(message)
|
||||
|
||||
Reference in New Issue
Block a user