[TM] Verb Queue - Port of TG SSverb subsystem (#19863)

* Some verbs queue up now

* Damn you 515

* Screw you Topic

* Update client_procs.dm

* Fixes for unit testing

* Update MC.dm

* verb

* Update callback.dm

* Tweaks

* Linters might not have liked that,

* More tweaks, and fix

* Update verb_manager.dm
This commit is contained in:
Vi3trice
2023-01-29 09:05:38 -05:00
committed by GitHub
parent 47f71ccde1
commit caee0ec975
19 changed files with 328 additions and 5 deletions
+10
View File
@@ -173,8 +173,18 @@
if("openLink")
src << link(href_list["link"])
//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)
/client/proc/get_display_key()
var/fakekey = holder?.fakekey