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

Vision

What a client can see, and how a server tells it. A client draws what a server says it sees and nothing else: the fog of war a client draws is only a picture, and what lies inside it is whatever the server has brought into view.

Bringing a unit into view

A server brings a unit into what a client’s side can see with EnterSight.

EnterSight also states the unit’s items.

In 1.0.0.138–3.1.0.0

EnterSight can also carry whole messages of the game family, such as the CreateTurret or CreateNeutral that makes the unit, each taking effect as though it had arrived on its own.

In 1.0.0.140

EnterSight states everything a client needs to draw the unit at once: its looks, its shields, where it stands or which path it walks, and, in what follows, its health and resource. A body MAY end early where its layout marks the remaining parts as present only while bytes remain.

A client does not draw a champion that no EnterSight has placed: given only its CreateChampion, a client shows the champion’s portrait and spells and nothing on the field. One EnterSight after the CreateChampion draws it, with its name and health bar over it.

EnterLocalSight brings a unit into what one client alone can see. EnterTeamSight brings an object into the view of a whole side.

EnterLocalSight states the unit’s health.

In 1.0.0.140

EnterLocalSight states the unit’s resource beside its health.

Losing sight

LeaveSight and LeaveTeamSight take a unit out of the matching view, and leave it held (see Objects and identifiers). Particles come into and leave a side’s view with ParticleEnterTeamSight and ParticleLeaveTeamSight.

Regions

A region is a patch of ground with sight of its own, which can reveal hidden units within it. A server places one with RegionAdded or fastens one to a unit with RegionAttached, moves it with RegionMoved and takes it away with RegionRemoved; Objects and identifiers says how regions are named and when one ends. A region granting sight has a client clear its map’s cover over it.

A client makes only circular regions.

Drawing the fog

FogSet and FogToggled change how a client draws its fog of war.

A client draws its fog of war, or the map with no darkening, as FogSet and FogToggled say. Neither changes what the client can see.

Who is told what

A client acts on a message about whichever unit it names, its own champion or another, so what a client knows is whatever a server sends it. A server decides, message by message, which clients to tell.

UnitDiedOnMap, InventorySnapshotOnMap, FloatingTextOnMap and SpellSlotChangedForOwner do not exist, so a server sends both audiences of UnitDied, InventorySnapshot, FloatingText and SpellSlotChanged under the one command each.

Messages about a champion’s own state, its gold, its inventory, its spells’ levels, cooldowns and charges, and whether it can shop, are applied to the champion they name on any client that receives them, but a client shows some of them only for its own champion:

  • ShopEnabled changes the shop only for the client’s own champion.

GoldGained naming the client’s own champion, with an amount above 0 and a source the client holds, shows the gold over the source.

ItemAdded and InventorySlot announce a purchase only for the client’s own champion; an ally’s purchase is called out where the message asks for it.

A server SHOULD send SpellCooldown, SpellCharges and GoldGained about a champion only to the client whose champion it is.

A client also acts on what it is told about a unit it holds but cannot see:

  • a particle on a hidden unit is created but not drawn until the unit comes into view, unless the particle is bound to a target the client can see;
  • floating text over a hidden unit is dropped;
  • an animation plays on a hidden unit, which comes into view part way through it.

A server SHOULD NOT send a client what its side cannot see, beyond what keeps its world consistent.

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

EnterSight

What a server sends when a unit comes into what a side can see. The header names the unit this is about.

Definition.

In 1.0.0.130–1.0.0.137

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

BuildsCommand
1.0.0.130–1.0.0.131194
1.0.0.132–1.0.0.134195
1.0.0.135197
1.0.0.136–1.0.0.137195

It states everything a client needs to draw the unit at once.

