mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Dev team chat (#26669)
* dev team chat initial * oops * refactor who code * allow discord relay * yeet some un-needed stuff * tweak the role colour * Update code/__DEFINES/admin_defines.dm Co-authored-by: ROdenFL <ROdenFL@yandex.ru> Signed-off-by: Sean <12197162+S34NW@users.noreply.github.com> * .Add to += * Update config/example/config.toml Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Signed-off-by: Sean <12197162+S34NW@users.noreply.github.com> --------- Signed-off-by: Sean <12197162+S34NW@users.noreply.github.com> Co-authored-by: ROdenFL <ROdenFL@yandex.ru> Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
This commit is contained in:
@@ -33,6 +33,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons
|
||||
if("spawn","create") rights |= R_SPAWN
|
||||
if("mod") rights |= R_MOD
|
||||
if("mentor") rights |= R_MENTOR
|
||||
if("developer") rights |= R_DEV_TEAM
|
||||
if("proccall") rights |= R_PROCCALL
|
||||
if("viewruntimes") rights |= R_VIEWRUNTIMES
|
||||
if("maintainer") rights |= R_MAINTAINER
|
||||
|
||||
@@ -51,6 +51,7 @@ GLOBAL_LIST_INIT(admin_verbs_admin, list(
|
||||
/client/proc/library_manager,
|
||||
/client/proc/view_asays,
|
||||
/client/proc/view_msays,
|
||||
/client/proc/view_devsays,
|
||||
/client/proc/empty_ai_core_toggle_latejoin,
|
||||
/client/proc/aooc,
|
||||
/client/proc/freeze,
|
||||
@@ -1179,7 +1180,7 @@ GLOBAL_LIST_INIT(view_runtimes_verbs, list(
|
||||
message_admins("[key_name_admin(usr)] is visualising interesting atmos turfs. Server may lag.")
|
||||
|
||||
var/list/zlevel_turf_indexes = list()
|
||||
|
||||
|
||||
var/list/coords = get_interesting_atmos_tiles()
|
||||
if(!length(coords))
|
||||
to_chat(mob, "<span class='notice'>There are no interesting turfs. How interesting!</span>")
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
if(length(GLOB.admin_ranks))
|
||||
new_rank = input("Please select a rank", "New rank", null, null) as null|anything in (GLOB.admin_ranks|"*New Rank*")
|
||||
else
|
||||
new_rank = input("Please select a rank", "New rank", null, null) as null|anything in list("Mentor", "Trial Admin", "Game Admin", "*New Rank*")
|
||||
new_rank = input("Please select a rank", "New rank", null, null) as null|anything in list("Mentor", "Trial Admin", "Game Admin", "Developer", "*New Rank*")
|
||||
|
||||
var/rights = 0
|
||||
if(D)
|
||||
@@ -1275,6 +1275,12 @@
|
||||
|
||||
usr.client.view_msays()
|
||||
|
||||
else if(href_list["devsays"])
|
||||
if(!check_rights(R_ADMIN | R_DEV_TEAM))
|
||||
return
|
||||
|
||||
usr.client.view_devsays()
|
||||
|
||||
else if(href_list["tdome1"])
|
||||
if(!check_rights(R_SERVER|R_EVENT)) return
|
||||
|
||||
|
||||
@@ -45,6 +45,48 @@
|
||||
var/msg = input(src, null, "msay \"text\"") as text|null
|
||||
cmd_mentor_say(msg)
|
||||
|
||||
/client/proc/get_dev_team_say()
|
||||
if(check_rights(R_DEV_TEAM | R_ADMIN | R_MOD))
|
||||
var/msg = input(src, null, "devsay \"text\"") as text|null
|
||||
cmd_dev_say(msg)
|
||||
|
||||
/client/proc/cmd_dev_say(msg as text)
|
||||
set name = "Devsay"
|
||||
set hidden = TRUE
|
||||
|
||||
if(!check_rights(R_ADMIN|R_DEV_TEAM)) // Catch any non-admins trying to use this proc
|
||||
return
|
||||
|
||||
msg = emoji_parse(copytext_char(sanitize(msg), 1, MAX_MESSAGE_LEN))
|
||||
|
||||
if(!msg)
|
||||
return
|
||||
|
||||
log_devsay(msg, src)
|
||||
var/datum/say/devsay = new(usr.ckey, usr.client.holder.rank, msg, world.timeofday)
|
||||
GLOB.devsays += devsay
|
||||
mob.create_log(OOC_LOG, "DEVSAY: [msg]")
|
||||
|
||||
if(SSredis.connected)
|
||||
var/list/data = list()
|
||||
data["author"] = usr.ckey
|
||||
data["source"] = GLOB.configuration.system.instance_id
|
||||
data["message"] = html_decode(msg)
|
||||
SSredis.publish("byond.devsay", json_encode(data))
|
||||
|
||||
for(var/client/C in GLOB.admins)
|
||||
if(check_rights(R_ADMIN|R_MOD|R_DEV_TEAM, 0, C.mob))
|
||||
var/display_name = key
|
||||
if(holder.fakekey)
|
||||
if(C.holder && C.holder.rights & R_ADMIN)
|
||||
display_name = "[holder.fakekey]/([key])"
|
||||
else
|
||||
display_name = holder.fakekey
|
||||
msg = "<span class='emoji_enabled'>[msg]</span>"
|
||||
to_chat(C, "<span class='[check_rights(R_ADMIN, 0) ? "dev_channel_admin" : "dev_channel"]'>DEV: <span class='name'>[display_name]</span> ([admin_jump_link(mob)]): <span class='message'>[msg]</span></span>", MESSAGE_TYPE_DEVCHAT, confidential = TRUE)
|
||||
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Devsay") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_mentor_say(msg as text)
|
||||
set name = "Msay"
|
||||
set hidden = 1
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
GLOBAL_LIST_EMPTY(asays)
|
||||
GLOBAL_LIST_EMPTY(msays)
|
||||
GLOBAL_LIST_EMPTY(devsays)
|
||||
|
||||
/datum/say
|
||||
var/ckey
|
||||
@@ -23,6 +24,16 @@ GLOBAL_LIST_EMPTY(msays)
|
||||
|
||||
display_says(GLOB.msays, "msay")
|
||||
|
||||
/client/proc/view_devsays()
|
||||
set name = "Devsays"
|
||||
set desc = "View Devsays from the current round."
|
||||
set category = "Admin"
|
||||
|
||||
if(!check_rights(R_DEV_TEAM | R_ADMIN))
|
||||
return
|
||||
|
||||
display_says(GLOB.devsays, "devsay")
|
||||
|
||||
/client/proc/view_asays()
|
||||
set name = "Asays"
|
||||
set desc = "View Asays from the current round."
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
if(check_rights(R_MENTOR, 0))
|
||||
stafftype = "MENTOR"
|
||||
|
||||
if(check_rights(R_DEV_TEAM, 0))
|
||||
stafftype = "DEVELOPER"
|
||||
|
||||
if(check_rights(R_MOD, 0))
|
||||
stafftype = "MOD"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user