Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

In 3.10–3.15

A client asks only where the champion has a point to spend, is of the level the slot requires, and the spell is below its highest level. A request a server never answers leaves the level as it was and the point spent, until the next SpellUpgraded or LevelUp.

In 3.10

A client also sends UpgradeSpell for a point of a separate kind the champion holds, and spends no spell point for it.

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.

Definition.

In every range of this book

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

FieldTypeWhat it is
how1-byte bits
how.slotbit 0 to 5Which slot is being cast from. A client sends 0, 1 or 2, for the champion’s first three spells.
how.summonerSpellbit 6Set where the slot is a summoner spell’s.
how.clickedbit 7Set where the cast began with a click on the spell’s button rather than its key.
xf32A point on the ground the cast is described by, along one axis, in world units.
zf32The same point, along the other axis, in world units.
endXf32The 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.
endZf32The second point, along the other axis, in world units.
targetu32The 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)

one-on-3-15

SpellCastAnswer

What a server sends to say a unit is casting a spell. The header names the unit casting, as the casting inside does.

Definition.

In every range of this book

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

FieldTypeWhat it is
syncIdu32It settles whether a client brings the caster’s position in line for this cast, and nothing else.
how1-byte bits
how.endChargebit 0Set 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.unusedbit 1 to 7Unused; a server writes zero.
castSpellCastThe casting.
Vectors (4)

one-on-3-7, one-on-3-10, one-on-3-11, one-on-3-13

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.

Definition.

In 3.01–3.11

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

FieldTypeWhat it is
which1-byte bits
which.slotbit 0 to 5Which slot.
which.summonerSpellbit 6Set where the slot counts among the summoner slots, so that 0 and 1 name those two.
which.speakWhenReadybit 7Set where the champion says something once the wait is over; a client does so for its own champion’s fourth slot.
timeLeftf32How long is left, in seconds.
Vectors (1)

one-on-3-11

In 3.12–3.13

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

FieldTypeWhat it is
which1-byte bits
which.slotbit 0 to 5Which slot.
which.summonerSpellbit 6Set where the slot counts among the summoner slots, so that 0 and 1 name those two.
which.unusedbit 7Unused; a server writes zero.
timeLeftf32How long is left, in seconds.
Vectors (1)

one-on-3-13

In 3.14–3.15

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

FieldTypeWhat it is
which1-byte bits
which.slotbit 0 to 5Which slot.
which.summonerSpellbit 6Set where the slot counts among the summoner slots, so that 0 and 1 name those two.
which.unusedbit 7Unused; a server writes zero.
timeLeftf32How long is left, in seconds.
outOff32The whole cooldown the time left is shown against, taken only where above zero and above timeLeft; otherwise, as for -1, a client keeps its own, replacing it with timeLeft only where that is larger or the spell was not cooling down.
Vectors (1)

one-on-3-15

SpellCharges

What a server sends to say how many uses one of a unit’s spells has left and when the next returns. The header names the unit this is about.

Definition.

In 3.8–3.15

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

FieldTypeWhat it is
summonerSpellu8Whether the slot is a summoner slot rather than one of the unit’s own. Values: 0 no, 1 yes.
slotu32Which slot.
chargesi32How many uses are left.
mostChargesi32How many charges the slot can hold: any value below zero, -1 among them, keeps the spell’s own figure for its level; 0 has the slot use no charges; anything above zero is that many.
rechargeForf32How long the next use has been coming back, in seconds.
rechargeTimef32How long a use takes to come back, in seconds.

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.

Definition.

In every range of this book

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

FieldTypeWhat it is
flags1-byte bitsWhich spell, and whether the charge ends.
flags.slotbit 0 to 5The spell’s slot.
flags.summonerSpellbit 6Set where the slot is a summoner spell’s.
flags.endbit 7Set as the charge ends, clear for an update.
xf32Where the cursor points on the ground, in world units.
yf32Its height, in world units.
zf32Where the cursor points on the ground, in world units.
Vectors (1)

