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.

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

In 3.01–3.10

A client moves the attacker to the place AttackFrom gives only where it stands more than 400 units from it.

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.

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

In 3.01–3.10

A client ignores an Attack whose target it does not hold.

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 3.01–3.10

Of the other results of Damage, 1 shows nothing, 2 a dodge and 5 a miss; 3 is critical, and 4 and any above 5 are normal.

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

In 3.01–3.10

A swing starts later by the timing byte of its Attack less 128, in hundredths of a second.

The health bar moves as replication states the health.

In 3.10–3.15

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.

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

In 3.01–3.10

TargetHeldChampion marks a unit as attacking the client’s own champion: a client sets the mark only where the message names that champion, and clears it for any other. A client takes it apart from TargetUnit.

Any unit takes TargetUnit, whatever it is attacking.

In 3.10

A client sets the mark of TargetHeldChampion only for a unit on the other side.

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 3.10–3.15

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.

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

In 3.01–3.10

A killer a client does not hold still puts the unit down.

In 3.01–3.10

A death that credits no killer still stops the unit’s cast and attack.

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

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 3.10

A client honours GreyscaleWhenDead whatever its display settings, and restores colour at once as it clears.

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.

In 3.10

Revived and Respawned each place the champion where they say and restore its health and mana. Respawned also acts on a living champion, first stopping its movement, cast and attack.

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.

In 3.10

As a unit changes side, a client sends UseObject naming it for every unit it holds that targets it, whether or not it can be used, and clears that target.

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 every range of this book

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.

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 every range of this book

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.

StopAttack

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

Definition.

In 3.01–3.7

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

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

FieldTypeWhat it is
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 attack’s missile, where it has one.
how.unusedbit 5 to 7Unused; a server writes zero.
Vectors (1)

one-on-3-7

In 3.8–3.15

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

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 (2)

one-on-3-8, one-on-3-11

Damage

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

Definition.

In every range of this book

Command 100 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
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.

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

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

FieldTypeWhat it is
targetu32The unit being attacked, or zero where it is attacking nothing.

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

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

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 (2)

another-on-3-15, one-on-3-15

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

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

FieldTypeWhat it is
targetu32The unit pointed at.
Vectors (2)

another-on-3-15, one-on-3-15

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

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

FieldTypeWhat it is
enabledu80 turns it off; any other value on.
Vectors (2)

another-on-3-15, one-on-3-15

AttackIndicators

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

Definition.

In 3.6–3.15

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

FieldTypeWhat it is
unitu32The unit.
showu8Whether the indicator shows.
minimapu8Whether it shows on the minimap.

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 3.6–3.7

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

FieldTypeWhat it is
championu32The champion.
modeu32Which clicks attack the ground. A client tells no other nonzero value apart. Values: 0 off, 1 move, 2 select.
Vectors (1)

off-on-3-7

In 3.8–3.11

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 (1)

off-on-3-11

In 3.12–3.15

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

FieldTypeWhat it is
championu32The champion.
modeu8Which clicks attack the ground. A client takes 3 as 2, and does nothing different for any other value. Values: 0 off, 1 move, 2 select.
Vectors (1)

off-on-3-12

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 every range of this book

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

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 (1)

one-on-3-15

ChampionDied

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

Definition.

In every range of this book

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

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.

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

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

FieldTypeWhat it is
attackeru32The unit that destroyed it.
lastChampionu32The last champion to have harmed it.
Vectors (3)

a-third-on-3-15, another-on-3-15, one-on-3-15

InhibitorDied

What a server sends when an inhibitor is destroyed. The header names the inhibitor.

Definition.

In 3.01–3.03

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

A client counts one more inhibitor down for the inhibitor’s side and announces it. Only an inhibitor takes it.

FieldTypeWhat it is
attackeru32A client reads it and does nothing with it.
Vectors (1)

one-on-3-03

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.

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 3.12–3.15

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

FieldTypeWhat it is
stayDownf32How long it stays down, in seconds.

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 every range of this book

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

one-on-3-15

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 3.01

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[].eventu8Which event, from 0 to 123, and so which fields follow. Values: 0 removed, 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 78 itemChanged, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 116 dragonKilled, 117 dragonKilledWatched, 118 baronKilled, 119 baronKilledWatched, 120 spiderKilled, 121 spiderKilledWatched, 122 altarCaptured, 123 altarCapturedWatched.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 4A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 14 or 15How 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 item, 2 buff, 3 passive, 4 basicAttack.
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 = 22How much gold, as shown.
entries[].valueu32event = 24 or 76 or 78 or 122 or 123What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 25The critical strike’s damage, as shown.
entries[].spreeu32event = 43How many kills in a row, as shown.
entries[].earnedrecordevent = 23Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].healrecordevent = 40 or 41How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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 = 42The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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[].assistrecordevent = 62What 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 = 1The 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 = 116 or 117 or 118 or 119 or 120 or 121Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].calloutrecordevent = 77The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-01

