// $Id: CMsgOsRequestDelta.htm 119 2004-05-16 00:02:24Z ggs_mburo $ // This is a GGS file, licensed under the GPL
This is a match request, challenging someone to a game. This message is sent both when a new challenge is issued and when an old challenge is cancelled. Challenges are normally directed at a specific player but can also be generic.
Challenges are withdrawn if the are accepted, declined, or one of the players leaves GGS.
bool | fPlus | true if a new match request is being issued, false if an old match request is being withdrawn |
string | idr | /os id of the request |
COsRequest | request | The request data |
bool | IAmChallenged() | returns true if I am the specific target of the challenge |
bool | IAmChallenging() | returns true if I have issued the challenge |
bool | RequireAnti() | Require the game be anti, or not anti (see below) |
bool | RequireBoardSize() | Require a board size (see below) |
bool | RequireColor() | Require a 'color' (see below) |
bool | RequireEqualClocks() | Require both players have the same time control (see below) |
bool | RequireMaxOpponentClock() | Require a maximum for the challenger's time (see below) |
bool | RequireMinMyClock() | Require a minimum for the challenged player's time control (see below) |
bool | RequireRand() | Require the game be rand, or not rand (see below) |
bool | RequireRated() | Require the game be rated, or not rated (see below) |
The Require functions all return true if the request fits the requirements, or false otherwise. If false, they also send a descriptive message to the challenger telling him why the request was declined.
For example, an "anti" game is one in which the winner is the player with the fewest discs. RequireAnti(true) requires that the game be anti . RequireAnti(false) requires that the game not be anti.
RequireColor(const char* legal) is similar, if the match 'color' character is not in the string it is rejected. A 'color' is (b)lack, (w)hite, (s)ynch, (k)omi, or (?)random.