FieldTypePresent whenWhat it is
itemCountu8How many items the unit holds. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop, a building or a missile it reads nothing after the carried messages.
itemscount in itemCount × HeldItemThe items themselves.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.hasShieldsu8Whether the three figures below follow. A zero leaves them out. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.movementStaterecordremaining setWhere the unit is and what it is doing on the ground. A client reads it for a champion or a minion, and a server sends it for those; for another unit with a mind the message ends before it.
view.movementState.movementKindu8What the unit is doing on the ground, and so which shape follows. A champion stated as standing, with the place and facing below, is drawn there with its name and health bar over it. One stated as moving is drawn at the first point of its path and walks the rest. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The name this statement of movement answers to.
view.movementState.movementMovementmovementKind = 2Where the unit is going. Movement says how a path is read.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Where the unit stands, along one ground axis, in world units.
view.movementState.atZf32movementKind = 3Where it stands, along the other, in world units.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (20)

a-fifth-on-1-0-0-131, a-fourth-on-1-0-0-131, a-third-on-1-0-0-131, another-on-1-0-0-131, one-on-1-0-0-131, a-fifth-on-1-0-0-134, a-fourth-on-1-0-0-134, a-third-on-1-0-0-134, another-on-1-0-0-134, one-on-1-0-0-134, a-fifth-on-1-0-0-135, a-fourth-on-1-0-0-135, a-third-on-1-0-0-135, another-on-1-0-0-135, one-on-1-0-0-135, a-fifth-on-1-0-0-136, a-fourth-on-1-0-0-136, a-third-on-1-0-0-136, another-on-1-0-0-136, one-on-1-0-0-136

In 1.0.0.138

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

It states everything a client needs to draw the unit at once, and carries whole messages of the same family for anything a layout of its own cannot say.

FieldTypePresent whenWhat it is
carried2-byte bits
carried.sizebit 0 to 10How many bytes the messages below occupy in total.
carried.unusedbit 11 to 15Unused; a server writes zero.
messagessized by carried.size × CarriedMessageWhole messages of the same family, each behind its own length, that a client acts on as though they had arrived on their own.
itemCountu8How many items the unit holds. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop, a building or a missile it reads nothing after the carried messages.
itemscount in itemCount × HeldItemThe items themselves.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.hasShieldsu8Whether the three figures below follow. A zero leaves them out. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.appearanceCountu32How many layers of look follow.
view.appearancecount in appearanceCount × AppearanceWhat the unit looks like, laid on in order.
view.targetableu8Whether the unit can be aimed at, kept as it stands; TargetableChanged sets the same.
view.targetableToTeamu32Which sides can aim at it, as a set of bits.
view.movementStaterecordremaining setWhere the unit is and what it is doing on the ground. A client reads it for a champion or a minion, and a server sends it for those; for another unit with a mind the message ends before it.
view.movementState.movementKindu8What the unit is doing on the ground, and so which shape follows. A champion stated as standing, with the place and facing below, is drawn there with its name and health bar over it. One stated as moving is drawn at the first point of its path and walks the rest. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The name this statement of movement answers to.
view.movementState.movementMovementmovementKind = 2Where the unit is going. Movement says how a path is read.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Where the unit stands, along one ground axis, in world units.
view.movementState.atZf32movementKind = 3Where it stands, along the other, in world units.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (5)

a-fifth-on-1-0-0-138, a-fourth-on-1-0-0-138, a-third-on-1-0-0-138, another-on-1-0-0-138, one-on-1-0-0-138

In 1.0.0.139–1.0.0.140

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

It states everything a client needs to draw the unit at once, and carries whole messages of the same family for anything a layout of its own cannot say.