In 3.02–3.03

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[].eventu8Which event, from 0 to 132, and so which fields follow. Values: 0 removed, 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 78 itemChanged, 97 minionsSpawned, 98 welcome, 99 startNoticeTwo, 100 startNoticeThree, 104 scoreboardOpened, 125 dragonKilled, 126 dragonKilledWatched, 127 baronKilled, 128 baronKilledWatched, 129 spiderKilled, 130 spiderKilledWatched, 131 altarCaptured, 132 altarCapturedWatched.
entries[].sourceu32The unit that did it.
entries[].targetu32The unit it was done to.
entries[].stageu8event = 4A client reads it and shows nothing for it; a server writes zero.
entries[].damagerecordevent = 14 or 15How 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 item, 2 buff, 3 passive, 4 basicAttack.
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 = 22How much gold, as shown.
entries[].valueu32event = 24 or 76 or 78 or 131 or 132What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 25The critical strike’s damage, as shown.
entries[].spreeu32event = 43How many kills in a row, as shown.
entries[].earnedrecordevent = 23Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].healrecordevent = 40 or 41How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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 = 42The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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[].assistrecordevent = 62What 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 = 1The 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 = 125 or 126 or 127 or 128 or 129 or 130Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].calloutrecordevent = 77The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-03

In 3.04–3.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[].eventu8Which event, from 0 to 135, 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, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 killingSpree, 51 killDuringSpree, 58 doubleKillDuringSpree, 59 tripleKillDuringSpree, 60 quadraKillDuringSpree, 63 deathAssist, 64 playerQuit, 65 playerLeft, 66 playerReconnected, 77 itemBought, 78 itemCallout, 79 itemChanged, 98 minionsSpawned, 99 welcome, 100 startNoticeTwo, 101 startNoticeThree, 105 scoreboardOpened, 126 dragonKilled, 127 dragonKilledWatched, 128 baronKilled, 129 baronKilledWatched, 130 spiderKilled, 131 spiderKilledWatched, 132 altarCaptured, 133 altarCapturedWatched, 134 wardPlaced, 135 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 item, 2 buff, 3 passive, 4 basicAttack.
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 77 or 79 or 132 or 133What 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 = 44How many kills in a row, as shown.
entries[].earnedrecordevent = 24Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].healrecordevent = 41 or 42How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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 = 43The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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[].assistrecordevent = 63What 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 34 or 126 or 127 or 128 or 129 or 130 or 131The 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 = 126 or 127 or 128 or 129 or 130 or 131Who took the monster.
entries[].monster.skinHashu32The number the name of the killer’s look gives.
entries[].monster.skini32Which look the killer wears.
entries[].calloutrecordevent = 78The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-5

In 3.6–3.7

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[].eventu8Which event, from 0 to 138, 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, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 129 dragonKilled, 130 dragonKilledWatched, 131 baronKilled, 132 baronKilledWatched, 133 spiderKilled, 134 spiderKilledWatched, 135 altarCaptured, 136 altarCapturedWatched, 137 wardPlaced, 138 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 item, 2 buff, 3 passive, 4 basicAttack.
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 78 or 79 or 80 or 82 or 135 or 136What 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 = 45How 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[].healrecordevent = 41 or 42How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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 = 43 or 44The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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[].extrabytes, 8event = 44What it carries is not recorded for this range; a server writes zero.
entries[].assistrecordevent = 64What 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 34 or 37 or 129 or 130 or 131 or 132 or 133 or 134The 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 = 37 or 129 or 130 or 131 or 132 or 133 or 134Who 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 = 81The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-7

In 3.8

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[].eventu8Which event, from 0 to 140, 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, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 101 minionsSpawned, 102 welcome, 103 startNoticeTwo, 104 startNoticeThree, 108 scoreboardOpened, 131 dragonKilled, 132 dragonKilledWatched, 133 baronKilled, 134 baronKilledWatched, 135 spiderKilled, 136 spiderKilledWatched, 137 altarCaptured, 138 altarCapturedWatched, 139 wardPlaced, 140 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 item, 2 buff, 3 passive, 4 basicAttack.
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 78 or 79 or 80 or 82 or 137 or 138What 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 = 45How 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[].healrecordevent = 41 or 42How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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 = 43 or 44The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 3 passive, 4 basicAttack.
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[].extrabytes, 8event = 44What it carries is not recorded for this range; a server writes zero.
entries[].assistrecordevent = 64What 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 34 or 37 or 131 or 132 or 133 or 134 or 135 or 136The 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 = 37 or 131 or 132 or 133 or 134 or 135 or 136Who 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 = 81The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-8

