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.
In 1.0.0.58–1.0.0.129
A client casts nothing for a casting record whose length disagrees with its count of targets.
In 1.0.0.126–1.0.0.129
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.
In 1.0.0.25–1.0.0.60
A command its player types sends
UpgradeSpellwithout checking anything.
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.
In 1.0.0.25–1.0.0.96
Only a missile that flies straight acts on
MissileHits.
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.25–1.0.0.57
Command 35 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, from 0 to 44. A client still sends a larger slot, its low seven bits only. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The same point, in height, in world units: 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; for a spell that takes no aim it is the caster’s own position, the same as the first. |
| endY | f32 | The second point, in height, in world units: 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. |
In 1.0.0.58–1.0.0.95
Command 35 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, from 0 to 48. A client still sends a larger slot, its low seven bits only. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The same point, in height, in world units: 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; for a spell that takes no aim it is the caster’s own position, the same as the first. |
| endY | f32 | The second point, in height, in world units: 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.96–1.0.0.102
Command 35 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, from 0 to 48. A client sends nothing for a slot above 48. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The same point, in height, in world units: 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; for a spell that takes no aim it is the caster’s own position, the same as the first. |
| endY | f32 | The second point, in height, in world units: 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.103–1.0.0.123
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.103–1.0.0.106 | 36 |
| 1.0.0.107–1.0.0.109 | 37 |
| 1.0.0.110 | 153 |
| 1.0.0.111–1.0.0.116 | 154 |
| 1.0.0.117–1.0.0.118 | 155 |
| 1.0.0.119–1.0.0.123 | 156 |
| 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, from 0 to 50. A client sends nothing for a slot above 50. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The same point, in height, in world units: 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; for a spell that takes no aim it is the caster’s own position, the same as the first. |
| endY | f32 | The second point, in height, in world units: 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. |
In 1.0.0.124–1.0.0.127
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.124 | 160 |
| 1.0.0.125 | 161 |
| 1.0.0.126–1.0.0.127 | 162 |
| 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, from 0 to 51. A client sends nothing for a slot above 51. |
| x | f32 | A point on the ground the cast is described by, along one axis, in world units. |
| y | f32 | The same point, in height, in world units: 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; for a spell that takes no aim it is the caster’s own position, the same as the first. |
| endY | f32 | The second point, in height, in world units: 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 (3)
In 1.0.0.128–1.0.0.129
Command 162 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. |
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.25–1.0.0.57
Command 36 on events, sent by the server, reliable.
There is no byte for ending a charge and no sync id: the casting follows the header at once.
| Field | Type | What it is |
|---|---|---|
| cast | SpellCast | The casting. |
Vectors (1)
In 1.0.0.58–1.0.0.60
Command 36 on events, sent by the server, reliable.
There is no byte for ending a charge and no sync id: the casting is the whole body. A client fails where the casting’s size is wrong, for it then casts with no spell.
| Field | Type | What it is |
|---|---|---|
| cast | SpellCast | The casting. |
Vectors (1)
In 1.0.0.61–1.0.0.80
Command 36 on events, sent by the server, reliable.
There is no byte for ending a charge: the casting follows the sync id. A client fails where the casting’s size is wrong, for it then casts with no spell.
| Field | Type | What it is |
|---|---|---|
| cast | SpellCast | The casting. |
Vectors (3)
In 1.0.0.81–1.0.0.98
Command 36 on events, sent by the server, reliable.
There is no byte for ending a charge: the casting follows the sync id. A client fails where the casting’s size is wrong, for it then casts with no spell.
| 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 (1)
In 1.0.0.99–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.99–1.0.0.102 | 36 |
| 1.0.0.103–1.0.0.106 | 37 |
| 1.0.0.107–1.0.0.109 | 38 |
| 1.0.0.110 | 180 |
| 1.0.0.111–1.0.0.116 | 181 |
| 1.0.0.117–1.0.0.118 | 182 |
| 1.0.0.119–1.0.0.123 | 183 |
| 1.0.0.124 | 187 |
| 1.0.0.125 | 188 |
| 1.0.0.126–1.0.0.127 | 189 |
There is no byte for ending a charge: the casting follows the sync id.
| 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. |
In 1.0.0.128–1.0.0.129
Command 189 on events, sent by the server, reliable.
| 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. |
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.25–1.0.0.109
Command 33 on events, sent by the server, reliable.
It carries no whole cooldown to show the time left against.
| 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. A client fails where it is set for a unit that is not a champion. |
| timeLeft | f32 | How long is left, in seconds. |
Vectors (2)
In 1.0.0.110–1.0.0.123
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.110 | 131 |
| 1.0.0.111–1.0.0.116 | 132 |
| 1.0.0.117–1.0.0.118 | 133 |
| 1.0.0.119–1.0.0.123 | 134 |
It carries no whole cooldown to show the time left against.
| 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 (4)
one-on-1-0-0-110, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123
In 1.0.0.124–1.0.0.127
Command 138 on events, sent by the server, reliable.
It carries no whole cooldown to show the time left against.
| 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 them: for any other unit the bit set has no defined effect. |
| timeLeft | f32 | How long is left, in seconds. |
Vectors (1)
In 1.0.0.128–1.0.0.129
Command 138 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. |
| timeLeft | f32 | How long is left, in seconds. |
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.25–1.0.0.109
Command 33 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| which | 1-byte bits | |
| which.slot | bit 0 to 6 | Which slot. For a slot outside the unit’s range a client sends 0. |
| which.summonerSpell | bit 7 | Set where the slot is one from 4 to 40; slot still carries that slot’s own number. |
| cooldown | f32 | The cooldown set, in seconds. |
Vectors (2)
In 1.0.0.110–1.0.0.129
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.110 | 131 |
| 1.0.0.111–1.0.0.116 | 132 |
| 1.0.0.117–1.0.0.118 | 133 |
| 1.0.0.119–1.0.0.123 | 134 |
| 1.0.0.124–1.0.0.129 | 138 |
| 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-110, one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123
CancelTargeting
What a server sends to end a spell’s targeting on a client. The header names the unit.
In 1.0.0.126–1.0.0.127
Command 139 on events, sent by the server, reliable.
A client cancels the aiming only where that slot, in the book named, is being aimed, and otherwise does nothing.
| 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.128–1.0.0.129
Command 139 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. |
Autocast
What a server sends to set which spells a unit casts by itself. The header names the unit.
In 1.0.0.25–1.0.0.57
Command 40 on events, sent by the server, reliable.
It names one slot: there is no slot for a critical strike.
| Field | Type | What it is |
|---|---|---|
| slot | i8 | The slot cast by itself, from -1 to 44. A client takes a value outside that range as it stands. What -1 does is not recorded. |
In 1.0.0.58–1.0.0.98
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.58–1.0.0.81 | 40 |
| 1.0.0.82–1.0.0.98 | 43 |
It names one slot: there is no slot for a critical strike.
| Field | Type | What it is |
|---|---|---|
| slot | i8 | The slot cast by itself, from -1 to 48. A client takes a value outside that range as it stands. What -1 does is not recorded. |
Vectors (3)
In 1.0.0.99–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.99–1.0.0.102 | 43 |
| 1.0.0.103–1.0.0.106 | 44 |
| 1.0.0.107–1.0.0.109 | 45 |
| 1.0.0.110–1.0.0.123 | 33 |
| 1.0.0.124–1.0.0.127 | 34 |
It names one slot: there is no slot for a critical strike.
| Field | Type | What it is |
|---|---|---|
| slot | i8 | The slot cast by itself, from -1 to 51. A client takes a value outside that range as it stands. What -1 does is not recorded. |
In 1.0.0.128–1.0.0.129
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. |
UpgradeSpell
What a client sends to put a point into a spell. The header names the sender’s champion.
In 1.0.0.25–1.0.0.127
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.25–1.0.0.109 | 18 |
| 1.0.0.110–1.0.0.116 | 59 |
| 1.0.0.117–1.0.0.118 | 60 |
| 1.0.0.119–1.0.0.123 | 61 |
| 1.0.0.124–1.0.0.127 | 62 |
A client takes the point off its own count before it sends this. There is no evolution point.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot is being raised: 0 to 3, for the champion’s own spells, though a client does not hold itself to that range. |
In 1.0.0.128–1.0.0.129
Command 62 on requests, sent by the client, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot is being raised. |
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.25–1.0.0.105
Command 19 on clock, sent by the server, reliable.
A client handles it the same on every channel: it sets the slot’s level and the points left. It does this only for a champion, and nothing for any other unit.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot. |
| level | u8 | The level the spell now stands at. A client takes any level above 5 as 5. |
| pointsLeft | u8 | How many spell points are left unspent. |
Vectors (2)
In 1.0.0.106–1.0.0.109
Command 19 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. A client takes any level above 6 as 6. |
| pointsLeft | u8 | How many spell points are left unspent. |
Vectors (1)
In 1.0.0.110–1.0.0.127
Command 24 on clock, sent by the server, reliable.
On any channel a client sets the slot’s level to level, and the unspent spell points to pointsLeft; it raises the spell no further.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot. |
| level | u8 | The level the spell now stands at. A client takes any level above 6 as 6. |
| pointsLeft | u8 | How many spell points are left unspent. |
Vectors (1)
In 1.0.0.128–1.0.0.129
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. |
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 1.0.0.106–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.106 | 201 |
| 1.0.0.107–1.0.0.108 | 202 |
| 1.0.0.109 | 203 |
| 1.0.0.110–1.0.0.116 | 89 |
| 1.0.0.117–1.0.0.118 | 90 |
| 1.0.0.119–1.0.0.123 | 91 |
| 1.0.0.124–1.0.0.127 | 94 |
It carries no level: a client raises the spell in the slot by one level each time, to at most 6.
| Field | Type | What it is |
|---|---|---|
| slot | u32 | Which slot. A client raises that slot’s level by one, to at most 6. |
In 1.0.0.128–1.0.0.129
Command 94 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | u32 | Which slot. A client raises that slot’s level by one, to at most 6. |
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.124–1.0.0.127
Command 115 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit whose slot this is. A client ignores the message where it does not know the unit. |
| 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.128–1.0.0.129
Command 115 on events, sent by the server, reliable.
| 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. |
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.25–1.0.0.62
Command 132 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 the slot counts among the summoner slots, so that 0 and 1 name those two. A client fails where it is set for a unit that is not a champion. |
| targeting | u8 | How the spell is aimed, 0 to 6. For a larger value a client still writes it onto the slot but builds no aiming for it, which has no defined effect; no value asks for the spell’s own default. |
Vectors (1)
In 1.0.0.63–1.0.0.81
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.63–1.0.0.73 | 135 |
| 1.0.0.74–1.0.0.81 | 136 |
| 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 the slot counts among the summoner slots, so that 0 and 1 name those two. |
| targeting | u8 | How the spell is aimed, 0 to 7. A client keeps a larger value and reports it as an error, but builds no new aiming for it, so the slot keeps the aiming it had; no value asks for the spell’s own default. |
Vectors (3)
In 1.0.0.82–1.0.0.96
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. A champion’s own spells count from 0. |
| which.summonerSlots | bit 7 | Set where the slot counts among the summoner slots, so that 0 and 1 name those two. A client fails where it is set for a unit that is not a champion. |
| targeting | u8 | How the spell is aimed, 0 to 7. A client knows no other value, so a server never sends a larger one; no value asks for the spell’s own default. |
Vectors (1)
In 1.0.0.97–1.0.0.113
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.97 | 141 |
| 1.0.0.98–1.0.0.102 | 142 |
| 1.0.0.103 | 144 |
| 1.0.0.104–1.0.0.106 | 149 |
| 1.0.0.107–1.0.0.108 | 150 |
| 1.0.0.109 | 151 |
| 1.0.0.110–1.0.0.113 | 26 |
| 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 the slot counts among the summoner slots, so that 0 and 1 name those two. |
| targeting | u8 | How the spell is aimed, 0 to 7. A client keeps a larger value and reports it as an error, but builds no new aiming for it, so the slot keeps the aiming it had; no value asks for the spell’s own default. |
In 1.0.0.114–1.0.0.118
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 the slot counts among the summoner slots, so that 0 and 1 name those two. |
| targeting | u8 | How the spell is aimed, 0 to 8. A client keeps a larger value and reports it as an error, but builds no new aiming for it, so the slot keeps the aiming it had; no value asks for the spell’s own default. |
Vectors (1)
In 1.0.0.119–1.0.0.127
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 the slot counts among the summoner slots, so that 0 and 1 name those two. Only a champion has them: for any other unit the bit set has no defined effect. |
| targeting | u8 | How the spell is aimed, 0 to 10. A client keeps a larger value and reports it as an error, but builds no new aiming for it, so the slot keeps the aiming it had; no value asks for the spell’s own default. |
Vectors (1)
In 1.0.0.128–1.0.0.129
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. |
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.25–1.0.0.73
Command 172 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 the slot counts among the summoner slots, so that 0 and 1 name those two. A client fails where it is set for a unit that is not a champion. |
| 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, and treats a name it has no spell for as an error. |
Vectors (1)
In 1.0.0.74–1.0.0.123
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.74–1.0.0.81 | 173 |
| 1.0.0.82–1.0.0.96 | 177 |
| 1.0.0.97 | 178 |
| 1.0.0.98–1.0.0.102 | 179 |
| 1.0.0.103 | 181 |
| 1.0.0.104–1.0.0.106 | 187 |
| 1.0.0.107–1.0.0.108 | 188 |
| 1.0.0.109 | 189 |
| 1.0.0.110–1.0.0.123 | 52 |
| 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 the slot counts among the summoner slots, so that 0 and 1 name those two. |
| 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, and treats a name it has no spell for as an error. |
In 1.0.0.124–1.0.0.127
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 the slot counts among the summoner slots, so that 0 and 1 name those two. Only a champion has them: for any other unit the bit set has no defined effect. |
| 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, and treats a name it has no spell for as an error. |
Vectors (1)
In 1.0.0.128–1.0.0.129
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. |
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.117–1.0.0.123
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 the slot counts among the summoner slots, so that 0 and 1 name those two. |
| icon | u8 | Which icon the spell shows. Any value is accepted. |
Vectors (1)
In 1.0.0.124–1.0.0.127
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 the slot counts among the summoner slots, so that 0 and 1 name those two. Only a champion has them: for any other unit the bit set has no defined effect. |
| icon | u8 | Which icon the spell shows. Any value is accepted. |
Vectors (1)
In 1.0.0.128–1.0.0.129
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. |
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.119–1.0.0.123
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 the slot counts among the summoner slots, so that 0 and 1 name those two. |
| target | u32 | The unit the slot’s targeting indicator works from instead of the caster. A client takes an id it does not hold as no unit. |
Vectors (1)
In 1.0.0.124–1.0.0.127
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 the slot counts among the summoner slots, so that 0 and 1 name those two. Only a champion has them: for any other unit the bit set has no defined effect. |
| target | u32 | The unit the slot’s targeting indicator works from instead of the caster. A client takes an id it does not hold as no unit. |
Vectors (1)
In 1.0.0.128–1.0.0.129
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. |
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.25–1.0.0.62
Command 166 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| entryCount | u16 | How many sets of numbers follow. A client reads every set it names. |
| 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. |
In 1.0.0.63–1.0.0.123
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.63–1.0.0.73 | 166 |
| 1.0.0.74–1.0.0.81 | 167 |
| 1.0.0.82–1.0.0.96 | 171 |
| 1.0.0.97 | 172 |
| 1.0.0.98–1.0.0.102 | 173 |
| 1.0.0.103 | 175 |
| 1.0.0.104–1.0.0.106 | 181 |
| 1.0.0.107–1.0.0.108 | 182 |
| 1.0.0.109 | 183 |
| 1.0.0.110 | 124 |
| 1.0.0.111–1.0.0.116 | 125 |
| 1.0.0.117–1.0.0.118 | 126 |
| 1.0.0.119–1.0.0.123 | 127 |
| Field | Type | What it is |
|---|---|---|
| entryCount | u16 | How many sets of numbers follow. A client ignores the whole message where they do not all fit in it. |
| 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. |
In 1.0.0.124–1.0.0.127
Command 131 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 they do not all fit in it. |
| entries | count in entryCount × record | The sets themselves. A client skips a set naming a unit it does not hold. |
| entries[].unit | u32 | The unit whose spell this is. |
| entries[].slot | u8 | Which slot: 60 to 119 name the unit’s own spell slot, less 60, and 120 and up a summoner slot, less 120, the set skipped for a unit that has none. What 0 to 59 name is not recorded. |
| entries[].values | 3 × f32 | The numbers themselves, one place each. |
Vectors (2)
In 1.0.0.128–1.0.0.129
Command 131 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 | 3 × f32 | The numbers themselves, one place each. |
MissileState
What a server sends to say where a missile is and what it is doing.
In 1.0.0.25–1.0.0.57
Command 63 on events, sent by the server, reliable.
A client reads neither a speed nor a part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. A client places the casting’s second unit, where it holds that unit, where the thrower stood rather than with the casting unit. 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. |
| 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. |
| how | 1-byte bits | |
| how.bounced | bit 0 | Set where the missile has bounced. A client tests the whole byte, so any set bit counts. For a missile it already holds that flies in a straight line, a client then starts the line again from the caster’s position, raised by the missile’s height above the ground, aiming it from where the missile now is. |
| how.unused | bit 1 to 7 | Unused; a server writes zero. |
| cast | SpellCast | The casting that threw it. |
Vectors (1)
In 1.0.0.58–1.0.0.60
Command 63 on events, sent by the server, reliable.
A client reads neither a speed nor a part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. Where the casting names a second unit the client holds, a client aims the casting at that unit’s position; it moves no unit. For a missile that flies straight, casterAt becomes its start point, end and facing are taken as sent, and its velocity is set to carry it from its position to its end at the spell’s own missile speed; for any other missile, a client keeps the velocity as sent, and casterAt, facing, end and bounced have no effect. 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. |
| 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. |
| how | 1-byte bits | |
| how.bounced | bit 0 | Set where the missile has bounced. For a missile that flies straight, a client then sets its end to casterAt raised by the missile’s height above the ground, so it heads back to where the thrower stood; for any other missile it has no effect. |
| how.unused | bit 1 to 7 | Unused; a server writes zero. |
| cast | SpellCast | The casting that threw it. |
Vectors (1)
In 1.0.0.61–1.0.0.81
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.61–1.0.0.71 | 63 |
| 1.0.0.72–1.0.0.73 | 63 |
| 1.0.0.74–1.0.0.78 | 64 |
| 1.0.0.79–1.0.0.81 | 64 |
A client reads neither a speed nor a part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. A client places the casting’s second unit, where it holds that unit, where the thrower stood rather than with the casting unit. 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. |
| 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. |
| 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 (4)
one-on-1-0-0-70, one-on-1-0-0-72, one-on-1-0-0-75, one-on-1-0-0-81
In 1.0.0.82–1.0.0.96
Command 67 on events, sent by the server, reliable.
A client reads no single speed and no part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. A client places the casting’s second unit, where it holds that unit, where the thrower stood rather than with the casting unit. 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. |
| 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. |
| how | 1-byte bits | |
| how.bounced | bit 0 | Set where the missile has bounced. For a missile the client holds that flies straight, a client then sets its end to casterAt raised by the missile’s height above the ground, and its travel to that end less its position; for any other missile the client holds it has no effect. |
| how.unused | bit 1 to 7 | Unused; a server writes zero. |
| cast | SpellCast | The casting that threw it. |
Vectors (1)
In 1.0.0.97–1.0.0.103
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.97–1.0.0.102 | 68 |
| 1.0.0.103 | 69 |
A client reads neither a speed nor a part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. A client places the casting’s second unit, where it holds that unit, where the thrower stood rather than with the casting unit. 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. |
| 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. |
| 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 (2)
In 1.0.0.104–1.0.0.105
Command 69 on events, sent by the server, reliable.
A client reads a speed but no part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. A client places the casting’s second unit, where it holds that unit, where the thrower stood rather than with the casting unit. 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. |
| 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. A client uses it only for a missile that flies in a straight line. |
| 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.106–1.0.0.110
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.106 | 69 |
| 1.0.0.107–1.0.0.109 | 70 |
| 1.0.0.110 | 61 |
A client reads a speed but no part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. 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. |
| 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. A client uses it only for a missile that flies in a straight line. |
| 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 (3)
In 1.0.0.111–1.0.0.123
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.111–1.0.0.116 | 61 |
| 1.0.0.117–1.0.0.118 | 62 |
| 1.0.0.119–1.0.0.123 | 63 |
A client reads both a speed and a part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. 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. A client uses it only for a missile that flies in a straight line. |
| lifeSpent | f32 | How far through the spell’s fixed travel time the missile is, as a part of one. A missile aimed at a unit, or bouncing, paces itself to arrive as that time runs out; with no fixed travel time it has no effect. |
| 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 (3)
In 1.0.0.124–1.0.0.127
Command 65 on events, sent by the server, reliable.
A client reads both a speed and a part of the missile’s life spent. Neither the ground-height rule for endY nor a trail moved on by an age is confirmed. 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. A client uses it only for a missile that flies in a straight line. |
| lifeSpent | f32 | How far through the spell’s fixed travel time the missile is, as a part of one. A missile aimed at a unit, or bouncing, paces itself to arrive as that time runs out; with no fixed travel time it has no effect. |
| how | 1-byte bits | |
| how.bounced | bit 0 | Set where the missile has bounced; a client takes any nonzero byte as set. Only a missile that flies straight uses it; any other missile ignores it, with casterAt, end and 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.128–1.0.0.129
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. |
MissileHits
What a server sends to say which units a missile struck. The header names the missile.
In 1.0.0.25–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.25–1.0.0.73 | 161 |
| 1.0.0.74–1.0.0.81 | 162 |
| 1.0.0.82–1.0.0.96 | 166 |
| 1.0.0.97 | 167 |
| 1.0.0.98–1.0.0.102 | 168 |
| 1.0.0.103 | 170 |
| 1.0.0.104–1.0.0.106 | 176 |
| 1.0.0.107–1.0.0.108 | 177 |
| 1.0.0.109 | 178 |
| 1.0.0.110–1.0.0.123 | 39 |
| 1.0.0.124–1.0.0.127 | 40 |
| Field | Type | What it is |
|---|---|---|
| count | u16 | How many units follow. A client reads it as signed, so a count of zero or above 32767 carries no units, and a server sends at most 32767. |
| targets | count in count × u32 | The units struck, in order. A client still takes a unit it does not know, with nothing shown on it, and nothing after the hit that destroys the missile shows. |
In 1.0.0.128–1.0.0.129
Command 40 on events, sent by the server, reliable.
| 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. |
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.25–1.0.0.62 | 102 |
| 1.0.0.63–1.0.0.73 | 105 |
| 1.0.0.74–1.0.0.81 | 106 |
| 1.0.0.82–1.0.0.96 | 110 |
| 1.0.0.97–1.0.0.102 | 111 |
| 1.0.0.103–1.0.0.106 | 113 |
| 1.0.0.107–1.0.0.108 | 114 |
| 1.0.0.109 | 115 |
| 1.0.0.110–1.0.0.116 | 88 |
| 1.0.0.117–1.0.0.118 | 89 |
| 1.0.0.119–1.0.0.123 | 90 |
| 1.0.0.124–1.0.0.129 | 93 |
No body.
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.25–1.0.0.62
Command 103 on events, sent by the server, reliable.
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; 0 clears every target the client holds, and a count below zero names no targets and clears nothing. A count above 32 has no defined effect. |
| caster | u32 | The unit casting the missile. Where a client does not hold it, the client starts no missile, though a missile it already holds under the header’s name still takes the targets. |
| targets | 32 × u32 | Always 32 slots; those past count have no effect. A slot naming a unit the client does not know is left empty. |
Vectors (1)
In 1.0.0.63–1.0.0.81
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.63–1.0.0.73 | 106 |
| 1.0.0.74–1.0.0.81 | 107 |
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; 0 clears every target the client holds. A client given more than 32 fails. |
| caster | u32 | The unit casting the missile. Where a client does not hold it, the client starts no missile, though a missile it already holds under the header’s name still takes the targets. |
| targets | 32 × u32 | Always 32 slots; those past count have no effect. |
Vectors (3)
In 1.0.0.82–1.0.0.96
Command 111 on events, sent by the server, reliable.
Where the client holds the caster, the caster’s current cast takes the list, whether or not the client holds the missile. A missile the client holds under the header’s name takes the list as well. A client drops the message while the match is still loading.
| Field | Type | What it is |
|---|---|---|
| count | i32 | How many of the slots are used, 0 to 32. 0 clears every target the client holds; a negative value sets none and clears none. Any other count sets that many targets and leaves the rest as they were. A client given more than 32 fails. |
| caster | u32 | The unit casting the missile. Where a client does not hold it, the client starts no missile, though a missile it already holds under the header’s name still takes the targets. |
| targets | 32 × u32 | Always 32 slots; those past count have no effect. |
Vectors (1)
In 1.0.0.97–1.0.0.127
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.97–1.0.0.102 | 112 |
| 1.0.0.103–1.0.0.106 | 114 |
| 1.0.0.107–1.0.0.108 | 115 |
| 1.0.0.109 | 116 |
| 1.0.0.110 | 105 |
| 1.0.0.111–1.0.0.116 | 106 |
| 1.0.0.117–1.0.0.118 | 107 |
| 1.0.0.119–1.0.0.123 | 108 |
| 1.0.0.124–1.0.0.127 | 111 |
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; 0 clears every target the client holds. A client given more than 32 fails. |
| caster | u32 | The unit casting the missile. Where a client does not hold it, the client starts no missile, though a missile it already holds under the header’s name still takes the targets. |
| targets | 32 × u32 | Always 32 slots; those past count have no effect. |
In 1.0.0.128–1.0.0.129
Command 111 on events, sent by the server, reliable.
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. |
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.25–1.0.0.62
Command 63 on requests, sent by the client, reliable.
A client also sends it 209 bytes long, header included, from a missile of its own. That form writes only atX to atZ, velocityX to velocityZ and the cast, and leaves every other byte unwritten.
| 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. |
| 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. |
| 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.63–1.0.0.103
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.63–1.0.0.73 | 63 |
| 1.0.0.74–1.0.0.81 | 64 |
| 1.0.0.82–1.0.0.96 | 67 |
| 1.0.0.97–1.0.0.102 | 68 |
| 1.0.0.103 | 69 |
| 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. |
| 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. |
| 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. |
In 1.0.0.104–1.0.0.110
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.104–1.0.0.106 | 69 |
| 1.0.0.107–1.0.0.109 | 70 |
| 1.0.0.110 | 61 |
| 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. |
| 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. |
| 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 (3)
In 1.0.0.111–1.0.0.125
Carried on requests, sent by the client, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.111–1.0.0.116 | 61 |
| 1.0.0.117–1.0.0.118 | 62 |
| 1.0.0.119–1.0.0.123 | 63 |
| 1.0.0.124–1.0.0.125 | 65 |
| 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. |
| 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 (4)
one-on-1-0-0-116, one-on-1-0-0-117, one-on-1-0-0-123, one-on-1-0-0-124
In 1.0.0.126–1.0.0.129
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. |