Verb manager & Speech controller Subsystem (#7901)

This commit is contained in:
Selis
2024-03-29 13:34:42 +01:00
committed by GitHub
parent 62760d725d
commit 978b0c3d47
11 changed files with 297 additions and 3 deletions

View File

@@ -143,8 +143,24 @@
if("openLink")
src << link(href_list["link"])
// CHOMPEdit Start
if (hsrc)
var/datum/real_src = hsrc
if(QDELETED(real_src))
return
//fun fact: Topic() acts like a verb and is executed at the end of the tick like other verbs. So we have to queue it if the server is
//overloaded
if(hsrc && hsrc != holder && DEFAULT_TRY_QUEUE_VERB(VERB_CALLBACK(src, PROC_REF(_Topic), hsrc, href, href_list)))
return
..() //redirect to hsrc.Topic()
///dumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic,
///so we cant queue it without this
/client/proc/_Topic(datum/hsrc, href, list/href_list)
return hsrc.Topic(href, href_list)
// CHOMPEdit End
//This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc.
/client/AllowUpload(filename, filelength)
if(filelength > UPLOAD_LIMIT)