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

Combat

Attacks, damage, death and coming back. Spells are in Spells.

Attacking

A server says a unit is swinging at another with Attack, or with AttackFrom, which also says where the swinging unit stands. StopAttack breaks an attack off. AttackSpeedBounds puts a ceiling or a floor on how fast a unit attacks.

In 4.1–4.19

After StopAttack, a client clears the unit’s attack whatever the message’s flags ask besides.

A client asks its champion to attack with a MoveOrder naming the unit (see Movement). What the player then sees is what a server sends: the champion walking into range along a WaypointGroup, a swing for each Attack, and what each Damage shows.

In 4.1–4.19

How long a swing takes comes from the champion’s data and its attack speed.

In 4.1–4.19

Damage shows a figure for the results that carry one, normal and critical; zero is the result that shows the unit as invulnerable, not a plain hit.

In 4.1–4.19

A client never walks its champion into range by itself: a server sends the WaypointGroup that takes it there.

The health bar moves as replication states the health.

In 4.1–4.19

Each Attack plays one swing, cutting off any swing still under way. TargetUnit and TargetHeldChampion are not needed for a swing to show. The health bar moves only as replication states the unit’s health, and StopAttack breaks a swing off before it lets go.

In 4.1–4.19

A melee swing carries a missile id of zero. A ranged swing carries an id no object holds, which the client gives the missile it launches itself as the swing lets go, with no further message while the attacker is in view. A swing that nothing interrupts finishes by itself.

TargetUnit draws a unit’s targeting beam at what it is attacking.

Any unit takes TargetUnit, whatever it is attacking.

That a unit is attacking a champion is TargetHeldChampion, which marks the unit’s health bar with an indicator, and clears the mark when it names no such champion. A server MUST send TargetUnit and TargetHeldChampion together.

HoverTarget and HoverIndicator set and show the unit a unit’s hover indicator points at, and AttackIndicators shows or hides a unit’s attack indicators.

A champion’s clicks can be made to attack the ground with GroundAttackMode.

Damage

A server reports damage with Damage.

In 4.1–4.19

A client shows nothing at all for Damage unless it holds both the unit hurt and the unit dealing it.

Death

A unit’s death is UnitDied, a champion’s ChampionDied, a building’s BuildingDied, and an inhibitor’s InhibitorDied. ForceDeath puts a unit into its death.

In 4.1–4.19

A client ignores UnitDied or ChampionDied naming a unit already dead, and puts a unit down only where a killer is named.

Either UnitDied or ChampionDied can leave the unit standing as a husk rather than dead, without its death animation or death screen.

In 4.1–4.19

A client ignores ChampionDied that credits no killer.

How long a champion stays down is DeathTimer. Whether a client draws the world without colour while its champion is down is GreyscaleWhenDead. What led to a death is DeathHistory, which a client lays out for its player. An inhibitor’s state, and how long it lasts, is InhibitorState.

In 4.20

A server also reports a death for what a client draws on its map with UnitDiedOnMap.

Coming back

Revived puts a champion back on the field.

A server can instead bring a dead champion back at a place of its choosing with Respawned, which keeps the champion’s level, gold and spell ranks and restores its health.

Using a unit

A client sends UseObject as its player right-clicks a unit that can be used.

A client also sends UseObject for a unit its champion is attacking, as that unit changes side.

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).

Attack

What a server sends to say a unit is swinging at another. The header names the unit acting.

Definition.

In 4.1–4.16

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

FieldTypeWhat it is
targetu32The unit swung at. A client throws the swing at it.
timingu8A shift in time: the value less 128, in hundredths of a second, from -1.28 to 1.27; 128 shifts nothing. It moves when the swing lets go and ends, and when the unit may next attack.
missileu32The name the missile this swing throws will answer to.
slotu8Which of the unit’s attacks this is.
Vectors (1)

one-on-4-16

In 4.17

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

FieldTypeWhat it is
targetu32The unit swung at.
targetXf32Where the unit swung at stands, along one ground axis, in world units. A client throws the swing at the unit named above, whatever this position says.
targetYf32Where it stands, in height, in world units.
targetZf32Where it stands, along the other ground axis, in world units.
timingu8A shift in time: the value less 128, in hundredths of a second, from -1.28 to 1.27; 128 shifts nothing. It moves when the swing lets go and ends, and when the unit may next attack.
missileu32The name the missile this swing throws will answer to.
slotu8Which of the unit’s attacks this is.
Vectors (1)

one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
strikeStrikeThe swing.
Vectors (2)

another-on-4-20, one-on-4-20

AttackFrom

What a server sends to say a unit is swinging at another, carrying where the swinging unit stands as well as what it swings at. The header names the unit acting.

Definition.

In 4.1–4.16

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

