[MIRROR] Request Internet Sound Optional Credit User [MDB IGNORE] (#22244)

* Request Internet Sound Optional Credit User  (#76453)

## About The Pull Request

What this PR does is it adds a small additional feature to the Request
Internet Sound verb to give users who request music an option to credit
themselves for the song request. It will use character name of the
person who submits the request, with the option to be anonymous. The
default will make users anonymous.

## Why It's Good For The Game

This differentiates songs that where requested by users and songs that
admins themselves played. And allows users to give themselves credit for
their 'Good' (or bad) music preferences.

<details>
<summary>Screenshot</summary>

![dreamseeker_OQyx1sZ689](https://github.com/tgstation/tgstation/assets/2568378/806347a7-a930-4993-b2d0-b1890021c662)

</details>

## Changelog

🆑
qol: Request Internet Sound now has the option to credit the person who
requested the Sound. Defaults to anonymous.
/🆑

* Request Internet Sound Optional Credit User

---------

Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-07-05 23:19:47 -07:00
committed by GitHub
co-authored by SomeRandomOwl lessthanthree
parent 4ffe1aff35
commit 217f0c81e2
4 changed files with 17 additions and 5 deletions
+2 -1
View File
@@ -1804,9 +1804,10 @@
if(!check_rights(R_SOUND))
return
var/credit = href_list["credit"]
var/link_url = href_list["play_internet"]
if(!link_url)
return
web_sound(usr, link_url)
web_sound(usr, link_url, credit)
+3 -1
View File
@@ -71,7 +71,7 @@
SSblackbox.record_feedback("tally", "admin_verb", 1, "Play Direct Mob Sound") // If you are copy-pasting this, ensure the 4th parameter is unique to the new proc!
///Takes an input from either proc/play_web_sound or the request manager and runs it through youtube-dl and prompts the user before playing it to the server.
/proc/web_sound(mob/user, input)
/proc/web_sound(mob/user, input, credit)
if(!check_rights(R_SOUND))
return
var/ytdl = CONFIG_GET(string/invoke_youtubedl)
@@ -138,6 +138,8 @@
to_chat(world, span_boldannounce("An admin played: [webpage_url]"), confidential = TRUE)
if("Cancel", null)
return
if(credit)
to_chat(world, span_boldannounce(credit), confidential = TRUE)
SSblackbox.record_feedback("nested tally", "played_url", 1, list("[user.ckey]", "[input]"))
log_admin("[key_name(user)] played web sound: [input]")
message_admins("[key_name(user)] played web sound: [input]")
@@ -20,6 +20,15 @@
to_chat(usr, span_danger("Invalid URL. Please use a URL from one of the following sites: [replacetext(CONFIG_GET(string/request_internet_allowed), "\\", "")]"), confidential = TRUE)
return
var/credit = tgui_alert(usr, "Credit yourself for requesting this song? (will show up as [usr.name])", "Credit Yourself?", list("No", "Yes", "Cancel"))
if(credit == "Cancel" || isnull(credit))
return
else if (credit == "Yes")
credit = "[usr.name] requested this track."
else
credit = "Someone requested this track."
log_internet_request("[src.key]/([src.name]): [request_url]")
if(usr.client)
if(usr.client.prefs.muted & MUTE_INTERNET_REQUEST)
@@ -28,9 +37,9 @@
if(src.client.handle_spam_prevention(request_url,MUTE_INTERNET_REQUEST))
return
GLOB.requests.music_request(usr.client, request_url)
GLOB.requests.music_request(usr.client, request_url, credit)
to_chat(usr, span_info("You requested: \"[request_url]\" to be played."), confidential = TRUE)
request_url = span_adminnotice("<b><font color='cyan'>MUSIC REQUEST: </font>[ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]:</b> [span_linkify(request_url)] [ADMIN_PLAY_INTERNET(request_url)]")
request_url = span_adminnotice("<b><font color='cyan'>MUSIC REQUEST: </font>[ADMIN_FULLMONTY(src)] [ADMIN_SC(src)]:</b> [span_linkify(request_url)] [ADMIN_PLAY_INTERNET(request_url, credit)]")
for(var/client/admin_client in GLOB.admins)
if(admin_client.prefs.chat_toggles & CHAT_PRAYER)
to_chat(admin_client, request_url, type = MESSAGE_TYPE_PRAYER, confidential = TRUE)