FieldTypePresent whenWhat it is
carried2-byte bits
carried.sizebit 0 to 10How many bytes the messages below occupy in total.
carried.unusedbit 11 to 15Unused; a server writes zero.
messagessized by carried.size × CarriedMessageWhole messages of the same family, each behind its own length, that a client acts on as though they had arrived on their own.
itemCountu8How many items the unit holds. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop, a building or a missile it reads nothing after the carried messages.
itemscount in itemCount × HeldItemThe items themselves.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.hasShieldsu8Whether the three figures below follow. A zero leaves them out. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.appearanceCountu32How many layers of look follow.
view.appearancecount in appearanceCount × AppearanceWhat the unit looks like, laid on in order.
view.targetableu8Whether the unit can be aimed at, kept as it stands; TargetableChanged sets the same.
view.targetableToTeamu32Which sides can aim at it, as a set of bits.
view.movementStaterecordremaining setWhere the unit is and what it is doing on the ground. A client reads it, after targetableToTeam, for every unit with a mind: a champion, a minion or another; a server sends it for those.
view.movementState.movementKindu8What the unit is doing on the ground, and so which shape follows. A champion stated as standing, with the place and facing below, is drawn there with its name and health bar over it. One stated as moving is drawn at the first point of its path and walks the rest. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The name this statement of movement answers to.
view.movementState.movementMovementmovementKind = 2Where the unit is going. Movement says how a path is read.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Where the unit stands, along one ground axis, in world units.
view.movementState.atZf32movementKind = 3Where it stands, along the other, in world units.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (5)

a-fifth-on-1-0-0-140, a-fourth-on-1-0-0-140, a-third-on-1-0-0-140, another-on-1-0-0-140, one-on-1-0-0-140

In 1.0.0.141–1.0.0.142

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

It states everything a client needs to draw the unit at once, and carries whole messages of the same family for anything a layout of its own cannot say.

FieldTypePresent whenWhat it is
carried2-byte bits
carried.sizebit 0 to 10How many bytes the messages below occupy in total.
carried.unusedbit 11 to 15Unused; a server writes zero.
messagessized by carried.size × CarriedMessageWhole messages of the same family, each behind its own length, that a client acts on as though they had arrived on their own.
itemCountu8How many items the unit holds. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop, a building or a missile it reads nothing after the carried messages.
itemscount in itemCount × HeldItemThe items themselves.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.hasShieldsu8Whether the three figures below follow. A zero leaves them out. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.appearanceCountu32How many layers of look follow.
view.appearancecount in appearanceCount × AppearanceWhat the unit looks like, laid on in order.
view.targetableu8Whether the unit can be aimed at, kept as it stands; TargetableChanged sets the same.
view.targetableToTeamu32Which sides can aim at it, as a set of bits.
view.movementStaterecordremaining setWhere the unit is and what it is doing on the ground. A client reads it for a champion or a minion, and a server sends it for those; for another unit with a mind the message ends before it.
view.movementState.movementKindu8What the unit is doing on the ground, and so which shape follows. A champion stated as standing, with the place and facing below, is drawn there with its name and health bar over it. One stated as moving is drawn at the first point of its path and walks the rest. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The name this statement of movement answers to.
view.movementState.movementMovementmovementKind = 2Where the unit is going. Movement says how a path is read.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Where the unit stands, along one ground axis, in world units.
view.movementState.atZf32movementKind = 3Where it stands, along the other, in world units.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (5)

a-fifth-on-1-0-0-141, a-fourth-on-1-0-0-141, a-third-on-1-0-0-141, another-on-1-0-0-141, one-on-1-0-0-141

In 1.0.0.143–3.1.0.0

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

BuildsCommand
1.0.0.143198
1.0.0.144–1.0.0.149186
1.0.0.150–3.1.0.0183

It states everything a client needs to draw the unit at once, and carries whole messages of the same family for anything a layout of its own cannot say.