FieldTypeWhat it is
targetu32The unit swung at. A client throws the swing at it.
timingu8A shift in time: the value less 128, in hundredths of a second, from -1.28 to 1.27; 128 shifts nothing. It moves when the swing lets go and ends, and when the unit may next attack.
missileu32The name the missile this swing throws will answer to. Zero for a swing that throws none.
slotu8Which of the unit’s attacks this is.
fromXf32Where the swinging unit stands, along one ground axis, in world units.
fromZf32Where it stands, along the other, in world units.
Vectors (1)

one-on-4-16

In 4.17

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

FieldTypeWhat it is
targetu32The unit swung at.
targetXf32Where the unit swung at stands, along one ground axis, in world units.
targetYf32Where it stands, in height, in world units.
targetZf32Where it stands, along the other ground axis, in world units.
timingu8A shift in time: the value less 128, in hundredths of a second, from -1.28 to 1.27; 128 shifts nothing. It moves when the swing lets go and ends, and when the unit may next attack.
missileu32The name the missile this swing throws will answer to. Zero for a swing that throws none.
slotu8Which of the unit’s attacks this is.
fromXf32Where the swinging unit stands, along one ground axis, in world units.
fromZf32Where it stands, along the other, in world units.
Vectors (1)

one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
strikeStrikeThe swing.
fromXf32Where the swinging unit stands, along one ground axis, in world units.
fromZf32Where it stands, along the other, in world units.
Vectors (2)

another-on-4-20, one-on-4-20

StopAttack

What a server sends to break off an attack a unit is making. The header names the unit acting.

Definition.

In 4.1–4.17

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.1051
4.11–4.1752

Whatever the flags, a client then clears the unit’s attack.

FieldTypeWhat it is
missileu32The missile the attack would have thrown, where there is one.
how1-byte bits
how.keepAnimatingbit 0Set to let the attack’s animation play on after the stop.
how.forceCastbit 1Set to make the attack land first where it has not already.
how.forceStopbit 2Set to stop the attack outright; a client does so anyway where it cannot see the unit, and keepAnimating and forceCast then have no effect.
how.summonerSpellbit 3Set where the slot stopped is a summoner spell’s.
how.destroyMissilebit 4Set to destroy the missile named in missile, where it exists; forced, after the attack landed, the spell’s cooldown is also refunded.
how.unusedbit 5 to 7Unused; a server writes zero.
Vectors (1)

one-on-4-11

In 4.18–4.20

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

FieldTypeWhat it is
how1-byte bits
how.keepAnimatingbit 0Set where the unit finishes what it was doing to look at.
how.finishSwingbit 1Set where a swing not yet let go is let go before it stops.
how.forcedbit 2Set to stop what the unit is casting at once, whether or not it would otherwise stop.
how.summonerSpellbit 3Set where what is broken off came from a summoner slot.
how.destroyMissilebit 4Set where the missile named below is to go too.
how.unusedbit 5 to 7Unused; a server writes zero.
missileu32The missile the attack would have thrown, where there is one.
Vectors (1)

one-on-4-20

AttackSpeedBounds

What a server sends to put a ceiling or a floor on how fast a unit attacks. Its identifier is wider than a byte, so it travels behind the escape. The header names the unit this is about.

Definition.

In 4.4–4.17

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

FieldTypeWhat it is
useCeilingu81 to apply the ceiling below; 0 leaves the unit’s ceiling as it was.
useFlooru81 to apply the floor below; 0 leaves the unit’s floor as it was.
ceilingf32The fastest the unit can attack, in attacks a second, where the flag says to use it. A value of 0.00001 or less, -1 among them, sets no bound.
floorf32The slowest the unit can attack, in attacks a second, where the flag says to use it. A value of 0.00001 or less, -1 among them, sets no bound.
Vectors (1)

one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
overrides1-byte bits
overrides.ceilingbit 0Set where the ceiling below is to be used.
overrides.floorbit 1Set where the floor below is to be used.
overrides.unusedbit 2 to 7Unused; a server writes zero.
ceilingf32The fastest the unit can attack, in attacks a second, where the flag says to use it. A value of 0.00001 or less, -1 among them, sets no bound.
floorf32The slowest the unit can attack, in attacks a second, where the flag says to use it. A value of 0.00001 or less, -1 among them, sets no bound.
Vectors (1)

a-ceiling-on-4-20

Damage

What a server sends to say one unit hurt another. The header names the unit hurt, as target does.

Definition.

In 4.1–4.17

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10100
4.11–4.17101

A client shows the figure and nothing more: the health it shows for the unit is what replication carries, and this message leaves it as it was.

FieldTypeWhat it is
how1-byte bits
how.resultbit 0 to 2How the damage landed, and so what a client shows over the unit hurt. 4 shows the amount, 3 shows it as a critical strike, and 2 shows the word for a dodge in place of an amount.
how.unused1bit 3Unused; a server writes zero.
how.kindbit 4 to 5What sort of damage it is, which sets how a client colours the figure: 0 red, 1 purple and 2 white.
how.unusedbit 6 to 7Unused; a server writes zero.
targetu32The unit hurt.
sourceu32The unit dealing it. A client shows nothing, notices included, unless it holds both target and source; the figure drifts from source toward target, and a champion source has the amount added to its damage dealt.
amountf32How much.
Vectors (2)

