Should critical adviser messages drop the whole queue? #2425
Replies: 1 comment 5 replies
-
I would say dropping the entire queue is way too much power at the calling side. Code doesn't track what messages are currently queued, so the "override" is just blindly discarding messages without even knowing if that is a good idea. As far as I can see, at the advisor is the only spot where you can sanely decide about order and/or discarding of messages. The caller can set the priority of the message and that should be sufficient imho. |
Beta Was this translation helpful? Give feedback.
-
Currently when we give the advisor a critical message using the
override_current
flag we drop the entire adviser queue as part of the process:CorsixTH/CorsixTH/Lua/dialogs/adviser.lua
Lines 156 to 174 in 87858c2
It may be that this behaviour is a bit overkill for what is actually useful to the player. Sure, we want that message played now, but it may also be that the other adviser messages are still useful that were in the queue.
Discussion here is if the adviser should instead play the critical message immediately but retain the existing queue.
Another hole I just discussed in that multi-if statement is that the
override_current
flag can be thrown away if the adviser is up and not talking -- the message with the flag will be queued normally at the end of the message queue?Beta Was this translation helpful? Give feedback.
All reactions