In 3.9

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[].eventu8Which event, from 0 to 141, 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, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 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 item, 2 buff, 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 78 or 79 or 80 or 82 or 83 or 138 or 139What 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 = 45How 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[].healrecordevent = 41 or 42How much health, and from what.
entries[].heal.amountf32How much health, as shown.
entries[].heal.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 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 = 43 or 44The effect, and where it came from.
entries[].effect.sourceKindu8What sort of source it was. Values: 0 spell, 1 item, 2 buff, 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[].extrabytes, 8event = 44What it carries is not recorded for this range; a server writes zero.
entries[].assistrecordevent = 64What 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 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137The 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 = 37 or 132 or 133 or 134 or 135 or 136 or 137Who 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 = 81The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-9

In 3.10

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[].eventu8Which event, from 0 to 141, 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, 33 turretKilled, 34 turretDied, 35 minionKilled, 36 minionDenied, 37 monsterKilled, 38 largeMonsterKilled, 39 nexusKilled, 40 nexusDied, 41 heal, 42 healCast, 43 buff, 44 crowdControl, 45 killingSpree, 52 killDuringSpree, 59 doubleKillDuringSpree, 60 tripleKillDuringSpree, 61 quadraKillDuringSpree, 64 deathAssist, 65 playerQuit, 66 playerLeft, 67 playerReconnected, 78 itemBought, 79 itemSold, 80 itemRemoved, 81 itemCallout, 82 itemChanged, 83 undoChanged, 102 minionsSpawned, 103 welcome, 104 startNoticeTwo, 105 startNoticeThree, 109 scoreboardOpened, 132 dragonKilled, 133 dragonKilledWatched, 134 baronKilled, 135 baronKilledWatched, 136 spiderKilled, 137 spiderKilledWatched, 138 altarCaptured, 139 altarCapturedWatched, 140 wardPlaced, 141 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 78 or 79 or 80 or 82 or 83 or 138 or 139What 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 = 45How 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[].healrecordevent = 41 or 42How 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 = 43 or 44The 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[].extrabytes, 8event = 44What it carries is not recorded for this range; a server writes zero.
entries[].assistrecordevent = 64What 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 34 or 37 or 132 or 133 or 134 or 135 or 136 or 137The 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 = 37 or 132 or 133 or 134 or 135 or 136 or 137Who 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 = 81The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-10

In 3.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[].eventu8Which event, from 0 to 144, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 81 itemBought, 82 itemSold, 83 itemRemoved, 84 itemCallout, 85 itemChanged, 86 undoChanged, 105 minionsSpawned, 106 welcome, 107 startNoticeTwo, 108 startNoticeThree, 112 scoreboardOpened, 135 dragonKilled, 136 dragonKilledWatched, 137 baronKilled, 138 baronKilledWatched, 139 spiderKilled, 140 spiderKilledWatched, 141 altarCaptured, 142 altarCapturedWatched, 143 wardPlaced, 144 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 = 16 or 17How 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 = 24How much gold, as shown.
entries[].valueu32event = 26 or 81 or 82 or 83 or 85 or 86 or 141 or 142What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 27The critical strike’s damage, as shown.
entries[].spreeu32event = 48How many kills in a row, as shown.
entries[].earnedrecordevent = 25Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 44 or 45How 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 = 46 or 47The 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[].extrabytes, 8event = 47What it carries is not recorded for this range; a server writes zero.
entries[].assistrecordevent = 67What 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 40 or 135 or 136 or 137 or 138 or 139 or 140The 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 135 or 136 or 137 or 138 or 139 or 140Who 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 = 84The 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, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.secondbytes, 28As a client lays a short text out: four bytes it ignores, up to fifteen characters ended by a zero byte in the next sixteen, the length as a u32, then 15 as a u32.
entries[].callout.sideu32The side of the player who pointed it out.
Vectors (1)

one-on-3-11