one-on-3-15

CancelTargeting

What a server sends to end a spell’s targeting on a client. The header names the unit.

Definition.

In every range of this book

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

FieldTypeWhat it is
which1-byte bitsWhich spell.
which.slotbit 0 to 5Which slot.
which.summonerSpellbit 6Set where the slot is a summoner slot.
which.unusedbit 7Unused; a server writes zero.
Vectors (1)

one-on-3-15

Autocast

What a server sends to set which spells a unit casts by itself. The header names the unit.

Definition.

In every range of this book

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

FieldTypeWhat it is
sloti8The slot cast by itself, from 0 to 62; any other value leaves it unset.
criticalSloti8The 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.

Definition.

In every range of this book

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

FieldTypeWhat it is
slotu8Which slot is being raised.
how1-byte bits
how.evolvebit 0Set where the player spends an evolution point on the slot rather than levelling it.
how.unusedbit 1 to 7Always clear.

SpellUpgraded

What a server sends to confirm a unit’s spell went up a level. The header names the unit this is about.

Definition.

In every range of this book

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.

FieldTypeWhat it is
slotu8Which slot.
levelu8The level the spell now stands at.
pointsLeftu8How 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.

Definition.

In every range of this book

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

FieldTypeWhat it is
slotu32Which slot. A client raises that slot’s level by one, to at most 6.

SpellRankLimits

What a server sends its player’s champion to set how far each spell can be raised, and at which levels. The header names the champion. In the tutorial they have no effect.

Definition.

In 3.10–3.15

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

FieldTypeWhat it is
maxRanks4 × u8Each spell’s highest rank.
levels24 × u8Six per slot, slot 0 first: the level a champion needs to raise that spell from rank 0, 1, 2, 3, 4 and 5 in turn.

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.

Definition.

In every range of this book

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

FieldTypeWhat it is
unitu32The unit whose slot this is.
spellu32Which spell, by the number its name gives, as Objects and identifiers works it out.
slotu8Which slot.

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.

Definition.

In 3.01–3.7

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

FieldTypePresent whenWhat it is
which1-byte bits
which.slotbit 0 to 5Which slot. A champion’s own spells count from 0.
which.summonerSlotsbit 6Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it.
which.unusedbit 7Unused; a server writes zero.
kindu8What changes. A client does nothing for any other value. Values: 0 targeting, 1 name, 2 range, 3 icon, 4 offsetTargets.
nametext, ended by a zero bytekind = 1The name the client loads the spell under, ended by a zero byte. A client shows the named spell’s icon in the slot.
targetingu8kind = 0How the spell is aimed.
rangef32kind = 2How far the spell is cast, in world units.
iconu8kind = 3Which icon the spell shows.
targetCountu8kind = 4How many units follow.
targetscount in targetCount × u32kind = 4The units the spell is cast from.
Vectors (6)

icon-on-3-7, name-on-3-7, offset-targets-on-3-7, one-on-3-7, range-on-3-7, targeting-on-3-7

In 3.8–3.15

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

FieldTypePresent whenWhat it is
which1-byte bits
which.slotbit 0 to 5Which slot. A champion’s own spells count from 0.
which.summonerSlotsbit 6Set where slot names a summoner spell’s slot, clear for the unit’s own spells; every kind obeys it.
which.unusedbit 7Unused; a server writes zero.
kindu8What changes. A client does nothing for any other value. Values: 0 targeting, 1 name, 2 range, 3 maxRange, 4 shownRange, 5 icon, 6 offsetTargets.
nametext, ended by a zero bytekind = 1The name the client loads the spell under, ended by a zero byte. A client shows the named spell’s icon in the slot.
targetingu8kind = 0How the spell is aimed.
rangef32kind = 2How far the spell is cast, in world units.
maxRangef32kind = 3The farthest the spell’s cast range can grow to, in world units.
shownRangef32kind = 4The range its range indicator shows, in world units.
iconu8kind = 5Which icon the spell shows.
targetCountu8kind = 6How many units follow.
targetscount in targetCount × u32kind = 6The units the spell is cast from.

