Votes
Surrender votes, and a vote on evening out a match.
Surrender
A server tells a side a surrender vote has been called with
SurrenderVoteCalled. A client answers with SurrenderVote, and a server tells
the side where the vote stands with SurrenderStatus. SurrenderAllowed says
whether a champion’s player can call a vote, turning the choice in the client’s
menu on or off.
In 0.8.13.26–0.9.22.15
There is no surrender vote: a client sends and takes no message about one.
In 0.9.22.16–0.9.25.20
A client has no panel for the vote.
SurrenderVoteCalledonly announces a vote, as just cast or as cast already, and a client’s player votes by typing. Where a vote fails,SurrenderFailedsays how long until another can be called.
In 0.9.25.21–1.0.0.24
SurrenderVoteCalledshows the caller’s vote to that side and, where it says the vote opens, opens the vote’s panel for that side.
In 0.9.25.24–0.9.25.35
A client takes
SurrenderVoteCalledwhenever it arrives, its own champion on the field or not.
Evening out a match
A server can hold a vote on giving the side behind gold, experience and
turrets. BalanceVote opens the vote’s panel for the voting side and adds one
voter with each message; a client answers with
BalanceVoteAnswer from the panel or as its player types /equalize, once per
vote. BalanceResult says how the vote ended, or why it could not be held.
Messages
Each message of this system in this book, with each layout it has across the book’s patches and every note its definition carries. A layout is the message’s body, after the header its channel’s family puts in front (see Messages).
SurrenderVoteCalled
What a server sends to open a surrender vote, or to report one already open. The header names no object: it carries zero.
In 0.9.22.16–0.9.25.20
Command 160 on events, sent by the server, reliable.
A client has no panel for the vote: it only announces it.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.unused | bit 0 | Unused; a client reads nothing here. |
| how.cast | bit 1 | Set where caller has just voted, clear where caller had voted already. A client announces either with caller, inFavour, against and side. |
| how.unusedHigh | bit 2 to 7 | Unused; a server writes zero. |
| caller | u32 | The unit that called the vote. |
| inFavour | u8 | How many have voted for. |
| against | u8 | How many have voted against. |
| side | u32 | Which side is voting. |
Vectors (1)
In 0.9.25.21–0.9.25.35
Command 160 on events, sent by the server, reliable.
A client fails where it has no player of its own, or, for its own side, no game screen. Without its vote panel it opens no panel and records no vote, but still announces that a vote began where openTheMenu is set.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.countAsYes | bit 0 | Applies only where side is the client’s own: set shows caller voting yes, clear voting no, opening the menu or not. |
| how.openTheMenu | bit 1 | Set where the vote opens: a client of side opens the vote’s panel from seats and closesIn, which have no other effect; every client with a player of its own announces that a vote began, with caller, inFavour, against and side. |
| how.unused | bit 2 to 7 | Unused; a server writes zero. |
| caller | u32 | The unit that called the vote. |
| inFavour | u8 | How many have voted for. |
| against | u8 | How many have voted against. |
| seats | u8 | How many seats can vote. |
| side | u32 | Which side is voting. |
| closesIn | f32 | How long the vote stays open, in seconds. |
Vectors (1)
In 0.9.25.36–1.0.0.24
Command 158 on events, sent by the server, reliable.
A client ignores it unless its menu and its own champion both exist.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.countAsYes | bit 0 | Applies only where side is the client’s own: set shows caller voting yes, clear voting no, opening the menu or not. |
| how.openTheMenu | bit 1 | Set where the vote opens: a client of side opens the vote’s panel from seats and closesIn, which have no other effect; every client with a player of its own announces that a vote began, with caller, inFavour, against and side. |
| how.unused | bit 2 to 7 | Unused; a server writes zero. |
| caller | u32 | The unit that called the vote. |
| inFavour | u8 | How many have voted for. |
| against | u8 | How many have voted against. |
| seats | u8 | How many seats can vote. |
| side | u32 | Which side is voting. |
| closesIn | f32 | How long the vote stays open, in seconds. |
SurrenderVote
What a client sends to vote on surrendering. The header names no object: it carries zero.
In 0.9.22.16–0.9.25.35
Command 159 on requests, sent by the client, reliable.
A client sends it as its player votes, by button or chat command, whether or not a vote is open.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.inFavour | bit 0 | Set where the answer is yes. |
| how.unused | bit 1 to 7 | A client writes no value of its own here; a server ignores them. |
Vectors (1)
In 0.9.25.36–1.0.0.24
Command 157 on requests, sent by the client, reliable.
It answers a call to surrender.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.inFavour | bit 0 | Set where the answer is yes, clear where it is no. |
| how.unused | bit 1 to 7 | A client leaves these bits as they happen to be; a server ignores them. |
SurrenderStatus
What a server sends to tell a side where its surrender vote stands. The header names no object: it carries zero.
In 0.9.22.16–0.9.25.35
Command 162 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| reason | u32 | Why the vote stands where it does. A client acts on 0 to 4 and ignores the message for any other value; 0 resets the vote whatever side is, and 1 resets it only where side is the client’s own. A client announces 0, 2, 3 and 4 whether or not it has a player of its own, and fails on 1 without one. |
| inFavour | u8 | How many voted for. |
| against | u8 | How many voted against. |
| side | u32 | Which side. |
Vectors (1)
In 0.9.25.36–1.0.0.24
Command 160 on events, sent by the server, reliable.
A client ignores the message unless its interface and its own champion both exist.
| Field | Type | What it is |
|---|---|---|
| reason | u32 | Why the vote stands where it does. A client acts on 0 to 4 and ignores the message for any other value; 0 resets the vote whatever side holds, and 1 resets it only where side is the client’s own. |
| inFavour | u8 | How many voted for. |
| against | u8 | How many voted against. |
| side | u32 | Which side. |
SurrenderFailed
What a server sends when a surrender vote fails, to say how long until another can be called. The header carries zero.
In 0.9.22.16–0.9.25.20
Command 161 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| secondsLeft | f32 | How long until a vote can be called again, in seconds. A client announces it. |