In 3.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[].eventu8Which event, from 0 to 148, and so which fields follow. Values: 0 removed, 1 spawned, 2 died, 4 championDied, 6 championKill, 7 championKillUnseen, 9 singleKill, 10 doubleKill, 16 damageTaken, 17 damageDealt, 24 goldSpent, 25 goldEarned, 26 consumableBought, 27 criticalStrike, 30 inhibitorKilled, 31 inhibitorDied, 32 inhibitorRespawningSoon, 35 turretKilled, 36 turretDied, 37 turretDamaged, 38 minionKilled, 39 minionDenied, 40 monsterKilled, 41 largeMonsterKilled, 42 nexusKilled, 43 nexusDied, 44 heal, 45 healCast, 46 buff, 47 crowdControl, 48 killingSpree, 55 killDuringSpree, 62 doubleKillDuringSpree, 63 tripleKillDuringSpree, 64 quadraKillDuringSpree, 67 deathAssist, 68 playerQuit, 69 playerLeft, 70 playerReconnected, 85 itemBought, 86 itemSold, 87 itemRemoved, 88 itemCallout, 89 itemChanged, 90 undoChanged, 109 minionsSpawned, 110 welcome, 111 startNoticeTwo, 112 startNoticeThree, 116 scoreboardOpened, 139 dragonKilled, 140 dragonKilledWatched, 141 baronKilled, 142 baronKilledWatched, 143 spiderKilled, 144 spiderKilledWatched, 145 altarCaptured, 146 altarCapturedWatched, 147 wardPlaced, 148 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 = 16 or 17How 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 = 24How much gold, as shown.
entries[].valueu32event = 26 or 85 or 86 or 87 or 89 or 90 or 145 or 146What it carries is not recorded for this range; a client does not show it.
entries[].criticalf32event = 27The critical strike’s damage, as shown.
entries[].spreeu32event = 48How many kills in a row, as shown.
entries[].earnedrecordevent = 25Gold earned.
entries[].earned.goldf32How much gold, as shown.
entries[].earned.detailu32What it carries is not recorded for this range; a server writes zero.
entries[].healrecordevent = 44 or 45How 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 = 46 or 47The 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[].extrabytes, 8event = 47What it carries is not recorded for this range; a server writes zero.
entries[].assistrecordevent = 67What 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 139 or 140 or 141 or 142 or 143 or 144The 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 139 or 140 or 141 or 142 or 143 or 144Who 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 = 88The 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.
Vectors (1)

one-on-3-12

In 3.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[].eventu8Which event, from 0 to 151, 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, 110 minionsSpawned, 111 welcome, 112 startNoticeTwo, 113 startNoticeThree, 117 scoreboardOpened, 140 dragonKilled, 141 dragonKilledWatched, 142 dragonStolen, 143 baronKilled, 144 baronKilledWatched, 145 baronStolen, 146 spiderKilled, 147 spiderKilledWatched, 148 altarCaptured, 149 altarCapturedWatched, 150 wardPlaced, 151 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 148 or 149What 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[].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[].extrabytes, 8event = 48What it carries is not recorded for this range; a server writes zero.
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 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147The 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 140 or 141 or 142 or 143 or 144 or 145 or 146 or 147Who 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.
Vectors (1)

one-on-3-13

In 3.14

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[].eventu8Which event, from 0 to 152, 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, 141 dragonKilled, 142 dragonKilledWatched, 143 dragonStolen, 144 baronKilled, 145 baronKilledWatched, 146 baronStolen, 147 spiderKilled, 148 spiderKilledWatched, 149 altarCaptured, 150 altarCapturedWatched, 151 wardPlaced, 152 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 149 or 150What 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[].extrabytes, 8event = 48What it carries is not recorded for this range; a server writes zero.
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 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148The 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 141 or 142 or 143 or 144 or 145 or 146 or 147 or 148Who 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-3-14

In 3.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[].eventu8Which event, from 0 to 154, 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[].extrabytes, 8event = 48What it carries is not recorded for this range; a server writes zero.
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-3-15

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 every range of this book

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

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.

Revived

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

Definition.

In 3.01–3.8

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

FieldTypeWhat it is
atXf32Where it returns, along one ground axis, in world units.
atYf32Where it returns, in height, in world units. A client places it there as given.
atZf32Where it returns, along the other ground axis, in world units.
resourcef32What its spendable resource stands at on return.
Vectors (1)

one-on-3-8

In 3.9–3.15

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

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.

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 3.01–3.8

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

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, along one ground axis, in world units.
yf32Where it comes back, in height, in world units. A client places it there as given.
zf32Where it comes back, along the other ground axis, in world units.
resourcef32Its resource, such as mana, once back.
Vectors (1)

one-on-3-8

In 3.9–3.15

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

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.

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

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

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.