SpellToggled

What a server sends to turn one of a unit’s spells on or off. The header names the unit this is about.

Definition.

In 3.13–3.15

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

FieldTypeWhat it is
slotu32Which of the champion’s own spells, 0 to 62; a client ignores any other value. Summoner spells are never toggled by it.
stateu8Nonzero to toggle the spell on, zero off.

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.

Definition.

In 3.01–3.14

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

FieldTypeWhat it is
entryCountu16How many sets of numbers follow.
entriescount in entryCount × recordThe sets themselves.
entries[].unitu32The unit whose spell this is.
entries[].slotu8Which slot.
entries[].values5 × f32The numbers themselves, one place each.
Vectors (3)

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

In 3.15

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

FieldTypeWhat it is
entryCountu16How many sets of numbers follow.
entriescount in entryCount × recordThe sets themselves.
entries[].unitu32The unit whose spell this is.
entries[].slotu8Which slot.
entries[].values5 × f32The numbers themselves, one place each.
entries[].hidden5 × u8Which of those places the other side is not shown, one for each.
Vectors (3)

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

SpellCostChanged

What a server sends to change what a spell costs the player it is sent to. The header names that player’s champion.

Definition.

In 3.7

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

FieldTypeWhat it is
costTypeu32How the amount applies. Values: 0 flat, 1 multiplier.
sloti32Which spell slot.
amountf32The amount.
Vectors (1)

multiplier-on-3-7

In 3.8–3.15

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

FieldTypeWhat it is
costTypeu8How the amount applies. Values: 0 flat, 1 multiplier.
sloti32Which spell slot.
amountf32The amount.

CursorRings

What a server sends its player’s champion to draw rings around the cursor while no spell is being aimed. The header names the champion.

Definition.

In 3.9–3.15

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

FieldTypeWhat it is
radiusf32The ring’s radius, in world units. Zero or less draws neither ring.
secondRadiusf32A second ring’s radius, in world units, drawn where above zero.

MissileState

What a server sends to say where a missile is and what it is doing.

Definition.

In 3.01–3.8

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

FieldTypeWhat it is
atXf32Where the missile is, along one ground axis, in world units.
atYf32Where the missile is, in height, in world units.
atZf32Where the missile is, along the other ground axis, in world units.
casterAtXf32Where the unit that threw it stood when it left, along one ground axis, in world units.
casterAtYf32Where the unit that threw it stood when it left, in height, in world units.
casterAtZf32Where the unit that threw it stood when it left, along the other ground axis, in world units.
facingXf32Which way the missile points, along one ground axis.
facingYf32Which way the missile points, in height.
facingZf32Which way the missile points, along the other ground axis.
velocityXf32How fast the missile travels, along one ground axis, in world units a second.
velocityYf32How fast the missile travels, in height, in world units a second.
velocityZf32How fast the missile travels, along the other ground axis, in world units a second.
startXf32Where the missile began, along one ground axis, in world units.
startYf32Where the missile began, in height, in world units.
startZf32Where the missile began, along the other ground axis, in world units.
endXf32Where the missile is bound for, along one ground axis, in world units.
endYf32Where the missile is bound for, in height, in world units.
endZf32Where the missile is bound for, along the other ground axis, in world units.
unitAtXf32Where to place the casting unit, along one ground axis, in world units, unless the casting itself places it.
unitAtYf32Its height, in world units.
unitAtZf32Where to place the casting unit, along the other ground axis, in world units.
agef32How long the missile has existed, in seconds.
speedf32How fast the missile travels, in world units a second.
lifeSpentf32How much of its life is gone, as a part of one.
how1-byte bits
how.bouncedbit 0Set 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.unusedbit 1 to 7Unused; a server writes zero.
castSpellCastThe casting that threw it.
Vectors (2)

