The client’s data
What a server needs that no message carries, and takes from the files a client installs: the buildings and spawn points of a map, the ground units walk on, and the figures of champions, items and spells. A server SHOULD take its figures from these files: a client draws a match from them, and figures from elsewhere disagree with what it shows.
What a server reads
- The buildings of a map: the names a client knows its turrets, inhibitors and nexuses by, from which Objects and identifiers works out the identifier of each.
- The spawn points: where each side’s champions begin.
- The ground: the grid a map’s units walk on, which a server needs to find paths.
- The figures: each champion’s base statistics, each item’s price and what
it is built from, and each spell’s cooldowns, costs and ranges, which a server
states through replication and
SpellCast.
Movement takes the origin of a path from the ground.
In 3.10–3.15
The client has maps 1, 8, 10 and 12, and no map 11.
A client installs its files under one root, with the paths below; an install that packs them into archives keeps the same paths inside.
Buildings. LEVELS/Map1/Scene/room.dsc lists a map’s scene objects, one
line each: a file name and a quality number. Each object’s own file sits beside
it and gives its name. A client creates no object from a name holding
_Destroyed or _FB. On map 1 the names run Turret_T<side>_<lane>_<number>
for a lane turret, Barracks_T<side>_<lane>1 for an inhibitor and HQ_T<side>
for a nexus, side 1 for Order and 2 for Chaos and lanes L, C and R, with a
shrine turret for each side; the numbers differ between the sides, and a server
MUST take the names from the files.
In 3.01–3.10
A word a name holds anywhere says what the object is, not only its opening, the first match winning: a minion spawner’s
Spawn_Barracksis tested beforeBarracks, which makes an inhibitor, andHQ_makes a nexus andTurreta turret.
Each object’s file is .sco as text or .SCB as binary, and gives its name
on its Name= line.
CreateTurret names a building by its name with _A after it.
In 3.10–3.15
A
CreateTurretnaming no building does nothing.
In 3.10
CreateTurretcompares names exactly, case included.
Objects and spawn points. A champion begins at its side’s spawn point,
__Spawn_T1 for Order and __Spawn_T2 for Chaos.
In 3.01–3.10
The spawn points, the navigation points and the marker of the level’s size are scene objects, listed in
room.dsclike the buildings.
A champion begins at its side’s spawn point moved by an offset from
DATA/Characters/HeroSpawnOffsets.inibin, read from the section Order<n> or
Chaos<n> under the keys Pos<i> and Facing<i>, where i is one more than
CreateChampion’s spawn index. A spawn index of 6 or more begins the champion
on the spawn point itself.
In the section’s name, n is how many players and bots the side has. A champion begun on the spawn point itself faces along +X.
The ground. A client walks units on LEVELS/Map1/AIPath.aimesh_ngrid, a
binary grid. Its layout is unspecified.
In 3.01–3.10
The grid’s name is the map’s own,
AIPath.aimeshwith_ngridafter it: no setting of the mode chooses it.
The figures. Each is an inibin file: a champion’s base statistics in
DATA/Characters/<Champion>/<Champion>.inibin; an item, its price among its
figures, in DATA/Items/<id>.inibin; and summoner, item and shared spells in
DATA/Spells/<Spell>.inibin.
Map 1 adds LEVELS/Map1/Items.inibin to the items, and figures for a whole
mode are in DATA/Globals/, such as CLASSIC_Stats.inibin and
HealthGain.inibin.
In 3.10
Most champions’ spells and attacks are in
DATA/Spells/<Spell>.inibinwith all other spells, and some champions’ inDATA/Characters/<Champion>/Spells/<Spell>.inibin.