Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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. SurrenderVoteCalled only announces a vote, as just cast or as cast already, and a client’s player votes by typing. Where a vote fails, SurrenderFailed says how long until another can be called.

In 0.9.25.21–1.0.0.24

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 0.9.25.24–0.9.25.35

A client takes SurrenderVoteCalled whenever 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.

Definition.

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.

FieldTypeWhat it is
how1-byte bits
how.unusedbit 0Unused; a client reads nothing here.
how.castbit 1Set where caller has just voted, clear where caller had voted already. A client announces either with caller, inFavour, against and side.
how.unusedHighbit 2 to 7Unused; a server writes zero.
calleru32The unit that called the vote.
inFavouru8How many have voted for.
againstu8How many have voted against.
sideu32Which side is voting.
Vectors (1)

one-on-0-9-22-16

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.

FieldTypeWhat it is
how1-byte bits
how.countAsYesbit 0Applies only where side is the client’s own: set shows caller voting yes, clear voting no, opening the menu or not.
how.openTheMenubit 1Set 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.unusedbit 2 to 7Unused; a server writes zero.
calleru32The unit that called the vote.
inFavouru8How many have voted for.
againstu8How many have voted against.
seatsu8How many seats can vote.
sideu32Which side is voting.
closesInf32How long the vote stays open, in seconds.
Vectors (1)

one-on-0-9-25-24

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.

FieldTypeWhat it is
how1-byte bits
how.countAsYesbit 0Applies only where side is the client’s own: set shows caller voting yes, clear voting no, opening the menu or not.
how.openTheMenubit 1Set 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.unusedbit 2 to 7Unused; a server writes zero.
calleru32The unit that called the vote.
inFavouru8How many have voted for.
againstu8How many have voted against.
seatsu8How many seats can vote.
sideu32Which side is voting.
closesInf32How long the vote stays open, in seconds.

SurrenderVote

What a client sends to vote on surrendering. The header names no object: it carries zero.

Definition.

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.

FieldTypeWhat it is
how1-byte bits
how.inFavourbit 0Set where the answer is yes.
how.unusedbit 1 to 7A client writes no value of its own here; a server ignores them.
Vectors (1)

one-on-0-9-25-24

In 0.9.25.36–1.0.0.24

Command 157 on requests, sent by the client, reliable.

It answers a call to surrender.

FieldTypeWhat it is
how1-byte bits
how.inFavourbit 0Set where the answer is yes, clear where it is no.
how.unusedbit 1 to 7A 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.

Definition.

In 0.9.22.16–0.9.25.35

Command 162 on events, sent by the server, reliable.

FieldTypeWhat it is
reasonu32Why 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.
inFavouru8How many voted for.
againstu8How many voted against.
sideu32Which side.
Vectors (1)

one-on-0-9-25-24

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.

FieldTypeWhat it is
reasonu32Why 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.
inFavouru8How many voted for.
againstu8How many voted against.
sideu32Which side.

SurrenderFailed

What a server sends when a surrender vote fails, to say how long until another can be called. The header carries zero.

Definition.

In 0.9.22.16–0.9.25.20

Command 161 on events, sent by the server, reliable.

FieldTypeWhat it is
secondsLeftf32How long until a vote can be called again, in seconds. A client announces it.
Vectors (1)

one-on-0-9-22-16