one-on-4-10, one-on-4-17

In 4.18–4.20

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

A client shows the figure and nothing more: the health it shows for the unit is what replication carries, and this message leaves it as it was.

FieldTypeWhat it is
resultu8How the damage landed, and so what a client shows over the unit hurt. A value of 6 shows the amount as normal does. Values: 0 invulnerable, 1 unseen, 2 dodged, 3 critical, 4 normal, 5 missed.
unusedu8Unused; a server writes zero.
kindu8What sort of damage it is, which sets how a client colours the figure. Values: 0 physical, 1 magical, 2 true, 3 mixed.
amountf32How much.
targetu32The unit hurt.
sourceu32The unit that hurt it.
Vectors (2)

another-on-4-20, one-on-4-20

TargetUnit

What a server sends to say what a unit is attacking, whatever the unit attacked is. A client takes down whatever it was drawing for that unit’s last target and draws for the new one where the target and the unit’s own settings allow. The header names the unit acting.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10105
4.11–4.20106
FieldTypeWhat it is
targetu32The unit being attacked, or zero where it is attacking nothing.
Vectors (6)

a-third-on-4-10, another-on-4-10, one-on-4-10, one-on-4-17, another-on-4-20, one-on-4-20

TargetHeldChampion

What a server sends to mark that a unit is attacking a champion, or to take the mark away. The header names the unit. TargetUnit draws the targeting beam and never touches this mark.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10191
4.11–4.20192

A client marks the unit where target is nonzero, names a champion the client holds and the unit is on the other side, drawing an indicator on the unit’s health bar unless the unit’s data turns it off; any other target clears the mark.

FieldTypeWhat it is
targetu32The champion being attacked.
Vectors (4)

another-on-4-10, one-on-4-10, one-on-4-17, one-on-4-20

HoverTarget

What a server sends to set the unit a unit’s hover indicator points at. The header names the unit.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10244
4.11–4.20245
FieldTypeWhat it is
targetu32The unit pointed at.
Vectors (4)

another-on-4-10, one-on-4-10, one-on-4-17, one-on-4-20

HoverIndicator

What a server sends to turn a unit’s hover indicator on or off. The header names the unit.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10245
4.11–4.20246
FieldTypeWhat it is
enabledu80 turns it off; any other value on.
Vectors (4)

another-on-4-10, one-on-4-10, one-on-4-17, one-on-4-20

AttackIndicators

What a server sends to show or hide a unit’s attack indicators. The header names the unit.

Definition.

In 4.1–4.17

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

FieldTypeWhat it is
unitu32The unit.
showu8Whether the indicator shows.
minimapu8Whether it shows on the minimap.
Vectors (1)

one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
unitu32The unit. A client acts only where it is a champion.
show1-byte bitsWhere the indicators show.
show.showbit 0Set where the indicator shows.
show.minimapbit 1Set where it shows on the minimap.
show.unusedbit 2 to 7Unused; a server writes zero.
Vectors (1)

one-on-4-20

GroundAttackMode

What a server sends to make a champion’s clicks attack the ground. It changes what its own player’s clicks do; for any other champion it changes nothing a client shows. A client ignores it where the id names no champion. The header carries zero.

Definition.

In every range of this book

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

FieldTypeWhat it is
championu32The champion.
modeu8Which clicks attack the ground. Values: 0 off, 1 move, 2 select, 3 moveAndSelect, 4 attackMove, 5 atCursor.
Vectors (2)

one-on-4-17, one-on-4-20

UnitDied

What a server sends to say a unit died, to everyone who can see it. The header names the unit this is about.

Definition.

In 4.1–4.17

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10157
4.11–4.17158

Where killer names a unit it knows, a client announces the kill for that unit, then the one kind picks. Where the unit is not already dead, it cancels the unit’s cast and attack, and only where killer is nonzero puts the unit down, by stayDown and standing.

FieldTypeWhat it is
killeru32The unit credited with the death.
damageTypeu32Unused; a server writes zero.
damageSourceu32Unused; a server writes zero.
stayDownf32How long the unit stays down, in seconds.
how1-byte bits
how.standingbit 0Set to leave the unit standing as a husk rather than dead: no time of death, and for a champion no death animation and no death screen. A turret kept after death behaves so whatever this says.
how.unusedbit 1 to 7Unused; a server writes zero.
kindu8Which kill a client announces for killer: zero a neutral monster’s, nonzero a minion’s.
Vectors (2)

one-on-4-10, one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
deathDeathHow it died.
Vectors (1)

one-on-4-20

ChampionDied

What a server sends to say a champion died. The header names the unit this is about.

Definition.

In 4.1–4.17

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.1093
4.11–4.1794

A client ignores it where killer is zero or the champion is already dead.