one-on-3-7, one-on-3-8

In 3.9–3.15

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

FieldTypeWhat it is
atXf32Where the missile is, along one ground axis, in world units.
atYf32Where the missile is, in height, in world units.
atZf32Where the missile is, along the other ground axis, in world units.
casterAtXf32Where the unit that threw it stood when it left, along one ground axis, in world units.
casterAtYf32Where the unit that threw it stood when it left, in height, in world units.
casterAtZf32Where the unit that threw it stood when it left, along the other ground axis, in world units.
facingXf32Which way the missile points, along one ground axis.
facingYf32Which way the missile points, in height.
facingZf32Which way the missile points, along the other ground axis.
velocityXf32How fast the missile travels, along one ground axis, in world units a second.
velocityYf32How fast the missile travels, in height, in world units a second.
velocityZf32How fast the missile travels, along the other ground axis, in world units a second.
startXf32Where the missile began, along one ground axis, in world units.
startYf32Where the missile began, in height, in world units.
startZf32Where the missile began, along the other ground axis, in world units.
endXf32Where the missile is bound for, along one ground axis, in world units.
endYf32Where the missile is bound for, in height, in world units.
endZf32Where the missile is bound for, along the other ground axis, in world units.
unitAtXf32Where to place the casting unit, along one ground axis, in world units, unless the casting itself places it.
unitAtYf32Its height, in world units.
unitAtZf32Where to place the casting unit, along the other ground axis, in world units.
agef32How long the missile has existed, in seconds.
speedf32How fast the missile travels, in world units a second.
lifeSpentf32How much of its life is gone, as a part of one.
speedChangef32What is added to that speed over the time below, in world units a second.
speedChangeTimef32When the speed changes, in seconds from when the client creates the missile: once that much time has passed, a client adds the change to the speed, once. Where the speed never changes, a server sends the largest finite float, 340282346638528859811704183484516925440; zero or less takes effect at once.
how1-byte bits
how.bouncedbit 0Set 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.unusedbit 1 to 7Unused; a server writes zero.
castSpellCastThe casting that threw it.
Vectors (3)

one-on-3-10, one-on-3-11, one-on-3-12

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.

Definition.

In every range of this book

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

FieldTypeWhat it is
missileu32The missile, by the name the swing or cast that prepared it gave it.

MissileRetarget

What a server sends to change what a missile flies at. The header names the missile.

Definition.

In every range of this book

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

FieldTypeWhat it is
targetu32The unit it now flies at, or a name no unit answers to for none.
xf32Where it now flies to, along one ground axis, in world units.
yf32In height, in world units.
zf32Along the other ground axis, in world units.
Vectors (2)

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

MissileSpeed

What a server sends to change how fast a missile flies. The header names the missile.

Definition.

In 3.9–3.15

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

FieldTypeWhat it is
speedf32The new speed, in world units a second.
delayf32How long before it applies, in seconds.

MissileHits

What a server sends to say which units a missile struck. The header names the missile.

Definition.

In every range of this book

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

FieldTypeWhat it is
countu16How many units follow. A client reads it as signed, so a count above 32767 carries none.
targetscount in count × u32The units struck, in order.
Vectors (2)

one-on-3-01, one-on-3-11

DestroyMissile

What a server sends to be rid of a missile a client is drawing. The header names the missile.

Definition.

In every range of this book

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

No body.

BounceMissile

What a server sends as a missile bounces on to another unit. The header names the missile.

Definition.

In 3.14–3.15

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

FieldTypeWhat it is
targetu32The unit it now flies at.
fromXf32Where it bounces from, along one ground axis, in world units.
fromYf32Where it bounces from, in height, in world units.
fromZf32Where it bounces from, along the other ground axis, in world units.

ChainTargets

What a server sends to name the units a chain missile will strike in turn. The header names the missile.

Definition.

In every range of this book

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

