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.
SurrenderVoteCalled shows the caller’s vote to that side and, where it says
the vote opens, opens the vote’s panel for that side.
In 4.1–4.19
A client ignores
SurrenderVoteCalledthat arrives before its own champion is on the field.
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.
In 4.1–4.19
Where the version answer’s features turn the commands on, a client also sends
BalanceVoteRefused, a vote against, as its player types/noequalize.
BalanceVote opens the panel on the first vote.
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 4.1–4.17
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 4.1–4.10 | 200 |
| 4.11–4.17 | 201 |
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 is told 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 (2)
In 4.18–4.20
Command 201 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.countAsYes | bit 0 | Set where the receiving seat is taken to have voted for. |
| how.openTheMenu | bit 1 | Set where the client shows the vote to the seat. |
| 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)
SurrenderVote
What a client sends to vote on surrendering. The header names no object: it carries zero.
In 4.1–4.17
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 4.1–4.10 | 163 |
| 4.11–4.17 | 164 |
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. A client sends it clear. |
| how.unused | bit 1 to 7 | Always clear. |
Vectors (2)
In 4.18–4.20
Command 164 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. |
| how.unused | bit 1 to 7 | Unused; a client may leave any value here, and a server ignores it. |
Vectors (1)
SurrenderStatus
What a server sends to tell a side where its surrender vote stands. The header names no object: it carries zero.
In 4.1–4.17
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 4.1–4.10 | 164 |
| 4.11–4.17 | 165 |
| Field | Type | What it is |
|---|---|---|
| reason | u8 | Why the vote stands where it does. |
| inFavour | u8 | How many voted for. |
| against | u8 | How many voted against. |
| side | u32 | Which side. |
Vectors (2)
In 4.18–4.20
Command 165 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| reason | u32 | Why the vote is where it is. |
| inFavour | u8 | How many voted for. |
| against | u8 | How many voted against. |
| side | u16 | Which side. |
Vectors (1)
SurrenderAllowed
What a server sends to say whether a champion’s player can call a surrender vote. The header names the champion.
In every range of this book
Command 270 on events, sent by the server, reliable.
A client turns the surrender choice in its menu on or off, and does nothing before the menu exists.
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | Whether it is allowed. |
| flags.allowed | bit 0 | Set where a vote can be called. |
| flags.unused | bit 1 to 7 | Unused; a server writes zero. |
Vectors (2)
BalanceVote
What a server sends as a side votes on evening out a match: on the first vote it opens the vote’s panel for that side, and each message adds one voter. A client sends BalanceVoteAnswer as its player votes. A client with no champion of its own ignores it. The header carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 4.1–4.10 | 249 |
| 4.11–4.20 | 250 |
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | This vote. |
| flags.inFavour | bit 0 | Set where this voter voted for. |
| flags.first | bit 1 | Set where this vote opens a new vote. |
| flags.unused | bit 2 to 7 | Unused; a server writes zero. |
| voter | u32 | The voter’s champion. |
| inFavour | u8 | How many voted for. |
| against | u8 | How many voted against. |
| voters | u8 | How many can vote. It applies only on the first vote. |
| side | i32 | The voting side. |
| closesIn | f32 | Seconds until the vote closes. It applies only on the first vote. |
| gold | f32 | Gold the losing side would be given. |
| experience | i32 | Experience it would be given. |
| turrets | i32 | Turrets it would be given. |
Vectors (3)
BalanceVoteAnswer
What a client sends as its player answers a vote on evening out a match (BalanceVote), once per vote, from the vote’s panel or by typing /equalize. The header carries zero.
In 4.1–4.17
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 4.1–4.10 | 250 |
| 4.11–4.17 | 251 |
| Field | Type | What it is |
|---|---|---|
| vote | 1-byte bits | The answer. |
| vote.inFavour | bit 0 | Set for yes, clear for no. |
| vote.unused | bit 1 to 7 | Unused; a client writes zero. |
Vectors (2)
In 4.18–4.20
Command 251 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| vote | 1-byte bits | The answer. |
| vote.inFavour | bit 0 | Set for yes, clear for no. |
| vote.unused | bit 1 to 7 | Unused; a client may leave any value here, and a server ignores it. |
Vectors (1)
BalanceResult
What a server sends when a vote on evening out a match ends, or cannot be held. The header carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 4.1–4.10 | 251 |
| 4.11–4.20 | 252 |
| Field | Type | What it is |
|---|---|---|
| result | u8 | What came of it. Values: 0 failed, 1 notYet, 2 notAheadInGold, 3 notAheadInLevels, 4 tooSoon, 5 alreadyVoted, 6 agreed. |
| inFavour | u8 | How many voted for. |
| against | u8 | How many voted against. |
| side | i32 | The side that voted. |
| gold | f32 | Gold given. |
| experience | i32 | Experience given. |
| turrets | i32 | Turrets given. |
Vectors (3)
BalanceVoteRefused
What a client sends as its player types /noequalize, where the version answer’s features have bit 0 set, outside the tutorial: a vote against, laid out as BalanceVote with only its first fields filled. The header carries zero.
In 4.1–4.17
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 4.1–4.10 | 249 |
| 4.11–4.17 | 250 |
| Field | Type | What it is |
|---|---|---|
| flags | u8 | Zero: a vote against. |
| voter | u32 | Zero. |
| unset | 23 × u8 | The rest of BalanceVote’s layout. Unused; its bytes carry no meaning. |
Vectors (2)
In 4.18–4.20
Command 250 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| flags | u8 | A vote against: the lowest bit is clear. The other bits carry no meaning, and a server ignores them. |
| voter | u32 | Zero. |
| unset | 23 × u8 | The rest of BalanceVote’s layout. Unused; its bytes carry no meaning. |