FieldTypeWhat it is
killeru32The unit credited with the death. Where it names the champion that died, a client still plays the death.
damageTypeu32The kind of the killing blow. A client shows nothing for it. Values: 0 physical, 1 magic, 2 true, 3 mixed.
damageSourceu32Where the killing blow came from. A client shows nothing for it. Values: 0 raw, 1 internalRaw, 2 periodic, 3 proc, 4 reactive, 5 onDeath, 6 spell, 7 attack, 8 default, 9 areaSpell, 10 persistentSpell, 11 pet.
stayDownf32How long the champion stays down, in seconds. A client counts its respawn timer down from it.
how1-byte bits
how.zombiebit 0Set to leave the champion standing in a zombie state rather than dead: no death animation and no death screen.
how.unusedbit 1 to 7Unused; a server writes zero.
kindu8It has no effect in this message.
Vectors (2)

one-on-4-10, one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
deathDeathHow it died.
Vectors (1)

one-on-4-20

BuildingDied

What a server sends when a building is destroyed. The header names the unit this is about.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10136
4.11–4.20137
FieldTypeWhat it is
attackeru32The unit that destroyed it.
lastChampionu32The last champion to have harmed it.
Vectors (6)

a-third-on-4-10, another-on-4-10, one-on-4-10, one-on-4-17, another-on-4-20, one-on-4-20

ForceDeath

What a server sends to put a unit into its death. The header names the unit.

Definition.

In every range of this book

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

FieldTypeWhat it is
durationf32How long it stays down, in seconds.
Vectors (2)

one-on-4-17, one-on-4-20

DeathTimer

What a server sends to set how long a champion stays down. The header names the unit this is about. Sent about a champion that is not down, it shows nothing.

Definition.

In every range of this book

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

FieldTypeWhat it is
stayDownf32How long it stays down, in seconds.
Vectors (2)

one-on-4-17, one-on-4-20

GreyscaleWhenDead

What a server sends to say whether a client draws the world without colour while its champion is down. The header names a champion: that of the player it is sent to.

Definition.

In 4.1–4.17

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.10168
4.11–4.17169
FieldTypeWhat it is
state1-byte bits
state.enabledbit 0Set where the world is drawn without colour. Clear, it does not stop a client drawing the world without colour while its champion is down.
state.unusedbit 1 to 7Unused; a server writes zero.
Vectors (2)

one-on-4-10, one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
state1-byte bits
state.enabledbit 0Set where the world is drawn without colour.
state.unusedbit 1 to 7Unused; a server writes zero.
Vectors (1)

one-on-4-20

DeathHistory

What a server sends to say what led to a death, so the client can lay it out. The header names the unit this is about.

Definition.

In 4.1–4.5

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

A client ignores the whole message unless it holds killer. Each entry’s size after event and source follows from event alone. An entry whose target the client does not hold is left out.

FieldTypePresent whenWhat it is
killeru32The unit credited with the death.
spanf32The time the entries below cover, in seconds.
sourceTypeu8What sort of source the killer was.
blobLengthu32How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 29 inhibitorKilled, 30 inhibitorDied, 31 inhibitorRespawningSoon, 34 turretKilled, 35 turretDied, 36 turretDamaged, 37 minionKilled, 38 minionDenied, 39 monsterKilled, 40 largeMonsterKilled, 41 redBuffTaken, 42 blueBuffTaken, 43 nexusKilled, 44 nexusDied, 45 heal, 46 healCast, 47 buff, 48 crowdControl, 49 killingSpree, 56 killDuringSpree, 63 doubleKillDuringSpree, 64 tripleKillDuringSpree, 65 quadraKillDuringSpree, 68 deathAssist, 69 playerQuit, 70 playerLeft, 71 playerReconnected, 86 itemBought, 87 itemSold, 88 itemRemoved, 89 itemCallout, 90 itemChanged, 91 undoChanged, 92 itemSubstituted, 111 minionsSpawned, 112 welcome, 113 startNoticeTwo, 114 startNoticeThree, 118 scoreboardOpened, 143 dragonKilled, 144 dragonKilledWatched, 145 dragonStolen, 146 baronKilled, 147 baronKilledWatched, 148 baronStolen, 149 spiderKilled, 150 spiderKilledWatched, 151 altarCaptured, 152 altarCapturedWatched, 153 wardPlaced, 154 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].damage.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].damage.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 86 or 87 or 88 or 90 or 91 or 151 or 152What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 49How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 45 or 46How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].heal.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].heal.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 47 or 48The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].effect.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].effect.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 48What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 68What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 35 or 36 or 37 or 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 39 or 143 or 144 or 145 or 146 or 147 or 148 or 149 or 150Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 89The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 92An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
Vectors (1)

one-on-4-1

In 4.6–4.11

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

A client ignores the whole message unless it holds killer. Each entry’s size after event and source follows from event alone. An entry whose target the client does not hold is left out.