FieldTypeWhat it is
counti32How many of the slots are used, 0 to 32.
casteru32The unit casting the missile.
targets32 × u32Always 32 slots; those past count have no effect.

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.

Definition.

In every range of this book

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

FieldTypeWhat it is
unusedu8Unused; a server writes zero.
fromXf32Where the missile starts, in world units, along one ground axis.
fromYf32Where the missile starts, in world units, in height.
fromZf32Where the missile starts, in world units, along the other ground axis.
velocityXf32How fast it travels, in world units a second, along one ground axis.
velocityYf32How fast it travels, in world units a second, in height.
velocityZf32How fast it travels, in world units a second, along the other ground axis.

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.

Definition.

In 3.01–3.8

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

FieldTypeWhat it is
atXf32Where the missile is, in world units, along one ground axis.
atYf32Where the missile is, in world units, in height.
atZf32Where the missile is, in world units, along the other ground axis.
unknownAXf32What this holds is not recorded.
unknownAYf32What this holds is not recorded.
unknownAZf32What this holds is not recorded.
travelXf32Its end less its start, in world units, along one ground axis.
travelYf32Its end less its start, in world units, in height.
travelZf32Its end less its start, in world units, along the other ground axis.
velocityXf32How fast it travels, in world units a second, along one ground axis.
velocityYf32How fast it travels, in world units a second, in height.
velocityZf32How fast it travels, in world units a second, along the other ground axis.
unknownBXf32What this holds is not recorded.
unknownBYf32What this holds is not recorded.
unknownBZf32What this holds is not recorded.
endXf32Where it ends, in world units, along one ground axis.
endYf32Where it ends, in world units, in height.
endZf32Where it ends, in world units, along the other ground axis.
targetXf32Where its target is, or the point it aims at, in world units, along one ground axis.
targetYf32Where its target is, or the point it aims at, in world units, in height.
targetZf32Where its target is, or the point it aims at, in world units, along the other ground axis.
agef32How long since it was launched, in seconds.
speedf32How fast it travels, in world units a second.
unsetbytes, 4A client writes nothing in particular here.
flagu8Zero or one; what it means is not recorded.
castbytes, sized by remainingA description of the cast the missile belongs to, at most 512 bytes.
Vectors (1)

one-on-3-8

In 3.9–3.15

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

FieldTypeWhat it is
atXf32Where the missile is, in world units, along one ground axis.
atYf32Where the missile is, in world units, in height.
atZf32Where the missile is, in world units, along the other ground axis.
unknownAXf32What this holds is not recorded.
unknownAYf32What this holds is not recorded.
unknownAZf32What this holds is not recorded.
travelXf32Its end less its start, in world units, along one ground axis.
travelYf32Its end less its start, in world units, in height.
travelZf32Its end less its start, in world units, along the other ground axis.
velocityXf32How fast it travels, in world units a second, along one ground axis.
velocityYf32How fast it travels, in world units a second, in height.
velocityZf32How fast it travels, in world units a second, along the other ground axis.
unknownBXf32What this holds is not recorded.
unknownBYf32What this holds is not recorded.
unknownBZf32What this holds is not recorded.
endXf32Where it ends, in world units, along one ground axis.
endYf32Where it ends, in world units, in height.
endZf32Where it ends, in world units, along the other ground axis.
targetXf32Where its target is, or the point it aims at, in world units, along one ground axis.
targetYf32Where its target is, or the point it aims at, in world units, in height.
targetZf32Where its target is, or the point it aims at, in world units, along the other ground axis.
agef32How long since it was launched, in seconds.
speedf32How fast it travels, in world units a second.
unsetbytes, 4A client writes nothing in particular here.
unknownCf32What this holds is not recorded; a server ignores it.
unknownDf32What this holds is not recorded; a server ignores it.
flagu8Zero or one; what it means is not recorded.
castbytes, sized by remainingA description of the cast the missile belongs to, at most 512 bytes.