FOH No Serving for Event Groups

From the Specification:
In case there are meals the waitstaff could have served but did not due to waiting for other meals of the table or reaching the action limit, the simulation logs these. For tables that serve event customer groups, they log the last waiter that did serve or the first that would have served.The log includes the id of the waiter and the table and the number of meals left unserved.

When it comes to Event groups, its possible that there is no waiter available that would serve the event group (in case the event group is not yet being served, because only part of the meals are finished cooking, for example).
What waiter ID needs to be logged then?
If it is possible that no waiter has any capacity left for serving, how do we select which waiter would have served the event group?

Hi,

“The first that would have served” means the first waiter the staff manager would pick for that event table. How much capacity waiters have left doesn’t change that.

In general, the manager prioritizes the waiters in descending number of cooked meals in the kitchen that belong to their assigned tables.

A tie goes to the lowest id, following the general hint

If not otherwise specified, prefer the lowest id as final tie-break.

case 1: Some meals of the event were served this tick: log the last waiter who served that table.
case 2: Nothing was served (the manager waits for the other meals, or everyone is at the action limit): log the first waiter in that priority order.

So if no waiter has any SERVING capacity left, you still log the waiter at the top of that order.

Example: There are 3 waiters and an event of 30, and all 30 meals are cooked. In each tick, waiter 1 first uses 5 SERVING actions on their own table, so the staff has 5 + 10 + 10 = 25 actions left. No waiter has cooked meals waiting for their own tables, so the order is 1, 2, 3.

  • First tick (case 2): 25 actions aren’t enough for 30 meals, so the manager waits and nobody serves the event. The No Serving log names waiter 1 with 30 meals unserved, even though waiter 1 has the least capacity left.
  • Next tick (case 1): The meals are now served one by one: waiter 1 serves 5, waiter 2 serves 10 and waiter 3 serves 10. The No Serving log names waiter 3, the last who served, with 5 meals unserved.