FieldTypePresent whenWhat it is
killeru32The unit credited with the death.
spanf32The time the entries below cover, in seconds.
sourceTypeu8What sort of source the killer was.
blobLengthu32How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 87 itemBought, 88 itemSold, 89 itemRemoved, 90 itemCallout, 91 itemChanged, 92 undoChanged, 93 itemSubstituted, 112 minionsSpawned, 113 welcome, 114 startNoticeTwo, 115 startNoticeThree, 119 scoreboardOpened, 144 dragonKilled, 145 dragonKilledWatched, 146 dragonStolen, 147 baronKilled, 148 baronKilledWatched, 149 baronStolen, 150 spiderKilled, 151 spiderKilledWatched, 152 altarCaptured, 153 altarCapturedWatched, 154 wardPlaced, 155 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].damage.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].damage.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 87 or 88 or 89 or 91 or 92 or 152 or 153What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].heal.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].heal.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].effect.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].effect.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 144 or 145 or 146 or 147 or 148 or 149 or 150 or 151The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 144 or 145 or 146 or 147 or 148 or 149 or 150 or 151Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 90The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 93An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
Vectors (1)

one-on-4-6

In 4.12

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

A client ignores the whole message unless it holds killer. Each entry’s size after event and source follows from event alone. An entry whose target the client does not hold is left out.

FieldTypePresent whenWhat it is
killeru32The unit credited with the death.
spanf32The time the entries below cover, in seconds.
sourceTypeu8What sort of source the killer was.
blobLengthu32How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 87 itemBought, 88 itemSold, 89 itemRemoved, 90 itemCallout, 91 itemChanged, 92 undoChanged, 93 itemSubstituted, 112 minionsSpawned, 113 welcome, 114 startNoticeTwo, 115 startNoticeThree, 119 scoreboardOpened, 145 dragonKilled, 146 dragonKilledWatched, 147 dragonStolen, 148 baronKilled, 149 baronKilledWatched, 150 baronStolen, 151 spiderKilled, 152 spiderKilledWatched, 153 altarCaptured, 154 altarCapturedWatched, 155 wardPlaced, 156 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].damage.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].damage.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 87 or 88 or 89 or 91 or 92 or 153 or 154What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].heal.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].heal.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].effect.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].effect.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 145 or 146 or 147 or 148 or 149 or 150 or 151 or 152The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 145 or 146 or 147 or 148 or 149 or 150 or 151 or 152Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 90The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 93An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
Vectors (1)

one-on-4-12

In 4.13

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

A client ignores the whole message unless it holds killer. Each entry’s size after event and source follows from event alone. An entry whose target the client does not hold is left out.

FieldTypePresent whenWhat it is
killeru32The unit credited with the death.
spanf32The time the entries below cover, in seconds.
sourceTypeu8What sort of source the killer was.
blobLengthu32How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 87 itemBought, 88 itemSold, 89 itemRemoved, 90 itemUndone, 91 itemCallout, 92 itemChanged, 93 undoChanged, 94 itemSubstituted, 113 minionsSpawned, 114 welcome, 115 startNoticeTwo, 116 startNoticeThree, 120 scoreboardOpened, 146 dragonKilled, 147 dragonKilledWatched, 148 dragonStolen, 149 baronKilled, 150 baronKilledWatched, 151 baronStolen, 152 spiderKilled, 153 spiderKilledWatched, 154 altarCaptured, 155 altarCapturedWatched, 156 wardPlaced, 157 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].damage.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].damage.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 87 or 88 or 89 or 92 or 93 or 154 or 155What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].heal.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].heal.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].effect.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].effect.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 146 or 147 or 148 or 149 or 150 or 151 or 152 or 153The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 146 or 147 or 148 or 149 or 150 or 151 or 152 or 153Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 91The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 94An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
entries[].undorecordevent = 90A purchase taken back.
entries[].undo.itemu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.partu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.refundf32The gold given back. A client takes it off the gold the unit is counted as having spent.
Vectors (1)

one-on-4-13

In 4.14–4.15

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

A client ignores the whole message unless it holds killer. Each entry’s size after event and source follows from event alone. An entry whose target the client does not hold is left out.

FieldTypePresent whenWhat it is
killeru32The unit credited with the death.
spanf32The time the entries below cover, in seconds.
sourceTypeu8What sort of source the killer was.
blobLengthu32How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 91 itemBought, 92 itemSold, 93 itemRemoved, 94 itemUndone, 95 itemCallout, 96 itemChanged, 97 undoChanged, 98 itemSubstituted, 117 minionsSpawned, 118 welcome, 119 startNoticeTwo, 120 startNoticeThree, 124 scoreboardOpened, 150 dragonKilled, 151 dragonKilledWatched, 152 dragonStolen, 153 baronKilled, 154 baronKilledWatched, 155 baronStolen, 156 spiderKilled, 157 spiderKilledWatched, 158 altarCaptured, 159 altarCapturedWatched, 160 wardPlaced, 161 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].damage.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].damage.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 91 or 92 or 93 or 96 or 97 or 158 or 159What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].heal.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].heal.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].effect.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].effect.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 150 or 151 or 152 or 153 or 154 or 155 or 156 or 157The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 150 or 151 or 152 or 153 or 154 or 155 or 156 or 157Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 95The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 98An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
entries[].undorecordevent = 94A purchase taken back.
entries[].undo.itemu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.partu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.refundf32The gold given back. A client takes it off the gold the unit is counted as having spent.
Vectors (1)