FieldTypePresent whenWhat it is
carried2-byte bits
carried.sizebit 0 to 10How many bytes the messages below occupy in total.
carried.unusedbit 11 to 15Unused; a server writes zero.
messagessized by carried.size × CarriedMessageWhole messages of the same family, each behind its own length, that a client acts on as though they had arrived on their own.
itemCountu8How many items the unit holds. A client reads this and the rest for a champion, a minion or another unit with a mind; for a turret, a map prop, a building or a missile it reads nothing after the carried messages.
itemscount in itemCount × HeldItemThe items themselves.
viewrecordremaining setEverything else a client needs to draw the unit. A server sends it for a champion, a minion or another unit with a mind, which a client reads past the end of the message without it, and ends the message after the items for any other unit.
view.hasShieldsu8Whether the three figures below follow. A zero leaves them out. Values: 0 no, 1 yes.
view.magicShieldf32hasShields setHow much of the unit’s shielding turns aside one sort of damage.
view.physicalShieldf32hasShields setHow much turns aside the other.
view.shieldf32hasShields setHow much turns aside either.
view.appearanceCountu32How many layers of look follow.
view.appearancecount in appearanceCount × AppearanceWhat the unit looks like, laid on in order.
view.movementStaterecordremaining setWhere the unit is and what it is doing on the ground. A client reads it for a champion or a minion, and a server sends it for those; for another unit with a mind the message ends before it.
view.movementState.movementKindu8What the unit is doing on the ground, and so which shape follows. A champion stated as standing, with the place and facing below, is drawn there with its name and health bar over it. One stated as moving is drawn at the first point of its path and walks the rest. Values: 0 nothing, 1 movingAtASpeed, 2 moving, 3 standing.
view.movementState.syncIdu32The name this statement of movement answers to.
view.movementState.movementMovementmovementKind = 2Where the unit is going. Movement says how a path is read.
view.movementState.movementAtSpeedMovementAtSpeedmovementKind = 1Where the unit is going, and how a server makes it travel. WaypointGroupAtSpeed carries the same shape.
view.movementState.atXf32movementKind = 3Where the unit stands, along one ground axis, in world units.
view.movementState.atZf32movementKind = 3Where it stands, along the other, in world units.
view.movementState.facingXf32movementKind = 3Which way it faces, along one ground axis.
view.movementState.facingZf32movementKind = 3Which way it faces, along the other.
Vectors (15)

a-fifth-on-1-0-0-143, a-fourth-on-1-0-0-143, a-third-on-1-0-0-143, another-on-1-0-0-143, one-on-1-0-0-143, a-fifth-on-1-0-0-149, a-fourth-on-1-0-0-149, a-third-on-1-0-0-149, another-on-1-0-0-149, one-on-1-0-0-149, a-fifth-on-1-0-0-154, a-fourth-on-1-0-0-154, a-third-on-1-0-0-154, another-on-1-0-0-154, one-on-1-0-0-154

EnterLocalSight

What a server sends when a unit comes into what one client can see. The header names the unit this is about.

Definition.

In 1.0.0.130–1.0.0.137

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

BuildsCommand
1.0.0.130–1.0.0.131181
1.0.0.132–1.0.0.134182
1.0.0.135184
1.0.0.136–1.0.0.137182
FieldTypePresent whenWhat it is
vitalsrecordremaining setThe unit’s health. Where a client already holds the unit, it reads these from body offset 2 whatever the carried size, so a server carries messages here only where they create the unit, and sends the vitals right after them.
vitals.maxHealthf32What the unit’s health tops out at.
vitals.healthf32What its health stands at.
Vectors (8)

another-on-1-0-0-131, one-on-1-0-0-131, another-on-1-0-0-134, one-on-1-0-0-134, another-on-1-0-0-135, one-on-1-0-0-135, another-on-1-0-0-136, one-on-1-0-0-136

In 1.0.0.138–1.0.0.141

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

BuildsCommand
1.0.0.138184
1.0.0.139–1.0.0.140183
1.0.0.141185
FieldTypePresent whenWhat it is
carried2-byte bits
carried.sizebit 0 to 10How many bytes the messages below occupy in total.
carried.unusedbit 11 to 15Unused; a server writes zero.
messagessized by carried.size × CarriedMessageWhole messages of the same family, each behind its own length, that a client acts on as though they had arrived on their own.
vitalsrecordremaining setThe unit’s health. Where a client already holds the unit, it reads these from body offset 2 whatever the carried size, so a server carries messages here only where they create the unit, and sends the vitals right after them.
vitals.maxHealthf32What the unit’s health tops out at.
vitals.healthf32What its health stands at.
Vectors (6)

another-on-1-0-0-138, one-on-1-0-0-138, another-on-1-0-0-140, one-on-1-0-0-140, another-on-1-0-0-141, one-on-1-0-0-141

In 1.0.0.142–3.1.0.0

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

