There's an ancient bug that is closed-later for this: https://sourceforge.net/p/exult/bugs/183/
The way the Waiter schedule has been reimplemented in Exult is pretty far from the original game. Exult misses:
Using the correct plates for the tables the Eat-at-Inn NPCs are sitting at, so everyone gets plate frame 0, rather than say plate frame 4 in Moonshade, or the small white plate in Fawn. I'm guessing that the table is what gets the appropriate plate, so Ophidian tables would logically get matching plates, etc.
Cups seem to be left out completely, so they are not picked up, filled, or used. Nor are bottles of any sort placed on the table. The original also has the cuspidor in use in SI.
This also causes Stefano to not get food quicky when he's out of the Mountains of Freedom because he sits at the same table as Hawk, so if Hawk gets food, he won't get any until Hawk eats his.
Last edit: Knight Captain 2016-12-16
Yes, lots of deficiencies in Exult. I was browsing around the original in Dosbox to get some ideas:
1. You're correct, the plate shape is wrong. In the original, I only saw small plates (frames 4, 5) being used. It seemed to be random. I've checked in this change.
2. I also saw how Stefano wasn't getting served. Maybe two problems here: First, the plate for an East-facing NPC is placed one tile too far North. And second, I think Exult is finding the wrong plate for the South-facing NPC, so we think he's been served when it's really his neighbor. Fixing the first problem might fix the second.
3. In the original, the waiter first puts down a plate, then puts food on it. I'm not sure if he ever puts a plate down without food, but have to check.
4. When a customer has left, the waiter should pick up any unused food, then pick up the plate as well.
5. Customers also get served beverages. I didn't notice if this only happens when they call for Ale.
6. Waiters in the original are often placing bottles at random locations, then picking them up again. Not necessarily something to duplicate.