one-on-4-14

In 4.16

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

A client ignores the whole message unless it holds killer. Each entry’s size after event and source follows from event alone. An entry whose target the client does not hold is left out.

FieldTypePresent whenWhat it is
killeru32The unit credited with the death.
spanf32The time the entries below cover, in seconds.
sourceTypeu8What sort of source the killer was.
blobLengthu32How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 91 itemBought, 92 itemSold, 93 itemRemoved, 94 itemUndone, 95 itemCallout, 96 itemChanged, 97 undoChanged, 98 itemSubstituted, 118 minionsSpawned, 119 welcome, 120 startNoticeTwo, 121 startNoticeThree, 125 scoreboardOpened, 151 dragonKilled, 152 dragonKilledWatched, 153 dragonStolen, 154 baronKilled, 155 baronKilledWatched, 156 baronStolen, 157 spiderKilled, 158 spiderKilledWatched, 159 altarCaptured, 160 altarCapturedWatched, 161 wardPlaced, 162 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].damage.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].damage.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 91 or 92 or 93 or 96 or 97 or 159 or 160What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].heal.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].heal.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 named, 2 script, 3 passive, 4 basicAttack, 5 cheat.
entries[].effect.scriptu32The spell or effect, by the number its name gives, shown by name.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32What it carries is not recorded for this range; a server writes zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent spell or effect is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7What it means is not recorded for this range; a server writes zero.
entries[].effect.parent.categorybit 8 to 11A client sums two entries of this sort where this, the source kinds and both spells match, and, where this is zero, the subjects match too.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 95The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 98An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
entries[].undorecordevent = 94A purchase taken back.
entries[].undo.itemu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.parts7 × u32What they carry is not recorded for this range; a client does not show them.
entries[].undo.refundf32The gold given back. A client takes it off the gold the unit is counted as having spent.
Vectors (1)

one-on-4-16

In 4.17

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

A client ignores the whole message unless it holds killer. Each entry’s size after event and source follows from event alone. An entry whose target the client does not hold is left out.

FieldTypePresent whenWhat it is
killeru32The unit credited with the death.
spanf32The time the entries below cover, in seconds.
sourceTypeu8What sort of source the killer was.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 91 itemBought, 92 itemSold, 93 itemRemoved, 94 itemUndone, 95 itemCallout, 96 itemChanged, 97 undoChanged, 98 itemSubstituted, 118 minionsSpawned, 119 welcome, 120 startNoticeTwo, 121 startNoticeThree, 125 scoreboardOpened, 151 dragonKilled, 152 dragonKilledWatched, 153 dragonStolen, 154 baronKilled, 155 baronKilledWatched, 156 baronStolen, 157 spiderKilled, 158 spiderKilledWatched, 159 altarCaptured, 160 altarCapturedWatched, 161 wardPlaced, 162 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].damage.sourceObjectu32The unit it came from, or zero.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].damage.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 91 or 92 or 93 or 96 or 97 or 159 or 160What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].heal.sourceObjectu32The unit it came from, or zero.
entries[].heal.amountf32How much health, as shown.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].heal.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].effect.sourceObjectu32The unit it came from, or zero.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].effect.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 95The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 98An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
entries[].undorecordevent = 94A purchase taken back.
entries[].undo.itemu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.parts7 × u32What they carry is not recorded for this range; a client does not show them.
entries[].undo.refundf32The gold given back. A client takes it off the gold the unit is counted as having spent.
Vectors (1)

one-on-4-17

In 4.18–4.19

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

FieldTypePresent whenWhat it is
causeu8What sort of thing did it.
killeru32The unit credited with it.
spanf32The time the entries below cover, in seconds.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 91 itemBought, 92 itemSold, 93 itemRemoved, 94 itemUndone, 95 itemCallout, 96 itemChanged, 97 undoChanged, 98 itemSubstituted, 118 minionsSpawned, 119 welcome, 120 startNoticeTwo, 121 startNoticeThree, 125 scoreboardOpened, 151 dragonKilled, 152 dragonKilledWatched, 153 dragonStolen, 154 baronKilled, 155 baronKilledWatched, 156 baronStolen, 157 spiderKilled, 158 spiderKilledWatched, 159 altarCaptured, 160 altarCapturedWatched, 161 wardPlaced, 162 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].damage.sourceObjectu32The unit it came from, or zero.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].damage.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 91 or 92 or 93 or 96 or 97 or 159 or 160What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].heal.sourceObjectu32The unit it came from, or zero.
entries[].heal.amountf32How much health, as shown.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].heal.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].effect.sourceObjectu32The unit it came from, or zero.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].effect.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 95The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 98An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
entries[].undorecordevent = 94A purchase taken back.
entries[].undo.itemu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.parts7 × u32What they carry is not recorded for this range; a client does not show them.
entries[].undo.refundf32The gold given back. A client takes it off the gold the unit is counted as having spent.
Vectors (1)