BuildsCommand
1.0.0.142–1.0.0.143185
1.0.0.144–1.0.0.149174
1.0.0.150–3.1.0.0171
FieldTypePresent whenWhat it is
carried2-byte bits
carried.sizebit 0 to 10How many bytes the messages below occupy in total.
carried.unusedbit 11 to 15Unused; a server writes zero.
messagessized by carried.size × CarriedMessageWhole messages of the same family, each behind its own length, that a client acts on as though they had arrived on their own.
vitalsrecordremaining setThe unit’s health. A client reads it for a champion, a minion, a turret, a map prop or another unit with a mind, past the end of the message where it is missing, so a server sends it for those; for a building or a missile it ends after the carried messages.
vitals.maxHealthf32What the unit’s health tops out at.
vitals.healthf32What its health stands at.
Vectors (6)

another-on-1-0-0-143, one-on-1-0-0-143, another-on-1-0-0-149, one-on-1-0-0-149, another-on-1-0-0-154, one-on-1-0-0-154

EnterTeamSight

What a server sends when a unit comes into the view of a whole side. The header names the object this is about.

Definition.

In every range of this book

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

BuildsCommand
1.0.0.130–1.0.0.131238
1.0.0.132–1.0.0.134239
1.0.0.135236
1.0.0.136–1.0.0.137234
1.0.0.138236
1.0.0.139–1.0.0.140235
1.0.0.141–1.0.0.143237
1.0.0.144–1.0.0.149224
1.0.0.150–3.1.0.0221
FieldTypeWhat it is
sideu8Which side the unit came into or out of the view of.
Vectors (9)

one-on-1-0-0-131, one-on-1-0-0-134, one-on-1-0-0-135, one-on-1-0-0-136, one-on-1-0-0-138, one-on-1-0-0-140, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154

LeaveSight

What a server sends when a unit passes out of what a side can see. The header names the unit this is about.

Definition.

In every range of this book

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

BuildsCommand
1.0.0.130–1.0.0.13184
1.0.0.132–1.0.0.13785
1.0.0.138–1.0.0.14387
1.0.0.144–1.0.0.14981
1.0.0.150–3.1.0.078

No body.

Vectors (5)

one-on-1-0-0-131, one-on-1-0-0-136, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154

LeaveTeamSight

What a server sends when a unit passes out of the view of a whole side. The header names the object this is about.

Definition.

In every range of this book

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

BuildsCommand
1.0.0.130–1.0.0.131239
1.0.0.132–1.0.0.134240
1.0.0.135237
1.0.0.136–1.0.0.137235
1.0.0.138237
1.0.0.139–1.0.0.140236
1.0.0.141–1.0.0.143238
1.0.0.144–1.0.0.149225
1.0.0.150–3.1.0.0222
FieldTypeWhat it is
sideu8Which side the unit came into or out of the view of.
Vectors (9)

one-on-1-0-0-131, one-on-1-0-0-134, one-on-1-0-0-135, one-on-1-0-0-136, one-on-1-0-0-138, one-on-1-0-0-140, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154

ParticleEnterTeamSight

What a server sends as a particle comes into what one side can see. The header carries zero.

Definition.

In 1.0.0.139–1.0.0.140

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

A client ignores it: it reads nothing and changes nothing.

FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.
Vectors (1)

one-on-1-0-0-140

In 1.0.0.141–3.1.0.0

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

BuildsCommand
1.0.0.141–1.0.0.143239
1.0.0.144–1.0.0.149226
1.0.0.150–3.1.0.0223
FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.
Vectors (3)

one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154

ParticleLeaveTeamSight

What a server sends as a particle passes out of what one side can see. The header carries zero.

Definition.

In 1.0.0.130–1.0.0.138

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

BuildsCommand
1.0.0.130–1.0.0.131241
1.0.0.132–1.0.0.134242
1.0.0.135239
1.0.0.136–1.0.0.137237
1.0.0.138239
FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.
Vectors (5)

one-on-1-0-0-131, one-on-1-0-0-134, one-on-1-0-0-135, one-on-1-0-0-136, one-on-1-0-0-138

