NTOS PDA Messenger update username based on ID (#15560)

* namechange on id

* Update ntpda_msg.dm

* make wider and set on spawn and apply to phones

* extend max name len
This commit is contained in:
ynot01
2022-10-08 08:30:14 -05:00
committed by GitHub
parent 648fbcdb65
commit 7f928a2019
5 changed files with 45 additions and 6 deletions

View File

@@ -338,10 +338,28 @@ GLOBAL_LIST_EMPTY(NTPDAMessages)
return TRUE
if("PRG_namechange")
var/newname = reject_bad_text(params["name"], max_length = 35)
if(computer.GetID())
computer.visible_message(span_danger("Username is ID-locked!"), null, null, 1)
return
var/unsanitized = params["name"]
if(isnotpretty(unsanitized))
if(usr.client.prefs.muted & MUTE_IC)
return
usr.client.handle_spam_prevention("PRETTY FILTER", MUTE_ALL) // Constant message mutes someone faster for not pretty messages
to_chat(usr, "<span class='notice'>Your fingers slip. <a href='https://forums.yogstation.net/help/rules/#rule-0_1'>See rule 0.1</a>.</span>")
var/log_message = "[key_name(usr)] just tripped a pretty filter: '[unsanitized]'."
message_admins(log_message)
log_say(log_message)
return
var/newname = reject_bad_text(unsanitized, max_length = 55)
if(!newname)
computer.visible_message(span_danger("Your username is too long/has bad text!"), null, null, 1)
return
for(var/datum/computer_file/program/pdamessager/P in GLOB.NTPDAs)
if(newname == P.username)
computer.visible_message(span_danger("Someone already has the username \"[newname]\"!"), null, null, 1)
@@ -361,10 +379,24 @@ GLOBAL_LIST_EMPTY(NTPDAMessages)
if(computer.uplink_check(usr, params["name"]))
return TRUE
else
var/newring = reject_bad_text(params["name"], max_length = 10)
var/unsanitized = params["name"]
if(isnotpretty(unsanitized))
if(usr.client.prefs.muted & MUTE_IC)
return
usr.client.handle_spam_prevention("PRETTY FILTER", MUTE_ALL) // Constant message mutes someone faster for not pretty messages
to_chat(usr, "<span class='notice'>Your fingers slip. <a href='https://forums.yogstation.net/help/rules/#rule-0_1'>See rule 0.1</a>.</span>")
var/log_message = "[key_name(usr)] just tripped a pretty filter: '[unsanitized]'."
message_admins(log_message)
log_say(log_message)
return
var/newring = reject_bad_text(unsanitized, max_length = 10)
if(!newring)
computer.visible_message(span_danger("Your ringtone is too long/has bad text!"), null, null, 1)
return
ringtone = newring
computer.visible_message(span_notice("Ringtone set to [newring]."), null, null, 1)
return TRUE