While waiting for the game to start, every
user seated at a
table possesses an attribute called
readiness, reflecting whether or not that user has accepted the current
table configuration and is ready to begin playing the game
exactly as it stands now.
If every user seated at the table signals readiness, and the referee is satisfied that all starting conditions for the table's ruleset have been met, then it begins the game.
The attribute's value is a simple boolean; if set to truth, we say that the user is ready; otherwise, the user is unready.
The following events cause a given player to become unready:
- The player sits.
- The player sends a
volity.unready
RPC request to the referee (assuming no game is in progress).
- Any player causes the table configuration to change.
- Any standing player sits, or a seated player changes seats. (Both types of events are signaled by a
player_sat
RPC call.)
- Any seated player stands.
- The game starts. (Technically, readiness doesn't matter while a game is in play. However, setting all users unready at a game's launch assures that they shall remain unready when the game ends, allowing the next game at this table to have its own setup phase.)
The following events cause a user to become ready:
- The user sends a
volity.ready
RPC request to the referee (assuming no game is in progress).
- That's it, really. Readiness has to be rather deliberate.
Notes
Bots are usually programmed to declare their readiness to play as soon as they join a table, and automatically re-ready themselves should any event unready them.