In 1.0.0.139–1.0.0.140

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

A client ignores a particle it does not hold. A server names only a particle: where particle names another object the client holds, a client fails.

FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.
Vectors (1)

one-on-1-0-0-140

In 1.0.0.141–3.1.0.0

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

BuildsCommand
1.0.0.141–1.0.0.143240
1.0.0.144–1.0.0.149227
1.0.0.150–3.1.0.0224
FieldTypeWhat it is
particleu32The particle.
teamu8Which side, by an index.
Vectors (3)

one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154

LeaveLocalSight

What a server sends when a unit passes out of what one client can see. Sent for the receiving client’s own champion, it changes nothing the client shows. The header names the unit this is about.

Definition.

In 1.0.0.130–1.0.0.143

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

It changes nothing a client shows for any unit, and a client ignores it while watching a match.

No body.

Vectors (1)

one-on-1-0-0-143

In 1.0.0.144–3.1.0.0

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

BuildsCommand
1.0.0.144–1.0.0.14955
1.0.0.150–3.1.0.052

No body.

Vectors (1)

one-on-1-0-0-149

RegionAdded

What a server sends to place a region on the ground. The header names no object: a server writes zero.

Definition.

In 1.0.0.130–1.0.0.138

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

BuildsCommand
1.0.0.130–1.0.0.131123
1.0.0.132–1.0.0.137124
1.0.0.138126

A region grants sight, blocks the way, or grows cover.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes a default radius.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero.
extrau32Kept with the region as it stands; what it does is not recorded. A server writes zero.
otherExtrau32Kept the same way; a server writes zero.
Vectors (3)

one-on-1-0-0-131, one-on-1-0-0-136, one-on-1-0-0-138

In 1.0.0.139–1.0.0.143

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

A region grants sight, blocks the way, or grows cover. A region matching one the client holds in clientId (after taking 4294967294 as 4294967295), sightRadius, the first three bits of does, extra, otherExtra and position only resets that one’s lifetime to the new one; its id is not compared, and nothing new is added.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes a default radius.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 0 has the client pick one of its own.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero. A client clears it itself before storing the region.
extrau32Kept with the region as it stands, and compared in matching a region already held; what else it does is not recorded. A server writes zero.
otherExtrau32Kept and compared the same way; a server writes zero.
Vectors (1)

one-on-1-0-0-143

In 1.0.0.144–1.0.0.149

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

A region grants sight, blocks the way, or grows cover.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes a default radius.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero.
extrau32Kept with the region as it stands; what it does is not recorded. A server writes zero.
otherExtrau32Kept the same way; a server writes zero.
Vectors (1)

one-on-1-0-0-149

In 1.0.0.150–3.1.0.0

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

A region grants sight, blocks the way, or grows cover.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes a default radius.
atXf32Where it stands, along one ground axis, in world units.
atYf32Its height, in world units.
atZf32Where it stands, along the other ground axis, in world units.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.unusedbit 1 to 31Unused; a server writes zero.
Vectors (1)

one-on-1-0-0-154

RegionAttached

What a server sends to place a region that follows a unit, showing the map around it until it runs out or the unit is gone.

Definition.

In 1.0.0.130–1.0.0.138

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

A region matching one the client holds in view, sightRadius, the first three bits of does, marker, sightFrom and unit only gives that one the new lifetime.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32Unused; a client reads nothing here.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes the unit’s own sight radius, or a default where it has none.
unitu32The unit the region follows. A client takes the region even where it does not hold the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero.
extrau32Kept with the region as it stands; what it does is not recorded. A server writes zero.
otherExtrau32Kept the same way; a server writes zero.
Vectors (1)

one-on-1-0-0-138

In 1.0.0.139–1.0.0.143

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

A region matching one the client holds in kind, sightRadius, the first three bits of does (as the client sets them itself), extra, otherExtra and unit only has its lifetime replaced by the new one; marker and clientId are not compared, and nothing new is added.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes the unit’s own sight radius, or a default where it has none.
unitu32The unit the region follows. Where the client does not hold the unit, it drops the whole message and makes no region.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less; one that starts at zero or less goes at the client’s next update.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero.
extrau32Kept with the region, and compared in matching a region already held, so a region differing only here is added as a new one. A server writes zero.
otherExtrau32Kept and compared the same way; a server writes zero.
Vectors (1)