one-on-4-18

In 4.20

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

FieldTypePresent whenWhat it is
causeu8What sort of thing did it.
killeru32The unit credited with it.
spanf32The time the entries below cover, in seconds.
entryCountu32How many entries follow.
entriescount in entryCount × recordWhat happened to the unit before it died, packed one after another.
entries[].timef32When it happened, in match seconds.
entries[].countu16How many times.
entries[].eventu8What sort of thing, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 8 singleKill, 9 doubleKill, 15 damageTaken, 16 damageDealt, 23 goldSpent, 24 goldEarned, 25 consumableBought, 26 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 redBuffTaken, 43 blueBuffTaken, 44 nexusKilled, 45 nexusDied, 46 heal, 47 healCast, 48 buff, 49 crowdControl, 50 killingSpree, 57 killDuringSpree, 64 doubleKillDuringSpree, 65 tripleKillDuringSpree, 66 quadraKillDuringSpree, 69 deathAssist, 70 playerQuit, 71 playerLeft, 72 playerReconnected, 91 itemBought, 92 itemSold, 93 itemRemoved, 94 itemUndone, 95 itemCallout, 96 itemChanged, 97 undoChanged, 98 itemSubstituted, 118 minionsSpawned, 119 welcome, 120 startNoticeTwo, 121 startNoticeThree, 125 scoreboardOpened, 151 dragonKilled, 152 dragonKilledWatched, 153 dragonStolen, 154 baronKilled, 155 baronKilledWatched, 156 baronStolen, 157 spiderKilled, 158 spiderKilledWatched, 159 altarCaptured, 160 altarCapturedWatched, 161 wardPlaced, 162 wardKilled.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 5A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 15 or 16How much harm, and from what.
entries[].damage.byParentu8Nonzero to credit it to the parent spell and its caster rather than to the spell and its source unit; where the parent caster is unknown, a client credits the source unit.
entries[].damage.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].damage.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].damage.sourceObjectu32The unit it came from, or zero.
entries[].damage.physicalf32Physical damage.
entries[].damage.magicalf32Magical damage.
entries[].damage.truef32True damage.
entries[].damage.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].damage.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].damage.parent2-byte bitsWhere the spell or effect came from.
entries[].damage.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].damage.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].damage.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].damage.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].damage.parent.unusedbit 15Unused; a server writes zero.
entries[].spentu32event = 23How much gold, as shown.
entries[].valueu32event = 25 or 91 or 92 or 93 or 96 or 97 or 159 or 160What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 26The critical strike’s damage, as shown.
entries[].spreeu32event = 50How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].earned.subDetailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 46 or 47How much health, and from what.
entries[].heal.byParentu8Nonzero to credit it to the parent spell and its caster rather than to the spell and its source unit; where the parent caster is unknown, a client credits the source unit.
entries[].heal.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].heal.sourceObjectu32The unit it came from, or zero.
entries[].heal.amountf32How much health, as shown.
entries[].heal.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].heal.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].heal.parent2-byte bitsWhere the spell or effect came from.
entries[].heal.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].heal.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].heal.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].heal.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].heal.parent.unusedbit 15Unused; a server writes zero.
entries[].effectrecordevent = 48 or 49The effect, and where it came from.
entries[].effect.byParentu8Nonzero to credit it to the parent spell and its caster rather than to the spell and its source unit; where the parent caster is unknown, a client credits the source unit.
entries[].effect.scriptu32The spell, item or effect, by the number its name gives, shown by name.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 character, 4 basicAttack, 5 cheat, 6 unknown.
entries[].effect.sourceObjectu32The unit it came from, or zero.
entries[].effect.parentScriptu32The spell or effect it came from, by the number its name gives, shown by name.
entries[].effect.parentCasteru32The unit that cast that spell or effect, or zero.
entries[].effect.parent2-byte bitsWhere the spell or effect came from.
entries[].effect.parent.sourcebit 0 to 3What sort of source the parent is, numbered as sourceKind is.
entries[].effect.parent.sidebit 4 to 7The side of the parent’s caster.
entries[].effect.parent.categorybit 8 to 11What sort of unit cast the parent: 0 a champion, 1 a minion, 2 a turret, 3 a pet, 4 a clone, 5 unknown. A client sums two entries where this, the source kind and the spell match.
entries[].effect.parent.spellLevelbit 12 to 14The rank of the spell, as shown.
entries[].effect.parent.unusedbit 15Unused; a server writes zero.
entries[].buffrecordevent = 49What an effect of this sort carries.
entries[].buff.buffTypei32What sort of effect.
entries[].buff.durationf32How long it lasted, in seconds.
entries[].assistrecordevent = 69What one unit did toward a death.
entries[].assist.lastHitf32When it last dealt damage, in match seconds.
entries[].assist.physicalf32Physical damage it dealt.
entries[].assist.magicalf32Magical damage it dealt.
entries[].assist.truef32True damage it dealt.
entries[].assist.sharef32What it carries is not recorded for this range; a server writes zero.
entries[].assist.goldf32What it carries is not recorded for this range; a server writes zero.
entries[].assist.creditedu32What it carries is not recorded for this range; a server writes zero.
entries[].killrecordevent = 1 or 2 or 36 or 37 or 38 or 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158The reward, and who shared it.
entries[].kill.goldf32The gold the kill gave.
entries[].kill.assistCountu32How many of the twelve places below name a unit.
entries[].kill.assists12 × u32The units that helped, then zeros.
entries[].monsterrecordevent = 40 or 151 or 152 or 153 or 154 or 155 or 156 or 157 or 158Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].monster.sideu32The side that took it.
entries[].calloutrecordevent = 95The item a player pointed out, shown as the second name followed by the first in brackets.
entries[].callout.itemu32The item, shown by name and number.
entries[].callout.quantityu32How many, shown as two digits.
entries[].callout.firstbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 24As a client lays a short text out: up to fifteen characters ended by a zero byte in the first sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
entries[].substitutionrecordevent = 98An item the shop shows another in place of.
entries[].substitution.enabledu8Nonzero to show the substitute in place of the original from now on; zero to stop.
entries[].substitution.originalu32The item replaced.
entries[].substitution.substituteu32The item shown in its place. A client reads it only where enabled is nonzero; a server otherwise repeats original.
entries[].undorecordevent = 94A purchase taken back.
entries[].undo.itemu32What it carries is not recorded for this range; a client does not show it.
entries[].undo.parts7 × u32What they carry is not recorded for this range; a client does not show them.
entries[].undo.refundf32The gold given back. A client takes it off the gold the unit is counted as having spent.
Vectors (1)

