mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-11 09:22:41 +00:00
makes say_verb() not execute immediately and instead put itself in the queue of the subsystem meant to process it: SSspeech_controller so that it executes at the start of the next tick during the MC's run instead of outside of it.
i considered making this part of #61422 (d005d76f0b) but this is good regardless of how that one pans out and i already overstuffed that one.
tldr the REAL cause of get_hearers_in_view() overtime is an effect of how byond schedules verbs within the tick.
when the server is overloaded there isnt much time between when SendMaps finishes and when the next tick was supposed to start, but verbs still need to be executed. So verbs will eat into the time the next tick should have started and the MC cant compensate for it at all since it uses byonds internal tick scheduler instead of our external tick scheduler.
13 lines
243 B
Plaintext
13 lines
243 B
Plaintext
|
|
#define SPEECH_CONTROLLER_QUEUE_SAY_VERB "say_verb"
|
|
|
|
#define SPEECH_CONTROLLER_QUEUE_WHISPER_VERB "whisper_verb"
|
|
|
|
#define SPEECH_CONTROLLER_QUEUE_EMOTE_VERB "emote_verb"
|
|
|
|
#define MOB_INDEX 1
|
|
|
|
#define MESSAGE_INDEX 2
|
|
|
|
#define CATEGORY_INDEX 3
|