Replication
With Replication a server states what has changed about the units a client
can see: for each unit, the groups of values it carries and which values of
each follow. What the values are follows from the unit.
The groups follow in the order 0 to 4, and nothing gives a group’s length: each value is four bytes, so a group takes four bytes for its set of values and four for each bit that set has set.
Each value is a 32-bit float or a 32-bit unsigned integer, as its row in the tables below says, and travels as it stands.
A client passes over a set bit its table has no row for, and a group its table has none of, by their four bytes each, without taking anything from them. It passes over the values of a unit whose kind has no table the same way, and still answers the batch.
In 1.0.0.25–1.0.0.126
A value that says yes or no is an integer, 1 for yes and 0 for no. A client takes a batch on channels 2, 3 and 4 alike.
What settles a reading
A run is a sequence of values with nothing between them, in the order the set bits name them, lowest first.
The bit that names a value means different things for different units. Champions, turrets, minions and units belonging to no side, and buildings each answer to a table of their own, so the same bit in the same group is one value on one unit and another on the next. A sending end MUST write the table the unit it names answers to.
In 1.0.0.25–1.0.0.96
A prop answers to no table, and a client takes nothing a batch carries for one.
In 1.0.0.126–1.0.0.129
Props answer to a table of their own as well.
Which table a unit answers to follows from the message that put it on the field (see Units). A building, which no message creates, answers to the building table.
The building table is the same on every map.
Which batches a client takes
A client answers a batch with TransientAck where it holds every unit the
batch names, whether or not it took the values. Ordering says
which batches a client takes, and what that requires of a server.
Reading the tables
Each row gives the group and bits that name a value and what the value is.
Each row also gives the type a value is written in.
In 1.0.0.58–1.0.0.60
A champion
Group Bits Value Type 0 0 Experience float 0 1 Gold in hand float 0 2 Which slots can be cast from u32 0 3 to 6 What the spell in slots 0 to 3 costs float 0 7 to 14 What the spell in slots 41 to 48 costs float 0 15 to 16 What the spell in slots 0 and 1 of the second set costs float 1 0 What the champion is doing, as a set of bits u32 1 1 to 3 Whether it is proof against spells, proof against all harm, and targetable u32 1 4 Whether it is proof against strikes u32 1 5 Damage it deals by striking float 1 6 Damage its spells deal before modifiers float 1 7 How often it turns a blow aside float 1 8 How often it strikes critically float 1 9 Armour float 1 10 Spell resistance float 1 11 to 12 How fast health and resource return float 1 13 How far it strikes from float 1 14 to 16 Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage float 1 17 to 18 Flat and percent reduction of the spell damage it takes float 1 19 A multiplier on how fast it strikes float 1 20 A flat addition to how far it casts float 1 21 A modifier on its cooldowns float 2 0 to 1 Whether it is proof against strikes, then against spells, as group 1 bits 4 and 1 u32 3 0 to 1 Health and resource as they stand float 3 2 to 3 Health and resource at their greatest float 3 4 to 5 A flat and a percent addition to how far it sees float 3 6 How fast it moves float 3 7 A value whose meaning is not recorded float 3 8 Level u32 A turret
Group Bits Value Type 1 0 Damage it deals by striking float 1 1 to 2 Armour and spell resistance float 1 3 A multiplier on how fast it strikes float 1 4 to 6 Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage float 1 7 How fast health returns float 1 8 to 9 Health as it stands, then at its greatest float 1 10 What the turret is doing, as a set of bits u32 1 11 to 13 Whether it is proof against spells, proof against all harm, and targetable u32 1 14 Whether it is proof against strikes u32 3 0 to 1 A flat and a percent addition to how far it sees float 3 2 How fast it moves float 3 3 A value whose meaning is not recorded float A minion, and a unit belonging to no side
Group Bits Value Type 1 0 to 1 Health and resource as they stand float 1 2 to 3 Health and resource at their greatest float 1 4 What the unit is doing, as a set of bits u32 1 5 to 7 Whether it is proof against spells, proof against all harm, and targetable u32 1 8 Whether it is proof against strikes u32 1 9 Damage it deals by striking float 1 10 to 11 Armour and spell resistance float 1 12 A multiplier on how fast it strikes float 1 13 to 15 Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage float 1 16 to 17 How fast health and resource return float 3 0 to 1 A flat and a percent addition to how far it sees float 3 2 How fast it moves float 3 3 A value whose meaning is not recorded float A building
Inhibitors, nexuses and the buildings minions come from share one table. It has no value for health at its greatest.
Group Bits Value Type 1 0 Health as it stands float 1 1 to 2 Whether it is proof against all harm, and targetable u32
In 1.0.0.96–1.0.0.126
A champion
Group Bits Value Type 0 0 Experience float 0 1 Gold in hand float 0 2 to 3 Which slots can be cast from: the champion’s own, then the second set u32 0 4 to 7 What the spell in slots 0 to 3 costs float 0 8 to 15 What the spell in each of eight further slots costs float 0 16 to 17 What the spell in slots 0 and 1 of the second set costs float 1 0 What the champion is doing, as a set of bits u32 1 1 to 3 Whether it is proof against spells, proof against all harm, and targetable u32 1 4 Which sides can aim at it, as a set of bits u32 1 5 Whether it is proof against strikes u32 1 6 Damage it deals by striking float 1 7 Damage its spells deal before modifiers float 1 8 How often it turns a blow aside float 1 9 How often it strikes critically float 1 10 Armour float 1 11 Spell resistance float 1 12 to 13 How fast health and resource return float 1 14 How far it strikes from float 1 15 to 17 Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage float 1 18 to 19 Flat and percent reduction of the spell damage it takes float 1 20 A multiplier on how fast it strikes float 1 21 A flat addition to how far it casts float 1 22 A modifier on its cooldowns float 1 23 to 24 How much armour it cuts through, flat then as a percent float 1 25 to 26 How much spell resistance it cuts through, flat then as a percent float 1 27 Life steal float 1 28 Spell vamp float 2 0 to 1 Whether it is proof against strikes, then against spells, as group 1 bits 5 and 1 u32 3 0 to 1 Health and resource as they stand float 3 2 to 3 Health and resource at their greatest float 3 4 to 5 A flat and a percent addition to how far it sees float 3 6 How fast it moves float 3 7 A value whose meaning is not recorded float 3 8 Level u32 What the second set and the eight further slots hold is not recorded, and a server writes zero in their costs. Which bit of what a champion is doing means what is not recorded either. A client sets the sides that can aim at a unit to 33554432 where any can and 25165824 where none can.
A turret
Group Bits Value Type 1 0 Damage it deals by striking float 1 1 to 2 Armour and spell resistance float 1 3 A multiplier on how fast it strikes float 1 4 to 6 Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage float 1 7 How fast health returns float 1 8 to 9 Health as it stands, then at its greatest float 1 10 What the turret is doing, as a set of bits u32 1 11 to 13 Whether it is proof against spells, proof against all harm, and targetable u32 1 14 Which sides can aim at it, as a set of bits u32 1 15 Whether it is proof against strikes u32 3 0 to 1 A flat and a percent addition to how far it sees float 3 2 How fast it moves float 3 3 A value whose meaning is not recorded float A minion, and a unit belonging to no side
Group Bits Value Type 1 0 to 1 Health and resource as they stand float 1 2 to 3 Health and resource at their greatest float 1 4 What the unit is doing, as a set of bits u32 1 5 to 7 Whether it is proof against spells, proof against all harm, and targetable u32 1 8 Which sides can aim at it, as a set of bits u32 1 9 Whether it is proof against strikes u32 1 10 Damage it deals by striking float 1 11 to 12 Armour and spell resistance float 1 13 A multiplier on how fast it strikes float 1 14 to 16 Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage float 1 17 to 18 How fast health and resource return float 1 19 to 20 Flat and percent reduction of the spell damage it takes float 3 0 to 1 A flat and a percent addition to how far it sees float 3 2 How fast it moves float 3 3 A value whose meaning is not recorded float A building
Inhibitors, nexuses and the buildings minions come from share one table. It has no value for health at its greatest.
Group Bits Value Type 1 0 Health as it stands float 1 1 to 2 Whether it is proof against all harm, and targetable u32 1 3 Which sides can aim at it, as a set of bits u32
In 1.0.0.96
A champion’s eight further slots are slots 41 to 48.
In 1.0.0.126
A champion’s eight further slots are slots 42 to 49, and bit n of either set of slots that can be cast from stands for slot n. Its group 3 bit 9 holds the kills it has taken from no side, as a u32.
A prop
Group Bits Value Type 1 0 Health as it stands float 1 1 Health as it stands, again float 1 2 to 3 Whether it is proof against all harm, and targetable u32 1 4 Which sides can aim at it, as a set of bits u32 3 0 to 1 A flat and a percent addition to how far it sees float 3 2 How fast it moves float 3 3 A value whose meaning is not recorded float
Values stated outside a batch
Besides its batches, a server states some values with messages of their own.
In 1.0.0.25–1.0.0.126
A server grants experience with
ExperienceGainedand gold withGoldGained.
A server can send the gold a unit earns to another with GoldRedirect. A level
gained is LevelUp, which on its own is enough for a client to show the new
level on its champion’s portrait. A server sets a champion’s tallies for the
scoreboard with ChampionStats. A server can also add to a unit’s shield
(ShieldAdded), change how its health bar or resource bar is shown
(HealthBar, ResourceDisplay), change the sort of resource it has
(ResourceKindChanged), set the highest level a champion reaches
(LevelCap), and count minions killed, scores and deeds (MinionKillCount,
ScoreAdded, StatisticIncremented).
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).
Replication
What a server sends to say what has changed about units a client can see. It is the most frequent thing a server sends. The header names no object: a server writes zero.
In every range of this book
Carried on transient, sent by the server, unreliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.25–1.0.0.62 | 128 |
| 1.0.0.63–1.0.0.73 | 131 |
| 1.0.0.74–1.0.0.81 | 132 |
| 1.0.0.82–1.0.0.96 | 136 |
| 1.0.0.97 | 137 |
| 1.0.0.98–1.0.0.102 | 138 |
| 1.0.0.103–1.0.0.106 | 140 |
| 1.0.0.107–1.0.0.108 | 141 |
| 1.0.0.109 | 142 |
| 1.0.0.110 | 194 |
| 1.0.0.111–1.0.0.116 | 195 |
| 1.0.0.117–1.0.0.118 | 196 |
| 1.0.0.119–1.0.0.123 | 197 |
| 1.0.0.124 | 202 |
| 1.0.0.125 | 203 |
| 1.0.0.126–1.0.0.129 | 204 |
| Field | Type | What it is |
|---|---|---|
| syncId | u32 | Names this batch of changes. Replication says which batches a client takes values from. |
| unitCount | u8 | How many units follow. |
| units | count in unitCount × Replication |
Vectors (19)
one-on-1-0-0-61, one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81, one-on-1-0-0-96, one-on-1-0-0-97, one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-110, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, one-on-1-0-0-124, one-on-1-0-0-125, another-on-1-0-0-126, naming-no-unit-on-1-0-0-126, one-on-1-0-0-126
TransientAck
What a client sends to say a batch of changes arrived, naming which batch. The header names no object: it carries zero.
In 1.0.0.25–1.0.0.127
Carried on requests, sent by the client, unsequenced, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.25–1.0.0.62 | 129 |
| 1.0.0.63–1.0.0.73 | 132 |
| 1.0.0.74–1.0.0.81 | 133 |
| 1.0.0.82–1.0.0.96 | 137 |
| 1.0.0.97 | 138 |
| 1.0.0.98–1.0.0.102 | 139 |
| 1.0.0.103–1.0.0.106 | 141 |
| 1.0.0.107–1.0.0.108 | 142 |
| 1.0.0.109 | 143 |
| 1.0.0.110 | 167 |
| 1.0.0.111–1.0.0.116 | 168 |
| 1.0.0.117–1.0.0.118 | 169 |
| 1.0.0.119–1.0.0.123 | 170 |
| 1.0.0.124 | 174 |
| 1.0.0.125 | 175 |
| 1.0.0.126–1.0.0.127 | 176 |
A client sends it for a Replication batch only where it holds every unit the batch names, or the batch names none.
| Field | Type | What it is |
|---|---|---|
| syncId | u32 | Which batch is being acknowledged, as the batch named itself. |
Vectors (17)
one-on-1-0-0-61, one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81, one-on-1-0-0-96, one-on-1-0-0-97, one-on-1-0-0-99, one-on-1-0-0-106, one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-110, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, one-on-1-0-0-124, one-on-1-0-0-125, acknowledged-on-1-0-0-126
In 1.0.0.128–1.0.0.129
Command 176 on requests, sent by the client, unsequenced.
It is sent for a batch whose values the client dropped as well as for one it took.
| Field | Type | What it is |
|---|---|---|
| syncId | u32 | Which batch is being acknowledged, as the batch named itself. |
GoldGained
What a server sends to show a unit gaining gold. The header names the unit whose death earned the gold, as source does.
In 1.0.0.25–1.0.0.109
Command 27 on events, sent by the server, reliable.
Where amount is above 0.5, unit is the client’s own champion and source names a unit it holds, a client floats the gold over the source. Otherwise, where it holds the unit, it floats the amount over the unit as a gain or a loss, and nothing for zero.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit granted it. |
| source | u32 | What it came from, or zero where nothing did. |
| amount | f32 | How much. |
Vectors (2)
In 1.0.0.110–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.110–1.0.0.123 | 36 |
| 1.0.0.124–1.0.0.127 | 37 |
Where amount is above 0.5, unit is the client’s own champion and source names a unit it holds, a client floats the gold over the source. Otherwise, where it holds the unit, it shows the amount on the unit as a gain or a loss, and nothing for zero; where that appears is not recorded.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit granted it. |
| source | u32 | What it came from, or zero where nothing did. |
| amount | f32 | How much. |
Vectors (2)
In 1.0.0.128–1.0.0.129
Command 37 on events, sent by the server, reliable.
A client only floats the amount as text: the gold the unit holds does not change. Where unit is the client’s own champion, amount is above 0.5 and source names a unit the client holds other than its own player, the text floats over source; otherwise it floats over unit, as a gain where amount is above zero and a loss where it is below.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit granted it. |
| source | u32 | What it came from, or zero where nothing did. |
| amount | f32 | How much. |
ExperienceGained
What a server sends to say a unit gained experience. The header names no object: a server writes zero.
In 1.0.0.25–1.0.0.109
Command 28 on events, sent by the server, reliable.
It changes no unit’s experience: a client only floats the amount as text over the unit, where the player’s floating-text settings allow.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit granted it, a champion. A client fails for any other unit it holds, and does nothing for a unit it does not know. |
| amount | f32 | How much. A client shows a value below zero or from 100000 up as well. |
Vectors (2)
In 1.0.0.110–1.0.0.125
Command 17 on events, sent by the server, reliable.
A client floats the amount over any champion it holds, except while playing a replay.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit granted it. |
| amount | f32 | How much. |
Vectors (1)
In 1.0.0.126–1.0.0.127
Command 17 on events, sent by the server, reliable.
A client floats the amount over any champion it holds, except while playing a replay.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit granted it. A server names a champion: any other unit the client holds has no defined effect. |
| amount | f32 | How much. |
Vectors (1)
In 1.0.0.128–1.0.0.129
Command 17 on events, sent by the server, reliable.
A client floats the amount over the champion, except while watching a match. Where the unit is the client’s own champion below its highest level, it also shows the amount on its experience display.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit granted it. A server names a champion: a client fails for any other unit. |
| amount | f32 | How much. |
GoldRedirect
What a server sends to send the gold a unit earns to another. The header names the unit.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.25–1.0.0.62 | 89 |
| 1.0.0.63–1.0.0.73 | 95 |
| 1.0.0.74–1.0.0.81 | 96 |
| 1.0.0.82–1.0.0.96 | 100 |
| 1.0.0.97–1.0.0.102 | 101 |
| 1.0.0.103–1.0.0.106 | 103 |
| 1.0.0.107–1.0.0.108 | 104 |
| 1.0.0.109 | 105 |
| 1.0.0.110–1.0.0.129 | 7 |
| Field | Type | What it is |
|---|---|---|
| target | u32 | The unit that receives the gold. |
LevelUp
What a server sends when a unit gains a level. The header names the unit this is about. On its own, with no replication behind it, it is enough for a client to show the new level on the champion’s portrait and offer the unspent points.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.25–1.0.0.73 | 47 |
| 1.0.0.74–1.0.0.81 | 48 |
| 1.0.0.82–1.0.0.96 | 51 |
| 1.0.0.97–1.0.0.102 | 52 |
| 1.0.0.103–1.0.0.106 | 53 |
| 1.0.0.107–1.0.0.109 | 54 |
| 1.0.0.110–1.0.0.116 | 65 |
| 1.0.0.117–1.0.0.118 | 66 |
| 1.0.0.119–1.0.0.123 | 67 |
| 1.0.0.124–1.0.0.129 | 69 |
A client applies it only to a champion, and ignores it for any other unit.
| Field | Type | What it is |
|---|---|---|
| level | u8 | The level now reached. |
| pointsToSpend | u8 | How many spell points are left unspent. |
ChampionStats
What a server sends to set a champion’s tallies for the scoreboard. The header names the champion.
In 1.0.0.61–1.0.0.106
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.61–1.0.0.73 | 176 |
| 1.0.0.74–1.0.0.81 | 177 |
| 1.0.0.82–1.0.0.96 | 181 |
| 1.0.0.97 | 182 |
| 1.0.0.98–1.0.0.102 | 183 |
| 1.0.0.103 | 185 |
| 1.0.0.104–1.0.0.106 | 191 |
A fixed record of the champion’s tallies, which a client keeps whole and shows none of. It acts only on kills.
| Field | Type | What it is |
|---|---|---|
| keptA | bytes, 20 | Kept with the champion; a client shows nothing of it. |
| kills | i32 | How many champions it has killed. Above zero, a client counts the champion’s first kill as made. |
| keptB | bytes, 176 | Kept with the champion; a client shows nothing of it. |
In 1.0.0.107–1.0.0.123
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.107–1.0.0.108 | 192 |
| 1.0.0.109 | 193 |
| 1.0.0.110–1.0.0.116 | 71 |
| 1.0.0.117–1.0.0.118 | 72 |
| 1.0.0.119–1.0.0.123 | 73 |
A fixed record of the champion’s tallies. A client shows kills, deaths and assists, minionKills and neutralKills together as its minion count, the two structure kills together as its building count, and goldTotal; GoldEarned adds to goldTotal between these messages.
| Field | Type | What it is |
|---|---|---|
| keptA | 3 × i32 | Kept with the champion; a client shows nothing of it. |
| deaths | i32 | How many times the champion has died. |
| minionKills | i32 | How many minions it has killed, neutral ones aside. |
| kills | i32 | How many champions it has killed. Each side’s kill total is the sum over its champions. Where any champion’s is above zero, a client takes first blood as taken: it raises no first-blood event and adds no first-blood bonus to a kill’s value after that. |
| structureKills | i32 | One kind of structure it has destroyed. |
| otherStructureKills | i32 | The other kind of structure it has destroyed. |
| keptB | i32 | Kept with the champion; a client shows nothing of it. |
| neutralKills | i32 | How many neutral minions it has killed. |
| gap | bytes, 12 | A client takes nothing from these bytes. A server writes zero. |
| keptC | 3 × i32 | Kept with the champion; a client shows nothing of it. |
| goldTotal | f32 | The gold it has earned in all, shown rounded down. |
| keptD | 9 × i32 | Kept with the champion; a client shows nothing of it. |
| keptE | 2 × f32 | Kept with the champion; a client shows nothing of it. |
| keptF | u8 | Kept with the champion; a client shows nothing of it. |
| padding | bytes, 3 | A client takes nothing from these bytes. A server writes zero. |
| keptG | 8 × i32 | Kept with the champion; a client shows nothing of it. |
| keptH | 13 × f32 | Kept with the champion; a client shows nothing of it. |
| keptI | i32 | Kept with the champion; a client shows nothing of it. |
| assists | i32 | How many kills it has assisted. |
Vectors (5)
one-on-1-0-0-108, one-on-1-0-0-109, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123
In 1.0.0.124–1.0.0.129
Command 75 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| size | u32 | The whole length of what follows the header, these four bytes included, as a whole 32-bit count. A mismatch has no effect, and does not limit what a client takes. |
| values | bytes, sized by size minus 4 | One value per tally of the match’s mode, the tallies in ascending byte order of their names. An int takes 4 bytes, a float 4, a bool 1, a 64-bit int 8, and text a 16-bit length below 255 then that many bytes. Bytes left over have no effect. A nonzero count of champion kills marks first blood taken. |
Vectors (1)
ShieldAdded
What a server sends to add to a unit’s shield. The header names the unit.
In 1.0.0.111–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.111–1.0.0.116 | 100 |
| 1.0.0.117–1.0.0.118 | 101 |
| 1.0.0.119–1.0.0.123 | 102 |
| 1.0.0.124–1.0.0.127 | 105 |
Both physical and magical set adds amount to the shield that takes either kind of damage; one of them, to that kind’s shield; neither, to nothing. A negative amount lowers it, and any shield left below 0.001 becomes zero. noFade clear does not restart a fade already stopped.
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | Which shield. |
| flags.physical | bit 0 | Set where the shield turns aside physical damage. |
| flags.magical | bit 1 | Set where it turns aside magical damage. Both set means either. |
| flags.noFade | bit 2 | Set where the shield does not fade. |
| flags.unused | bit 3 to 7 | A client ignores these; a server writes zero. |
| amount | f32 | How much is added. |
Vectors (4)
one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, a-shield-on-1-0-0-126
In 1.0.0.128–1.0.0.129
Command 105 on events, sent by the server, reliable.
Both physical and magical set adds amount to the shield that takes either kind of damage; one of them, to that kind’s shield; neither, to nothing. A negative amount lowers it, and any shield left below 0.001 becomes zero. noFade clear does not restart a fade already stopped.
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | Which shield. |
| flags.physical | bit 0 | Set where the shield turns aside physical damage. |
| flags.magical | bit 1 | Set where it turns aside magical damage. Both set means either. |
| flags.noFade | bit 2 | Set where the shield does not fade. |
| flags.unused | bit 3 to 7 | Unused; a server writes zero. |
| amount | f32 | How much is added. |
HealthBar
What a server sends about a unit’s health bar. The header names the unit.
In 1.0.0.103–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.103–1.0.0.106 | 102 |
| 1.0.0.107–1.0.0.108 | 103 |
| 1.0.0.109 | 104 |
| 1.0.0.110 | 204 |
| 1.0.0.111–1.0.0.116 | 205 |
| 1.0.0.117–1.0.0.118 | 206 |
| 1.0.0.119–1.0.0.122 | 207 |
| 1.0.0.123 | 208 |
| 1.0.0.124 | 213 |
| 1.0.0.125 | 214 |
| 1.0.0.126–1.0.0.127 | 215 |
| Field | Type | What it is |
|---|---|---|
| show | u8 | Any value other than zero shows the bar; zero hides it. |
In 1.0.0.128–1.0.0.129
Command 215 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| show | u8 | Set to show the bar, clear to hide it. Zero hides it, any other value shows it. |
ScoreAdded
What a server sends to add to a player’s score. The header names no object: a server writes zero.
In 1.0.0.124–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.124 | 224 |
| 1.0.0.125 | 225 |
| 1.0.0.126–1.0.0.127 | 226 |
A client ignores the message where champion names no champion it holds.
| Field | Type | What it is |
|---|---|---|
| champion | u32 | The champion whose score it is. |
| category | u8 | Which part of the score. Values: 0 offense, 1 defense, 2 combat, 3 objective. |
| event | u8 | What earned it. |
| flags | 1-byte bits | How it is shown. |
| flags.callout | bit 0 | Set where the client announces it. |
| flags.unused | bit 1 to 7 | A client ignores these; a server writes zero. |
| points | f32 | How much is added. |
Vectors (3)
offense-on-1-0-0-124, offense-on-1-0-0-125, a-score-on-1-0-0-126
In 1.0.0.128–1.0.0.129
Command 226 on events, sent by the server, reliable.
A client ignores the message where player names no champion it holds.
| Field | Type | What it is |
|---|---|---|
| champion | u32 | The champion whose score it is. |
| category | u8 | Which part of the score. Values: 0 offense, 1 defense, 2 combat, 3 objective. |
| event | u8 | What earned it. |
| flags | 1-byte bits | How it is shown. |
| flags.callout | bit 0 | Set where the client announces it. |
| flags.unused | bit 1 to 7 | Unused; a server writes zero. |
| points | f32 | How much is added. |
StatisticIncremented
What a server sends to add one to a champion’s count of a deed, as counted for the end of a match. Nothing shows at once. A client ignores it where the id names no champion. The header carries zero.
In 1.0.0.124–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.124 | 225 |
| 1.0.0.125 | 226 |
| 1.0.0.126–1.0.0.127 | 227 |
| Field | Type | What it is |
|---|---|---|
| champion | u32 | The champion. |
| statistic | u8 | Which count, from 0 to 9. A client does not check the range, so a value past 9 has no defined effect; a server sends only those named. Values: 0 pointCaptured, 1 pointNeutralised, 2 killWhileAttackingPoint, 3 teamObjective, 4 defendedPointNeutralised, 5 killWhileDefendingPoint, 6 timeDefendingPoint, 7 lastStand, 8 captureAssist, 9 neutraliseAssist. |
In 1.0.0.128–1.0.0.129
Command 227 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| champion | u32 | The champion. |
| statistic | u8 | Which count. A value past those named has no defined effect. Values: 0 pointCaptured, 1 pointNeutralised, 2 killWhileAttackingPoint, 3 teamObjective, 4 defendedPointNeutralised, 5 killWhileDefendingPoint, 6 timeDefendingPoint, 7 lastStand, 8 captureAssist, 9 neutraliseAssist. |
GoldEarned
What a server sends about gold a champion earned. The header carries zero.
In 1.0.0.120–1.0.0.125
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.120–1.0.0.122 | 228 |
| 1.0.0.123 | 231 |
| 1.0.0.124 | 240 |
| 1.0.0.125 | 241 |
| Field | Type | What it is |
|---|---|---|
| owner | u32 | The champion credited. |
| amount | f32 | How much gold. 0.95 is what a champion earns for each step it stands still. |
Vectors (4)
one-on-1-0-0-122, one-on-1-0-0-123, one-on-1-0-0-124, one-on-1-0-0-125
In 1.0.0.126–1.0.0.129
Command 242 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| owner | u32 | The champion credited. |
| amount | f32 | How much gold. |
Vectors (1)
ResourceColours
What a server sends to give a unit’s resource bar colours of its own, or to take them back. The header names the unit.
In 1.0.0.109–1.0.0.129
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.109 | 78 |
| 1.0.0.110 | 145 |
| 1.0.0.111–1.0.0.116 | 146 |
| 1.0.0.117–1.0.0.118 | 147 |
| 1.0.0.119–1.0.0.123 | 148 |
| 1.0.0.124–1.0.0.125 | 152 |
| 1.0.0.126–1.0.0.129 | 153 |
| Field | Type | What it is |
|---|---|---|
| unused | u32 | Unused; its bytes carry no meaning. The header names the unit. |
| on | u8 | Nonzero gives the bar the two colours below; zero takes them back, and a client reads neither. |
| fill | u32 | The colour the bar fills with up to the unit’s current amount, with its alpha in the top byte, which the bar’s own fading scales. |
| lost | u32 | The colour of what the unit has just lost, drawn from its current amount up to a mark that falls back toward it over time; alpha as above. |
StatTick
What a server sends to advance every unit’s stats by a span of time. The header carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.25–1.0.0.73 | 64 |
| 1.0.0.74–1.0.0.81 | 65 |
| 1.0.0.82–1.0.0.96 | 68 |
| 1.0.0.97–1.0.0.102 | 69 |
| 1.0.0.103–1.0.0.106 | 70 |
| 1.0.0.107–1.0.0.109 | 71 |
| 1.0.0.110–1.0.0.123 | 41 |
| 1.0.0.124–1.0.0.129 | 42 |
A client takes it and changes nothing it shows.
| Field | Type | What it is |
|---|---|---|
| seconds | f32 | The span, in seconds. |