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

Space

How positions, distances and directions are carried, whichever system carries them, and what a map gives that nothing on the wire carries.

Units and axes

Positions and distances are in world units. The ground is the plane of x and z, and y is height. A field that carries a position on the ground carries x and z; one that carries a point in the world carries x, y and z. Where a message leaves height out, a receiving end takes it from the ground beneath.

A position travels as a 32-bit float on each axis unless its definition says otherwise. Where the paths of Movement and MovementAtSpeed are compact, they carry their points as integers measured from the map’s origin, and Movement says how those points are worked out.

Directions

A direction is carried as a vector, not as an angle:

  • A unit’s facing in the movement state EnterSight carries is a pair along the ground, x and z.
  • UnitStopped, MissileState, a particle’s facing and a view’s direction in Camera carry x, y and z.
  • FaceDirection carries x, y and z, and turns the unit to face along them.

FaceDirection turns the unit over the time it gives where its flags say so, and at once otherwise.

A champion carries no facing of its own when created.

A champion faces as its map’s table of spawn positions says (see CreateChampion).

CreateNeutral carries a point to face rather than a direction: the monster faces from where it stands toward that point, or along +z where the two are the same.

A prop of scenery carries angles instead: MapProp gives its turn as pitch, yaw and roll, in degrees, where yaw 0 faces +z and yaw 90 faces +x. For an active prop, the same three fields are a direction vector.

Maps

VersionSync names the map to load by number. A client takes a map’s buildings (see Objects and identifiers), spawn positions and path origin (see Movement) from its own data (see The client’s data), and can load only a map it has data for.

The maps a client has data for include these:

mapMapOrigin of its paths
1Summoner’s Rift6991, 7223
8The Crystal Scar6947, 6609
10The Twisted Treeline7708, 7227
12The Howling Abyss6560, 6309

In 4.18–4.20

A client also has data for map 11, a second Summoner’s Rift, whose paths have their origin at 7358, 7412.