one-on-4-20

InhibitorState

What a server sends to change the state of an inhibitor, and say how long the new state lasts. The header names the unit this is about.

Definition.

In 4.1–4.17

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.1042
4.11–4.1743
FieldTypeWhat it is
state2-byte bits
state.durationbit 0 to 14How long the state lasts, in seconds; zero where alive is set.
state.alivebit 15Set while the inhibitor stands, with duration zero; clear while a state lasts the duration given.
Vectors (2)

one-on-4-10, one-on-4-17

In 4.18–4.20

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

FieldTypeWhat it is
stateu8Which state. A server sends 0 as the inhibitor falls.
durationu16Seconds the state lasts, counted down by the client. After a state of 0, the client announces once that the inhibitor returns soon, when fewer than 15 seconds remain.
Vectors (1)

one-on-4-20

UnitDiedOnMap

What a server sends to say a unit died, for what the client draws on its map rather than on the field. The header names the unit this is about.

Definition.

In 4.20

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

FieldTypeWhat it is
deathDeathHow it died.
Vectors (1)

one-on-4-20

Revived

What a server sends to put a champion back on the field. The header names the unit this is about.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.1046
4.11–4.2047
FieldTypeWhat it is
atXf32Where it returns, along one ground axis, in world units.
atZf32Where it returns, along the other, in world units.
resourcef32What its spendable resource stands at on return.
Vectors (4)

another-on-4-10, one-on-4-10, one-on-4-17, one-on-4-20

Respawned

What a server sends to bring a dead champion back at a place. The header names the champion. A client keeps the champion’s level, experience, gold, maxima and spell ranks, and plays the coming back.

Definition.

In every range of this book

Carried on events, sent by the server, reliable, under these commands:

BuildsCommand
4.1–4.1073
4.11–4.2074

The champion comes back with full health, and for its own champion a client moves the camera onto it where the player asked for that. A client sets the champion on the nearest open ground.

FieldTypeWhat it is
xf32Where it comes back, in world units.
zf32Where it comes back, in world units.
resourcef32Its resource, such as mana, once back.
Vectors (3)

one-on-4-10, one-on-4-17, one-on-4-20

UseObject

What a client sends to use a unit: as its player right-clicks a unit its character data makes usable by them and off its use cooldown. The header names the sender’s champion.

Definition.

In every range of this book

Carried on requests, sent by the client, reliable, under these commands:

BuildsCommand
4.1–4.1057
4.11–4.2058

A client also sends it as a unit its champion is attacking changes side (TeamChanged), whether usable or not.

FieldTypeWhat it is
targetu32The unit to use.
Vectors (3)

one-on-4-10, one-on-4-17, one-on-4-20