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 along x and z alone, and leaves it as it is where both are 0.

A champion carries no facing of its own when created.

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

In 1.0.0.104–1.0.0.129

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.

In 1.0.0.58–1.0.0.96

A client has data for maps 1 to 4:

mapOrigin of its paths
16991, 7223
26991, 7223
37479, 7147
46710, 6696

In 1.0.0.126

A client has data for maps 1 to 4 and 8:

mapOrigin of its paths
16991, 7223
26991, 7223
37479, 7147
46710, 6696
86947, 6609