one-on-1-0-0-143

In 1.0.0.144–1.0.0.149

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

A region matching one the client holds in view, sightRadius, the first three bits of does, marker, sightFrom and unit only gives that one the new lifetime.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes the unit’s own sight radius, or a default where it has none.
unitu32The unit the region follows. A client takes the region even where it does not hold the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.secondbit 1A second choice a client keeps with the region; it also sets it itself where kind is 2 and the bit below it is set.
does.unusedbit 2 to 31Unused; a server writes zero.
extrau32Kept with the region as it stands; what it does is not recorded. A server writes zero.
otherExtrau32Kept the same way; a server writes zero.
Vectors (1)

one-on-1-0-0-149

In 1.0.0.150–3.1.0.0

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

A region matching one the client holds in view, sightRadius, the first three bits of does, marker, sightFrom and unit only gives that one the new lifetime.

FieldTypeWhat it is
kindu32What sort of region it is. Where it is 2, the region belongs to the client clientId names; what other values mean is not recorded.
clientIdu32The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.
sightRadiusf32How far the region shows the map around it, in world units. Zero takes the unit’s own sight radius, or a default where it has none.
unitu32The unit the region follows. A client takes the region even where it does not hold the unit.
lifetimef32How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.
markeru32The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.
does4-byte bitsWhat the region does.
does.flagbit 0What this changes on a client is not recorded.
does.unusedbit 1 to 31Unused; a server writes zero.
Vectors (1)

one-on-1-0-0-154

RegionRemoved

What a server sends to take away a region RegionAdded or RegionAttached placed. The header names no object: a server writes zero.

Definition.

In every range of this book

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

BuildsCommand
1.0.0.130–1.0.0.14356
1.0.0.144–1.0.0.14953
1.0.0.150–3.1.0.050
FieldTypeWhat it is
regionu32The region to take away, by the name RegionAdded gave it.
Vectors (2)

one-on-1-0-0-143, one-on-1-0-0-149

FogSet

What a server sends to turn the drawing of the fog of war on or off. It changes only what is drawn. The header carries zero.

Definition.

In 1.0.0.130–1.0.0.146

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

BuildsCommand
1.0.0.130–1.0.0.131180
1.0.0.132–1.0.0.134181
1.0.0.135183
1.0.0.136–1.0.0.137181
1.0.0.138183
1.0.0.139–1.0.0.143182
1.0.0.144–1.0.0.146171
FieldTypeWhat it is
shownu8Nonzero turns the fog of war on; zero turns it off.
Vectors (7)

one-on-1-0-0-131, one-on-1-0-0-134, one-on-1-0-0-135, one-on-1-0-0-136, one-on-1-0-0-138, one-on-1-0-0-143, one-on-1-0-0-146

In 1.0.0.147–3.1.0.0

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

BuildsCommand
1.0.0.147–1.0.0.149171
1.0.0.150–3.1.0.0168
FieldTypeWhat it is
state1-byte bitsWhether the fog is drawn.
state.drawnbit 0Set to draw the fog, clear to draw the map with no darkening.
state.unusedbit 1 to 7Unused; a server writes zero.
Vectors (2)

one-on-1-0-0-149, one-on-1-0-0-154

FogToggled

What a server sends to turn the drawing of the fog of war off where it is on, or on where it is off. It changes only what is drawn: what can be seen is still what a server sends. It carries nothing of its own. The header carries zero.

Definition.

In every range of this book

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

BuildsCommand
1.0.0.130–1.0.0.131130
1.0.0.132–1.0.0.137131
1.0.0.138–1.0.0.143133
1.0.0.144–1.0.0.149127
1.0.0.150–3.1.0.0124

No body.

Vectors (5)

one-on-1-0-0-131, one-on-1-0-0-136, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154