Spells
Casting, levelling spells, cooldowns, and the missiles casts send out.
Casting
A client asks to cast from one of its champion’s slots with CastSpell, at a
point or at a unit. A server answers with SpellCastAnswer, which says the unit
is casting and carries the whole casting: the spell, its level, its target, its
timings and the missile it will send. A client shows the cast from that answer;
CastSpell alone shows nothing. A server then sets how long until the slot is
ready with SpellCooldown, and, for a spell with uses, how many are left with
SpellCharges. A client reports a cooldown it sets by itself with
CooldownSet.
Which slots a client lets its player cast from at all is a value of the champion’s that replication carries.
A client casts nothing for a casting record whose length disagrees with its count of targets.
The casting record names the spell by the hash of its name, and a client casts nothing for a spell it has not loaded.
A spell held down before it is let go charges where the cast answer leaves its
flags clear. While it charges, a client sends SpellCharge with the cursor’s
position, and once more as the charge ends.
A server ends a spell’s aiming on a client with CancelTargeting, shows and
takes away a spell’s targeter on a client’s own champion with
SpellTargeterShown and SpellTargeterHidden, and sets which spells a unit
casts by itself with Autocast.
Levelling
A client asks to put a point into a spell with UpgradeSpell. A server answers
with SpellUpgraded, and a client shows the new level;
SpellLevel sets a level outright. The spell points a champion has to spend
are what LevelUp carries. A server can set how far each
spell can be raised, and at which champion levels, with SpellRankLimits.
A client spends the point as it sends UpgradeSpell. LevelUp states the
champion’s level and its points.
What a slot holds
SpellInSlot puts a spell in a slot. SpellSlotChanged changes one thing about
a spell already there: how it is aimed, its name, its ranges, its icon, or the
units it is cast from. SpellTargetingChanged, SpellNameChanged,
SpellRangeChanged, SpellIconChanged and SpellOffsetTargetChanged each
change one of these alone, and SpellSlotChangedForOwner changes a slot as
SpellSlotChanged does, for the owner’s client alone. SpellToggled turns a spell on or off, SpellNumbers
fills in the numbers a client shows beside a unit’s spells, and
SpellCostChanged changes what a spell costs. A server can also draw rings
around its player’s cursor with CursorRings.
A marker has no slots. A server MUST NOT send SpellInSlot naming a marker: a
client fails on it, whatever the slot.
Missiles
A missile is named by its own id. MissileState says where one is and what it
is doing, with the casting that sent it; MissileLaunched says the missile a
swing or a cast prepared has left the unit. A server changes what a missile
flies at with MissileRetarget and how fast with MissileSpeed, says what it
struck with MissileHits, and is rid of it with DestroyMissile. A missile that
bounces from unit to unit does so with BounceMissile, and a server can
name in advance the units a chain missile will strike with ChainTargets.
MissileCourse sets where a missile starts and how fast it flies, and restarts
its flight. A client reports where a missile that flies straight is, and where
it is going, with MissileReport, which a server MAY ignore.
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).
CastSpell
What a client sends to cast something from a slot, at a point or at a unit. The header names the sender’s champion.
In 1.0.0.130–1.0.0.138
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 162 |
| 1.0.0.132–1.0.0.134 | 163 |
| 1.0.0.135 | 165 |
| 1.0.0.136–1.0.0.137 | 163 |
| 1.0.0.138 | 165 |
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.summonerSpell | bit 0 | Set where the slot is a summoner spell’s. |
| how.slot | bit 1 to 7 | Which slot is being cast from. A client sends 0, 1 or 2, for the champion’s first three spells. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The height of the place aimed at. |
| z | f32 | The same point, along the other axis, in world units. |
| endX | f32 | The second point of what aims the spell: the same as x and z for a point or a unit; for a line dragged out, its far end, cut to the spell’s length; for a cone, its far point. |
| endY | f32 | The height of where the cast ends. |
| endZ | f32 | The second point, along the other axis, in world units. |
| target | u32 | The unit aimed at; for a spell that takes no aim, the caster itself, with its own position in both points. Zero only where no unit is aimed at. |
Vectors (5)
one-on-1-0-0-131, one-on-1-0-0-134, one-on-1-0-0-135, one-on-1-0-0-136, one-on-1-0-0-138
In 1.0.0.139–1.0.0.143
Command 164 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.summonerSpell | bit 0 | Set where the slot is a summoner spell’s. |
| how.slot | bit 1 to 7 | Which slot is being cast from: whichever slot is being aimed, 0 to 51, the champion’s fourth spell included. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The height of the place aimed at. |
| z | f32 | The same point, along the other axis, in world units. |
| endX | f32 | The second point of what aims the spell: the same as x and z for a point or a unit; for a line dragged out, its far end, cut to the spell’s length; for a cone, its far point. |
| endY | f32 | The height of where the cast ends. |
| endZ | f32 | The second point, along the other axis, in world units. |
| target | u32 | The unit aimed at; for a spell that takes no aim, the caster itself, with its own position in both points. Zero only where no unit is aimed at. |
Vectors (1)
In 1.0.0.144–1.0.0.146
Command 154 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.summonerSpell | bit 0 | Set where the slot is a summoner spell’s. |
| how.slot | bit 1 to 7 | Which slot is being cast from. A client sends 0, 1 or 2, for the champion’s first three spells. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The height of the place aimed at. |
| z | f32 | The same point, along the other axis, in world units. |
| endX | f32 | The second point of what aims the spell: the same as x and z for a point or a unit; for a line dragged out, its far end, cut to the spell’s length; for a cone, its far point. |
| endY | f32 | The height of where the cast ends. |
| endZ | f32 | The second point, along the other axis, in world units. |
| target | u32 | The unit aimed at; for a spell that takes no aim, the caster itself, with its own position in both points. Zero only where no unit is aimed at. |
Vectors (1)
In 1.0.0.147
Command 154 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.slot | bit 0 to 5 | Which slot is being cast from. A client sends 0, 1 or 2, for the champion’s first three spells. |
| how.summonerSpell | bit 6 | Set where the slot is a summoner spell’s. |
| how.clicked | bit 7 | Set where the cast began with a click on the spell’s button rather than its key. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The height of the place aimed at. |
| z | f32 | The same point, along the other axis, in world units. |
| endX | f32 | The second point of what aims the spell: the same as x and z for a point or a unit; for a line dragged out, its far end, cut to the spell’s length; for a cone, its far point. |
| endY | f32 | The height of where the cast ends. |
| endZ | f32 | The second point, along the other axis, in world units. |
| target | u32 | The unit aimed at; for a spell that takes no aim, the caster itself, with its own position in both points. Zero only where no unit is aimed at. |
Vectors (1)
In 1.0.0.148–3.1.0.0
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.148–1.0.0.149 | 154 |
| 1.0.0.150–3.1.0.0 | 151 |
| Field | Type | What it is |
|---|---|---|
| how | 1-byte bits | |
| how.slot | bit 0 to 5 | Which slot is being cast from. A client sends 0, 1 or 2, for the champion’s first three spells. |
| how.summonerSpell | bit 6 | Set where the slot is a summoner spell’s. |
| how.clicked | bit 7 | Set where the cast began with a click on the spell’s button rather than its key. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| z | f32 | The same point, along the other axis, in world units. |
| endX | f32 | The second point of what aims the spell: the same as x and z for a point or a unit; for a line dragged out, its far end, cut to the spell’s length; for a cone, its far point. |
| endZ | f32 | The second point, along the other axis, in world units. |
| target | u32 | The unit aimed at; for a spell that takes no aim, the caster itself, with its own position in both points. Zero only where no unit is aimed at. |
Vectors (2)
SpellCastAnswer
What a server sends to say a unit is casting a spell. The header names the unit casting, as the casting inside does.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 189 |
| 1.0.0.132–1.0.0.134 | 190 |
| 1.0.0.135 | 192 |
| 1.0.0.136–1.0.0.137 | 190 |
| Field | Type | What it is |
|---|---|---|
| syncId | u32 | It settles whether a client brings the caster’s position in line for this cast, and nothing else. |
| cast | SpellCast | The casting. |
Vectors (4)
one-on-1-0-0-131, one-on-1-0-0-134, one-on-1-0-0-135, one-on-1-0-0-136
In 1.0.0.138–1.0.0.146
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.138 | 192 |
| 1.0.0.139–1.0.0.140 | 191 |
| 1.0.0.141–1.0.0.143 | 193 |
| 1.0.0.144–1.0.0.146 | 181 |
| Field | Type | What it is |
|---|---|---|
| syncId | u32 | It settles whether a client brings the caster’s position in line for this cast, and nothing else. |
| endCharge | u8 | Set where the cast ends a charge: a client drops the message unless the caster is charging that same spell. Clear lets a client charge a spell that charges, sending SpellCharge as it does. Any nonzero value sets it. |
| cast | SpellCast | The casting. |
Vectors (4)
one-on-1-0-0-138, one-on-1-0-0-140, one-on-1-0-0-143, one-on-1-0-0-146
In 1.0.0.147–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.147–1.0.0.149 | 181 |
| 1.0.0.150–3.1.0.0 | 178 |
| Field | Type | What it is |
|---|---|---|
| syncId | u32 | It settles whether a client brings the caster’s position in line for this cast, and nothing else. |
| how | 1-byte bits | |
| how.endCharge | bit 0 | Set where the cast ends a charge: a client drops the message unless the caster is charging that same spell. Clear lets a client charge a spell that charges, sending SpellCharge as it does. |
| how.unused | bit 1 to 7 | Unused; a server writes zero. |
| cast | SpellCast | The casting. |
Vectors (2)
SpellCooldown
What a server sends to set how long until one of a unit’s spells is ready. The header names the unit this is about.
In 1.0.0.130–1.0.0.138
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 138 |
| 1.0.0.132–1.0.0.137 | 139 |
| 1.0.0.138 | 141 |
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot counts among the summoner slots, so that 0 and 1 name those two. |
| timeLeft | f32 | How long is left, in seconds. |
Vectors (3)
In 1.0.0.139–1.0.0.141
Command 140 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot counts among the summoner slots, so that 0 and 1 name those two. Only a champion has summoner slots: a server sets it only for a champion, and for any other unit a client fails. |
| timeLeft | f32 | How long is left, in seconds. |
Vectors (1)
In 1.0.0.142–1.0.0.146
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.142–1.0.0.143 | 140 |
| 1.0.0.144–1.0.0.146 | 134 |
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot counts among the summoner slots, so that 0 and 1 name those two. |
| timeLeft | f32 | How long is left, in seconds. |
| then | 1-byte bits | |
| then.speakWhenReady | bit 0 | Set where the champion says something once the wait is over; a client does so for its own champion’s fourth slot. |
| then.unused | bit 1 to 7 | Unused; a server writes zero. |
Vectors (2)
In 1.0.0.147–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.147–1.0.0.149 | 134 |
| 1.0.0.150–3.1.0.0 | 131 |
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 5 | Which slot. |
| which.summonerSpell | bit 6 | Set where the slot counts among the summoner slots, so that 0 and 1 name those two. |
| which.speakWhenReady | bit 7 | Set where the champion says something once the wait is over; a client does so for its own champion’s fourth slot. |
| timeLeft | f32 | How long is left, in seconds. |
Vectors (2)
CooldownSet
What a client sends where a script of its own sets a spell slot’s cooldown. The header names the unit.
In 1.0.0.130–1.0.0.141
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 138 |
| 1.0.0.132–1.0.0.137 | 139 |
| 1.0.0.138 | 141 |
| 1.0.0.139–1.0.0.141 | 140 |
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot counts among the summoner slots, so that 0 and 1 name those two. |
| cooldown | f32 | The cooldown set, in seconds. |
Vectors (4)
one-on-1-0-0-131, one-on-1-0-0-136, one-on-1-0-0-138, one-on-1-0-0-141
In 1.0.0.142–1.0.0.146
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.142–1.0.0.143 | 140 |
| 1.0.0.144–1.0.0.146 | 134 |
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot counts among the summoner slots, so that 0 and 1 name those two. |
| cooldown | f32 | The cooldown set, in seconds. |
| then | 1-byte bits | |
| then.unset | bit 0 | Always clear. |
| then.unused | bit 1 to 7 | Never written by a client. |
Vectors (2)
SpellCharge
What a client sends while its player charges a spell, and as the charge ends. A spell charges where its cast answer (SpellCastAnswer) leaves the end-of-charge flag clear. A client sends updates at the spell’s own interval, at least 0.1 seconds, where the spell has one; it ends the charge as the key is pressed again, or released where casting on release, or as the window loses focus. The header names the sender’s champion.
In 1.0.0.135–1.0.0.137
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.135 | 244 |
| 1.0.0.136–1.0.0.137 | 242 |
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | Which spell, and whether the charge ends. |
| flags.summonerSpell | bit 0 | Set where the slot is a summoner spell’s. |
| flags.slot | bit 1 to 7 | The spell’s slot. |
| x | f32 | Where the cursor points on the ground, in world units. |
| y | f32 | Its height, in world units. |
| z | f32 | Where the cursor points on the ground, in world units. |
Vectors (2)
In 1.0.0.138–1.0.0.146
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.138 | 243 |
| 1.0.0.139–1.0.0.140 | 242 |
| 1.0.0.141–1.0.0.142 | 244 |
| 1.0.0.143 | 243 |
| 1.0.0.144–1.0.0.146 | 230 |
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | Which spell, and whether the charge ends. |
| flags.summonerSpell | bit 0 | Set where the slot is a summoner spell’s. |
| flags.slot | bit 1 to 7 | The spell’s slot. |
| end | u8 | Set as the charge ends, clear for an update. A whole byte. |
| x | f32 | Where the cursor points on the ground, in world units. |
| y | f32 | Its height, in world units. |
| z | f32 | Where the cursor points on the ground, in world units. |
Vectors (5)
one-on-1-0-0-138, one-on-1-0-0-140, one-on-1-0-0-142, one-on-1-0-0-143, one-on-1-0-0-146
In 1.0.0.147–3.1.0.0
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.147–1.0.0.149 | 230 |
| 1.0.0.150–3.1.0.0 | 227 |
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | Which spell, and whether the charge ends. |
| flags.slot | bit 0 to 5 | The spell’s slot. |
| flags.summonerSpell | bit 6 | Set where the slot is a summoner spell’s. |
| flags.end | bit 7 | Set as the charge ends, clear for an update. |
| x | f32 | Where the cursor points on the ground, in world units. |
| y | f32 | Its height, in world units. |
| z | f32 | Where the cursor points on the ground, in world units. |
Vectors (2)
CancelTargeting
What a server sends to end a spell’s targeting on a client. The header names the unit.
In 1.0.0.130–1.0.0.138
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 139 |
| 1.0.0.132–1.0.0.137 | 140 |
| 1.0.0.138 | 142 |
A client cancels the aiming only where that slot is being aimed, and otherwise does nothing. A server sends it to clients watching a match.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | Which spell. |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot is a summoner slot. |
Vectors (3)
In 1.0.0.139–1.0.0.143
Command 141 on events, sent by the server, reliable.
A client cancels the aiming only where that slot is being aimed, and otherwise does nothing. It acts on the message for any champion it holds, watching a match or not.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | Which spell. |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot is a summoner slot. |
Vectors (1)
In 1.0.0.144–1.0.0.146
Command 135 on events, sent by the server, reliable.
A client cancels the aiming only where that slot is being aimed, and otherwise does nothing. A server sends it to clients watching a match.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | Which spell. |
| which.slot | bit 0 to 6 | Which slot. |
| which.summonerSpell | bit 7 | Set where the slot is a summoner slot. |
Vectors (1)
In 1.0.0.147–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.147–1.0.0.149 | 135 |
| 1.0.0.150–3.1.0.0 | 132 |
A client cancels the aiming only where that slot is being aimed, and otherwise does nothing. A server sends it to clients watching a match.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | Which spell. |
| which.slot | bit 0 to 5 | Which slot. |
| which.summonerSpell | bit 6 | Set where the slot is a summoner slot. |
| which.unused | bit 7 | Unused; a server writes zero. |
Vectors (2)
Autocast
What a server sends to set which spells a unit casts by itself. The header names the unit.
In 1.0.0.130–1.0.0.139
Command 34 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | i8 | The slot cast by itself, from 0 to 51; -1 leaves none. |
Vectors (1)
In 1.0.0.140–1.0.0.143
Command 34 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | i8 | The slot cast by itself, from 0 to 51. A client ignores the whole message, setting neither slot, where either is outside that range. |
| criticalSlot | i8 | The slot cast by itself on a critical strike, from 0 to 51. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Command 31 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | i8 | The slot cast by itself, from 0 to 62; any other value leaves it unset. |
| criticalSlot | i8 | The slot cast by itself on a critical strike, under the same terms. |
UpgradeSpell
What a client sends to put a point into a spell. The header names the sender’s champion.
In 1.0.0.130–1.0.0.143
Command 62 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot is being raised. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 59 |
| 1.0.0.150–3.1.0.0 | 56 |
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot is being raised. |
| how | 1-byte bits | |
| how.evolve | bit 0 | Set where the player spends an evolution point on the slot rather than levelling it. |
| how.unused | bit 1 to 7 | Always clear. |
Vectors (1)
SpellUpgraded
What a server sends to confirm a unit’s spell went up a level. The header names the unit this is about.
In 1.0.0.130–1.0.0.143
Command 24 on clock, sent by the server, reliable.
A client takes it the same on every channel: it sets the slot’s level to level, at most 6, and keeps pointsLeft.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot. |
| level | u8 | The level the spell now stands at. |
| pointsLeft | u8 | How many spell points are left unspent. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Command 21 on clock, sent by the server, reliable.
Arriving on the events channel instead, it raises the spell as well, and a client shows the new level either way.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot. |
| level | u8 | The level the spell now stands at. |
| pointsLeft | u8 | How many spell points are left unspent. |
SpellLevel
What a server sends to set the level of one of a unit’s spells. The header names the unit this is about.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 94 |
| 1.0.0.132–1.0.0.137 | 95 |
| 1.0.0.138–1.0.0.143 | 97 |
| 1.0.0.144–1.0.0.149 | 91 |
| 1.0.0.150–3.1.0.0 | 88 |
| Field | Type | What it is |
|---|---|---|
| slot | u32 | Which slot. A client raises that slot’s level by one, to at most 6. |
Vectors (5)
one-on-1-0-0-131, one-on-1-0-0-136, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154
SpellInSlot
What a server sends to put a spell in one of a unit’s slots. A server names in the header the unit this is about.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 115 |
| 1.0.0.132–1.0.0.137 | 116 |
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit whose slot this is. |
| spell | u32 | Which spell, by the number its name gives, as Objects and identifiers works it out. |
| slot | u8 | Which slot. |
Vectors (2)
In 1.0.0.138–1.0.0.143
Command 118 on events, sent by the server, reliable.
A client reads nothing of the header: it acts on unit, and ignores the message where it holds no such unit.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit whose slot this is. |
| spell | u32 | Which spell, by the number its name gives, as Objects and identifiers works it out. |
| slot | u8 | Which slot. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 112 |
| 1.0.0.150–3.1.0.0 | 109 |
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit whose slot this is. |
| spell | u32 | Which spell, by the number its name gives, as Objects and identifiers works it out. |
| slot | u8 | Which slot. |
Vectors (2)
SpellSlotChanged
What a server sends to change one thing about a spell already in a unit’s slot. The kind settles what follows it. The header names the unit this is about.
In 1.0.0.150–1.0.0.151
Command 23 on events, sent by the server, reliable.
| Field | Type | Present when | What it is |
|---|---|---|---|
| which | 1-byte bits | ||
| which.slot | bit 0 to 5 | Which slot. A champion’s own spells count from 0. | |
| which.summonerSlots | bit 6 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. | |
| which.unused | bit 7 | Unused; a server writes zero. | |
| kind | u8 | What changes. A client does nothing for any other value. Values: 0 targeting, 1 name, 2 range, 3 icon, 4 offsetTargets. | |
| name | text, ended by a zero byte | kind = 1 | The name the client loads the spell under, ended by a zero byte. A client shows the named spell’s icon in the slot. |
| targeting | u8 | kind = 0 | How the spell is aimed. |
| range | f32 | kind = 2 | How far the spell is cast, in world units. |
| icon | u8 | kind = 3 | Which icon the spell shows. |
| offsetFrom | u32 | kind = 4 | The unit the slot’s targeting indicator works from instead of the caster, while the client holds it; one it does not hold resets this to none. |
In 1.0.0.152–3.1.0.0
Command 23 on events, sent by the server, reliable.
| Field | Type | Present when | What it is |
|---|---|---|---|
| which | 1-byte bits | ||
| which.slot | bit 0 to 5 | Which slot. A champion’s own spells count from 0. | |
| which.summonerSlots | bit 6 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. | |
| which.unused | bit 7 | Unused; a server writes zero. | |
| kind | u8 | What changes. A client does nothing for any other value. Values: 0 targeting, 1 name, 2 range, 3 icon, 4 offsetTargets. | |
| name | text, ended by a zero byte | kind = 1 | The name the client loads the spell under, ended by a zero byte. A client shows the named spell’s icon in the slot. |
| targeting | u8 | kind = 0 | How the spell is aimed. |
| range | f32 | kind = 2 | How far the spell is cast, in world units. |
| icon | u8 | kind = 3 | Which icon the spell shows. |
| targetCount | u8 | kind = 4 | How many units follow. |
| targets | count in targetCount × u32 | kind = 4 | The units the spell is cast from. |
SpellTargetingChanged
What a server sends to change how a spell already in a unit’s slot is aimed. The header names the unit this is about.
In 1.0.0.130–1.0.0.143
Command 26 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells. Only a champion has summoner slots: a server sets it only for a champion, and for any other unit a client fails. |
| targeting | u8 | How the spell is aimed. |
Vectors (1)
In 1.0.0.144–1.0.0.146
Command 23 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| targeting | u8 | How the spell is aimed. |
Vectors (1)
In 1.0.0.147–1.0.0.149
Command 23 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 5 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 6 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| which.unused | bit 7 | Unused; a server writes zero. |
| targeting | u8 | How the spell is aimed. |
Vectors (1)
SpellNameChanged
What a server sends to put another spell into a slot of a unit’s that already holds one. The header names the unit this is about.
In 1.0.0.130–1.0.0.143
Command 53 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells. Only a champion has summoner slots: a server sets it only for a champion, and for any other unit a client fails. |
| name | text, ended by a zero byte | The name the client loads the spell under, ended by a zero byte. A client shows the named spell’s icon in the slot. |
Vectors (1)
In 1.0.0.144–1.0.0.146
Command 50 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| name | text, ended by a zero byte | The name the client loads the spell under, ended by a zero byte. A client shows the named spell’s icon in the slot. |
Vectors (1)
In 1.0.0.147–1.0.0.149
Command 50 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 5 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 6 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| which.unused | bit 7 | Unused; a server writes zero. |
| name | text, ended by a zero byte | The name the client loads the spell under, ended by a zero byte. A client shows the named spell’s icon in the slot. |
Vectors (1)
SpellRangeChanged
What a server sends to change how far the spell in one of a unit’s slots is cast. The header names the unit.
In 1.0.0.135–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.135 | 243 |
| 1.0.0.136–1.0.0.137 | 241 |
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. |
| which.unused | bit 7 | Unused; a server writes zero. |
| range | f32 | How far the spell is cast from now on, in world units. |
Vectors (2)
SpellIconChanged
What a server sends to change which icon a spell already in a unit’s slot shows. The header names the unit this is about.
In 1.0.0.130–1.0.0.143
Command 54 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells. Only a champion has summoner slots: a server sets it only for a champion, and for any other unit a client fails. |
| icon | u8 | Which icon the spell shows. |
Vectors (1)
In 1.0.0.144–1.0.0.146
Command 51 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| icon | u8 | Which icon the spell shows. |
Vectors (1)
In 1.0.0.147–1.0.0.149
Command 51 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 5 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 6 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| which.unused | bit 7 | Unused; a server writes zero. |
| icon | u8 | Which icon the spell shows. |
Vectors (1)
SpellOffsetTargetChanged
What a server sends to change the unit a spell already in a unit’s slot is cast from. The header names the unit this is about.
In 1.0.0.130–1.0.0.143
Command 55 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells. Only a champion has summoner slots: a server sets it only for a champion, and for any other unit a client fails. |
| target | u32 | The unit the slot’s targeting indicator works from instead of the caster, while the client holds it; one it does not hold resets this to none. |
Vectors (1)
In 1.0.0.144–1.0.0.146
Command 52 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| target | u32 | The unit the slot’s targeting indicator works from instead of the caster, while the client holds it; one it does not hold resets this to none. |
Vectors (1)
In 1.0.0.147–1.0.0.149
Command 52 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 5 | Which slot. A champion’s own spells count from 0. |
| which.summonerSlots | bit 6 | Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it. |
| which.unused | bit 7 | Unused; a server writes zero. |
| target | u32 | The unit the slot’s targeting indicator works from instead of the caster, while the client holds it; one it does not hold resets this to none. |
Vectors (1)
SpellNumbers
What a server sends to fill in the numbers a client shows beside a unit’s spells. The header names no object: a server writes zero.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 131 |
| 1.0.0.132–1.0.0.137 | 132 |
| Field | Type | What it is |
|---|---|---|
| entryCount | u16 | How many sets of numbers follow. |
| entries | count in entryCount × record | The sets themselves. |
| entries[].unit | u32 | The unit whose spell this is. |
| entries[].slot | u8 | Which slot. |
| entries[].values | 3 × f32 | The numbers themselves, one place each. |
Vectors (2)
In 1.0.0.138–1.0.0.143
Command 134 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| entryCount | u16 | How many sets of numbers follow. A client ignores the whole message where that many entries of 17 bytes run past its end. |
| entries | count in entryCount × record | The sets themselves. |
| entries[].unit | u32 | The unit whose spell this is. |
| entries[].slot | u8 | Which slot: 0 to 59 a spell from a separate table of the unit’s other spells; 60 to 119 the unit’s own slot, less 60; 120 and up a summoner slot, less 120. A client skips the entry where the unit has no summoner slots. |
| entries[].values | 3 × f32 | The numbers themselves, one place each. |
Vectors (1)
In 1.0.0.144–1.0.0.153
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 128 |
| 1.0.0.150–1.0.0.153 | 125 |
| Field | Type | What it is |
|---|---|---|
| entryCount | u16 | How many sets of numbers follow. |
| entries | count in entryCount × record | The sets themselves. |
| entries[].unit | u32 | The unit whose spell this is. |
| entries[].slot | u8 | Which slot. |
| entries[].values | 3 × f32 | The numbers themselves, one place each. |
Vectors (2)
In 1.0.0.154–3.1.0.0
Command 125 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| entryCount | u16 | How many sets of numbers follow. |
| entries | count in entryCount × record | The sets themselves. |
| entries[].unit | u32 | The unit whose spell this is. |
| entries[].slot | u8 | Which slot. |
| entries[].values | 5 × f32 | The numbers themselves, one place each. |
Vectors (1)
MissileState
What a server sends to say where a missile is and what it is doing.
In 1.0.0.130–1.0.0.137
Command 65 on events, sent by the server, reliable.
Where the end lies on walkable ground, a client takes the ground’s height there for endY. Where age is not zero, it moves the missile’s trail on by age seconds. The header names the unit casting, as the casting inside does.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the missile is, along one ground axis, in world units. |
| atY | f32 | Where the missile is, in height, in world units. |
| atZ | f32 | Where the missile is, along the other ground axis, in world units. |
| casterAtX | f32 | Where the unit that threw it stood when it left, along one ground axis, in world units. |
| casterAtY | f32 | Where the unit that threw it stood when it left, in height, in world units. |
| casterAtZ | f32 | Where the unit that threw it stood when it left, along the other ground axis, in world units. |
| facingX | f32 | Which way the missile points, along one ground axis. |
| facingY | f32 | Which way the missile points, in height. |
| facingZ | f32 | Which way the missile points, along the other ground axis. |
| velocityX | f32 | How fast the missile travels, along one ground axis, in world units a second. |
| velocityY | f32 | How fast the missile travels, in height, in world units a second. |
| velocityZ | f32 | How fast the missile travels, along the other ground axis, in world units a second. |
| startX | f32 | Where the missile began, along one ground axis, in world units. |
| startY | f32 | Where the missile began, in height, in world units. |
| startZ | f32 | Where the missile began, along the other ground axis, in world units. |
| endX | f32 | Where the missile is bound for, along one ground axis, in world units. |
| endY | f32 | Where the missile is bound for, in height, in world units. |
| endZ | f32 | Where the missile is bound for, along the other ground axis, in world units. |
| unitAtX | f32 | Where to place the casting unit, along one ground axis, in world units, unless the casting itself places it. |
| unitAtY | f32 | Its height, in world units. |
| unitAtZ | f32 | Where to place the casting unit, along the other ground axis, in world units. |
| speed | f32 | How fast the missile travels, in world units a second. |
| lifeSpent | f32 | How much of its life is gone, as a part of one. |
| how | 1-byte bits | |
| how.bounced | bit 0 | Set where the missile has bounced. It applies only where age is above zero: a client then moves the missile to its position and places it again from the caster’s position, the end and the facing. |
| how.unused | bit 1 to 7 | Unused; a server writes zero. |
| cast | SpellCast | The casting that threw it. |
Vectors (1)
In 1.0.0.138–1.0.0.143
Command 65 on events, sent by the server, reliable.
Where the end lies on walkable ground, a client takes the ground’s height there for endY. Where age is not zero, it moves the missile’s trail on by age seconds. The header names the unit casting, as the casting inside does.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the missile is, along one ground axis, in world units. |
| atY | f32 | Where the missile is, in height, in world units. |
| atZ | f32 | Where the missile is, along the other ground axis, in world units. |
| casterAtX | f32 | Where the unit that threw it stood when it left, along one ground axis, in world units. |
| casterAtY | f32 | Where the unit that threw it stood when it left, in height, in world units. |
| casterAtZ | f32 | Where the unit that threw it stood when it left, along the other ground axis, in world units. |
| facingX | f32 | Which way the missile points, along one ground axis. |
| facingY | f32 | Which way the missile points, in height. |
| facingZ | f32 | Which way the missile points, along the other ground axis. |
| velocityX | f32 | How fast the missile travels, along one ground axis, in world units a second. |
| velocityY | f32 | How fast the missile travels, in height, in world units a second. |
| velocityZ | f32 | How fast the missile travels, along the other ground axis, in world units a second. |
| startX | f32 | Where the missile began, along one ground axis, in world units. |
| startY | f32 | Where the missile began, in height, in world units. |
| startZ | f32 | Where the missile began, along the other ground axis, in world units. |
| endX | f32 | Where the missile is bound for, along one ground axis, in world units. |
| endY | f32 | Where the missile is bound for, in height, in world units. |
| endZ | f32 | Where the missile is bound for, along the other ground axis, in world units. |
| unitAtX | f32 | Where to place the casting unit, along one ground axis, in world units, unless the casting itself places it. |
| unitAtY | f32 | Its height, in world units. |
| unitAtZ | f32 | Where to place the casting unit, along the other ground axis, in world units. |
| age | f32 | How long the missile has existed, in seconds. |
| speed | f32 | How fast the missile travels, in world units a second. |
| lifeSpent | f32 | How much of its life is gone, as a part of one. |
| how | 1-byte bits | |
| how.bounced | bit 0 | Set where the missile has bounced. It applies only where age is above zero: a client then moves the missile to its position and places it again from the caster’s position, the end and the facing. |
| how.unused | bit 1 to 7 | Unused; a server writes zero. A client tests the whole byte for bounced, so a set bit here counts as bounced. |
| cast | SpellCast | The casting that threw it. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 61 |
| 1.0.0.150–3.1.0.0 | 58 |
Where the end lies on walkable ground, a client takes the ground’s height there for endY. Where age is not zero, it moves the missile’s trail on by age seconds. The header names the unit casting, as the casting inside does.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the missile is, along one ground axis, in world units. |
| atY | f32 | Where the missile is, in height, in world units. |
| atZ | f32 | Where the missile is, along the other ground axis, in world units. |
| casterAtX | f32 | Where the unit that threw it stood when it left, along one ground axis, in world units. |
| casterAtY | f32 | Where the unit that threw it stood when it left, in height, in world units. |
| casterAtZ | f32 | Where the unit that threw it stood when it left, along the other ground axis, in world units. |
| facingX | f32 | Which way the missile points, along one ground axis. |
| facingY | f32 | Which way the missile points, in height. |
| facingZ | f32 | Which way the missile points, along the other ground axis. |
| velocityX | f32 | How fast the missile travels, along one ground axis, in world units a second. |
| velocityY | f32 | How fast the missile travels, in height, in world units a second. |
| velocityZ | f32 | How fast the missile travels, along the other ground axis, in world units a second. |
| startX | f32 | Where the missile began, along one ground axis, in world units. |
| startY | f32 | Where the missile began, in height, in world units. |
| startZ | f32 | Where the missile began, along the other ground axis, in world units. |
| endX | f32 | Where the missile is bound for, along one ground axis, in world units. |
| endY | f32 | Where the missile is bound for, in height, in world units. |
| endZ | f32 | Where the missile is bound for, along the other ground axis, in world units. |
| unitAtX | f32 | Where to place the casting unit, along one ground axis, in world units, unless the casting itself places it. |
| unitAtY | f32 | Its height, in world units. |
| unitAtZ | f32 | Where to place the casting unit, along the other ground axis, in world units. |
| age | f32 | How long the missile has existed, in seconds. |
| speed | f32 | How fast the missile travels, in world units a second. |
| lifeSpent | f32 | How much of its life is gone, as a part of one. |
| how | 1-byte bits | |
| how.bounced | bit 0 | Set where the missile has bounced. It applies only where age is above zero: a client then moves the missile to its position and places it again from the caster’s position, the end and the facing. |
| how.unused | bit 1 to 7 | Unused; a server writes zero. |
| cast | SpellCast | The casting that threw it. |
Vectors (1)
MissileLaunched
What a server sends as the missile a swing or a cast prepared leaves the unit. The header names the unit swinging or casting.
In 1.0.0.154–3.1.0.0
Command 107 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| missile | u32 | The missile, by the name the swing or cast that prepared it gave it. |
Vectors (1)
MissileRetarget
What a server sends to change what a missile flies at. The header names the missile.
In 1.0.0.140–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.140 | 246 |
| 1.0.0.141–1.0.0.142 | 252 |
| 1.0.0.143 | 251 |
| 1.0.0.144–1.0.0.149 | 238 |
| 1.0.0.150–3.1.0.0 | 235 |
| Field | Type | What it is |
|---|---|---|
| target | u32 | The unit it now flies at, or a name no unit answers to for none. |
| x | f32 | Where it now flies to, along one ground axis, in world units. |
| y | f32 | In height, in world units. |
| z | f32 | Along the other ground axis, in world units. |
Vectors (5)
one-on-1-0-0-140, one-on-1-0-0-142, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154
MissileHits
What a server sends to say which units a missile struck. The header names the missile.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.143 | 40 |
| 1.0.0.144–3.1.0.0 | 37 |
| Field | Type | What it is |
|---|---|---|
| count | u16 | How many units follow. A client reads it as signed, so a count above 32767 carries none. |
| targets | count in count × u32 | The units struck, in order. |
Vectors (1)
DestroyMissile
What a server sends to be rid of a missile a client is drawing. The header names the missile.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 93 |
| 1.0.0.132–1.0.0.137 | 94 |
| 1.0.0.138–1.0.0.143 | 96 |
| 1.0.0.144–1.0.0.149 | 90 |
| 1.0.0.150–3.1.0.0 | 87 |
No body.
Vectors (5)
one-on-1-0-0-131, one-on-1-0-0-136, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154
ChainTargets
What a server sends to name the units a chain missile will strike in turn. The header names the missile.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 111 |
| 1.0.0.132–1.0.0.137 | 112 |
Where the client already holds the missile, the missile takes the list; otherwise the list waits for the caster’s next chain missile.
| Field | Type | What it is |
|---|---|---|
| count | i32 | How many of the slots are used, 0 to 32. |
| caster | u32 | The unit casting the missile. |
| targets | 32 × u32 | Always 32 slots; those past count have no effect. |
Vectors (2)
In 1.0.0.138–1.0.0.143
Command 114 on events, sent by the server, reliable.
A client drops the message unless the match is running, it holds caster, and caster has a cast in progress. It keeps the list for the caster’s next chain missile, even where it already holds the missile.
| Field | Type | What it is |
|---|---|---|
| count | i32 | How many of the slots are used, 0 to 32. |
| caster | u32 | The unit casting the missile. |
| targets | 32 × u32 | Always 32 slots; those past count have no effect. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 108 |
| 1.0.0.150–3.1.0.0 | 105 |
Where the client already holds the missile, the missile takes the list; otherwise the list waits for the caster’s next chain missile.
| Field | Type | What it is |
|---|---|---|
| count | i32 | How many of the slots are used, 0 to 32. |
| caster | u32 | The unit casting the missile. |
| targets | 32 × u32 | Always 32 slots; those past count have no effect. |
Vectors (2)
MissileCourse
What a server sends to set where a missile starts from and how fast it travels, which restarts its flight. The header names the missile.
In 1.0.0.132–1.0.0.134
Command 66 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| driver | u8 | How the missile is driven; only 1, homing, exists. |
| kind | u32 | Must be 1, or the block is ignored. |
| target | u32 | The unit homed on. |
| height | f32 | Added to the target’s height. |
| targetX | f32 | The point homed on, which the client refreshes from the target while it exists. |
| targetY | f32 | Its height. |
| targetZ | f32 | Its other ground axis. |
| motionA | f32 | A value of the homing motion; what it does is not recorded. |
| motionB | f32 | Another. |
| motionC | f32 | Another. |
| motionD | f32 | Another. |
| last | u32 | Kept with the homing; what it does is not recorded. |
Vectors (1)
In 1.0.0.135
Command 66 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| driver | u8 | How the missile is driven; only 1, homing, exists, and for any other value nothing after the velocity is read. |
| fromX | f32 | Where the missile starts, in world units, along one ground axis. |
| fromY | f32 | Where the missile starts, in world units, in height. |
| fromZ | f32 | Where the missile starts, in world units, along the other ground axis. |
| velocityX | f32 | How fast it travels, in world units a second, along one ground axis. |
| velocityY | f32 | How fast it travels, in world units a second, in height. |
| velocityZ | f32 | How fast it travels, in world units a second, along the other ground axis. |
| kind | u32 | Must be 1, or the block below is ignored. |
| target | u32 | The unit homed on. |
| height | f32 | Added to the target’s height. |
| targetX | f32 | The point homed on, which the client refreshes from the target while it exists. |
| targetY | f32 | Its height. |
| targetZ | f32 | Its other ground axis. |
| motionA | f32 | A value of the homing motion; what it does is not recorded. |
| motionB | f32 | Another. |
| motionC | f32 | Another. |
| motionD | f32 | Another. |
| last | u32 | Kept with the homing; what it does is not recorded. |
Vectors (1)
In 1.0.0.136–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.136–1.0.0.143 | 66 |
| 1.0.0.144–1.0.0.149 | 62 |
| 1.0.0.150–3.1.0.0 | 59 |
| Field | Type | What it is |
|---|---|---|
| unused | u8 | Unused; a server writes zero. |
| fromX | f32 | Where the missile starts, in world units, along one ground axis. |
| fromY | f32 | Where the missile starts, in world units, in height. |
| fromZ | f32 | Where the missile starts, in world units, along the other ground axis. |
| velocityX | f32 | How fast it travels, in world units a second, along one ground axis. |
| velocityY | f32 | How fast it travels, in world units a second, in height. |
| velocityZ | f32 | How fast it travels, in world units a second, along the other ground axis. |
Vectors (2)
MissileReport
What a client sends to report where a missile that flies straight is and where it is going. A server need do nothing with it. The header names the missile.
In 1.0.0.130–1.0.0.137
Command 65 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the missile is, in world units, along one ground axis. |
| atY | f32 | Where the missile is, in world units, in height. |
| atZ | f32 | Where the missile is, in world units, along the other ground axis. |
| unknownAX | f32 | casterAt from the last MissileState the client took for this missile, returned as it came. |
| unknownAY | f32 | casterAt from the last MissileState the client took for this missile, returned as it came. |
| unknownAZ | f32 | casterAt from the last MissileState the client took for this missile, returned as it came. |
| travelX | f32 | Its end less its start, in world units, along one ground axis. |
| travelY | f32 | Its end less its start, in world units, in height. |
| travelZ | f32 | Its end less its start, in world units, along the other ground axis. |
| velocityX | f32 | How fast it travels, in world units a second, along one ground axis. |
| velocityY | f32 | How fast it travels, in world units a second, in height. |
| velocityZ | f32 | How fast it travels, in world units a second, along the other ground axis. |
| unknownBX | f32 | A client leaves it unwritten; its bytes carry no meaning. |
| unknownBY | f32 | A client leaves it unwritten; its bytes carry no meaning. |
| unknownBZ | f32 | A client leaves it unwritten; its bytes carry no meaning. |
| endX | f32 | Where it ends, in world units, along one ground axis. |
| endY | f32 | Where it ends, in world units, in height. |
| endZ | f32 | Where it ends, in world units, along the other ground axis. |
| targetX | f32 | Where its target is, or the point it aims at, in world units, along one ground axis. |
| targetY | f32 | Where its target is, or the point it aims at, in world units, in height. |
| targetZ | f32 | Where its target is, or the point it aims at, in world units, along the other ground axis. |
| age | f32 | How long since it was launched, in seconds. |
| unset | bytes, 4 | A client writes nothing in particular here. |
| flag | u8 | The whole how byte of the last MissileState the client took for this missile, returned as it came. |
| cast | bytes, sized by remaining | A description of the cast the missile belongs to, at most 512 bytes. |
Vectors (1)
In 1.0.0.138–1.0.0.143
Command 65 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the missile is, in world units, along one ground axis. |
| atY | f32 | Where the missile is, in world units, in height. |
| atZ | f32 | Where the missile is, in world units, along the other ground axis. |
| unknownAX | f32 | What this holds is not recorded. |
| unknownAY | f32 | What this holds is not recorded. |
| unknownAZ | f32 | What this holds is not recorded. |
| travelX | f32 | Its end less its start, in world units, along one ground axis. |
| travelY | f32 | Its end less its start, in world units, in height. |
| travelZ | f32 | Its end less its start, in world units, along the other ground axis. |
| velocityX | f32 | How fast it travels, in world units a second, along one ground axis. |
| velocityY | f32 | How fast it travels, in world units a second, in height. |
| velocityZ | f32 | How fast it travels, in world units a second, along the other ground axis. |
| unknownBX | f32 | A client leaves it unwritten; its bytes carry no meaning. |
| unknownBY | f32 | A client leaves it unwritten; its bytes carry no meaning. |
| unknownBZ | f32 | A client leaves it unwritten; its bytes carry no meaning. |
| endX | f32 | Where it ends, in world units, along one ground axis. |
| endY | f32 | Where it ends, in world units, in height. |
| endZ | f32 | Where it ends, in world units, along the other ground axis. |
| targetX | f32 | Where its target is, or the point it aims at, in world units, along one ground axis. |
| targetY | f32 | Where its target is, or the point it aims at, in world units, in height. |
| targetZ | f32 | Where its target is, or the point it aims at, in world units, along the other ground axis. |
| age | f32 | How long since it was launched, in seconds. |
| speed | f32 | How fast it travels, in world units a second. |
| unset | bytes, 4 | A client writes nothing in particular here. |
| flag | u8 | Zero or one; what it means is not recorded. |
| cast | bytes, sized by remaining | A description of the cast the missile belongs to, at most 512 bytes. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 61 |
| 1.0.0.150–3.1.0.0 | 58 |
| Field | Type | What it is |
|---|---|---|
| atX | f32 | Where the missile is, in world units, along one ground axis. |
| atY | f32 | Where the missile is, in world units, in height. |
| atZ | f32 | Where the missile is, in world units, along the other ground axis. |
| unknownAX | f32 | What this holds is not recorded. |
| unknownAY | f32 | What this holds is not recorded. |
| unknownAZ | f32 | What this holds is not recorded. |
| travelX | f32 | Its end less its start, in world units, along one ground axis. |
| travelY | f32 | Its end less its start, in world units, in height. |
| travelZ | f32 | Its end less its start, in world units, along the other ground axis. |
| velocityX | f32 | How fast it travels, in world units a second, along one ground axis. |
| velocityY | f32 | How fast it travels, in world units a second, in height. |
| velocityZ | f32 | How fast it travels, in world units a second, along the other ground axis. |
| unknownBX | f32 | What this holds is not recorded. |
| unknownBY | f32 | What this holds is not recorded. |
| unknownBZ | f32 | What this holds is not recorded. |
| endX | f32 | Where it ends, in world units, along one ground axis. |
| endY | f32 | Where it ends, in world units, in height. |
| endZ | f32 | Where it ends, in world units, along the other ground axis. |
| targetX | f32 | Where its target is, or the point it aims at, in world units, along one ground axis. |
| targetY | f32 | Where its target is, or the point it aims at, in world units, in height. |
| targetZ | f32 | Where its target is, or the point it aims at, in world units, along the other ground axis. |
| age | f32 | How long since it was launched, in seconds. |
| speed | f32 | How fast it travels, in world units a second. |
| unset | bytes, 4 | A client writes nothing in particular here. |
| flag | u8 | Zero or one; what it means is not recorded. |
| cast | bytes, sized by remaining | A description of the cast the missile belongs to, at most 512 bytes. |