Effects and looks
The lasting effects units carry, the particles a client draws, and how units look and move on screen. None of this changes what a unit can do; that is replication’s to say.
Lasting effects
A lasting effect sits in one of a unit’s effect slots and shows on its icon row.
A server puts one on with EffectAdded, replaces the one in a slot with
EffectReplaced, restates how many are stacked with EffectCount, and takes it
off with EffectRemoved. The unit carrying an effect can differ from the unit
that cast it. A server can do each of these for several units at once
(EffectAddedGroup, EffectReplacedGroup, EffectCountGroup,
EffectRemovedGroup), and set the number an effect shows on its icon with
EffectCounter.
Particles
ParticlesCreated starts a client drawing particles, and KillParticle stops
one. A server can also pause or resume a named group of emitters with
EmitterPause, and drive a value of a unit’s lasting particles from something
that changes, such as a capture point or the unit’s resource, with
ParticleSource.
ParticlesCreated starts sets of particles, each named by its own id.
Looks and animation
A server lays a new look over a unit’s own with AppearancePushed; looks
stack, the newest showing, and AppearancePopped and AppearanceCleared take
them away. AnimationOverrides has a unit play one set of movements wherever it
would have played another.
A server can also:
- play, stop, pause and advance a unit’s animations (
PlayAnimation,StopAnimation,PauseAnimation,AnimationAdvanced); - fade a unit or a side’s minions (
FadeTo,FadeRemoved,FadeMinions); - set how each nexus looks (
NexusIdle,NexusSkin); - tint a side’s screens (
ScreenTint); - change the voice a unit speaks with (
VoiceOverride).
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).
EffectAdded
What a server sends to put a lasting effect on a unit. The header names the unit carrying the effect, which can differ from the caster named inside.
In 1.0.0.130–1.0.0.138
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 191 |
| 1.0.0.132–1.0.0.134 | 192 |
| 1.0.0.135 | 194 |
| 1.0.0.136–1.0.0.137 | 192 |
| 1.0.0.138 | 194 |
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which of the unit’s effect slots it sits in. |
| kind | u8 | What sort of effect it is. |
| count | u8 | How many of it are stacked there. |
| hidden | u8 | Whether the client keeps it off the unit’s display. Values: 0 shown, 1 hidden. |
| effect | u32 | Which effect, by the number its name gives, as Objects and identifiers works it out. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| caster | u32 | The unit that put it there. |
In 1.0.0.139–1.0.0.140
Command 193 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which of the unit’s effect slots it sits in, 0 to 63. A client ignores the message for any higher slot. |
| kind | u8 | What sort of effect it is. |
| count | u8 | How many of it are stacked there. 0 clears the slot rather than adding the effect. |
| hidden | u8 | Whether the client keeps it off the unit’s display: 1 hides it, and any other value shows it. Values: 0 shown, 1 hidden. |
| effect | u32 | Which effect, by the number its name gives, as Objects and identifiers works it out. A client ignores the message where it is 0 or names an effect it does not know. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it has left to run, in seconds from when the message arrives: the whole run is runningFor plus lasts. |
| caster | u32 | The unit that put it there. |
Vectors (1)
In 1.0.0.141–1.0.0.148
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.141–1.0.0.143 | 195 |
| 1.0.0.144–1.0.0.148 | 183 |
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which of the unit’s effect slots it sits in. |
| kind | u8 | What sort of effect it is. |
| count | u8 | How many of it are stacked there. |
| hidden | u8 | Whether the client keeps it off the unit’s display. Values: 0 shown, 1 hidden. |
| effect | u32 | Which effect, by the number its name gives, as Objects and identifiers works it out. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| caster | u32 | The unit that put it there. |
Vectors (2)
In 1.0.0.149–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.149 | 183 |
| 1.0.0.150–3.1.0.0 | 180 |
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which of the unit’s effect slots it sits in. |
| kind | u8 | What sort of effect it is. |
| count | u8 | How many of it are stacked there. |
| hidden | u8 | Whether the client keeps it off the unit’s display. Values: 0 shown, 1 hidden. |
| effect | u32 | Which effect, by the number its name gives, as Objects and identifiers works it out. |
| package | u32 | Which set of art and sound the client draws it with. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| caster | u32 | The unit that put it there. |
Vectors (2)
EffectReplaced
What a server sends about a lasting effect in a slot that already holds one. The header names the unit carrying the effect, which can differ from the caster named inside.
In 1.0.0.130–1.0.0.143
Command 50 on events, sent by the server, reliable.
It carries no effect number: a client re-times the effect already in the slot and takes caster as its caster again. Where the slot is empty, nothing happens.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which of the unit’s effect slots. |
| runningFor | f32 | How long the effect has already run, in seconds. |
| lasts | f32 | How long it has left to run, in seconds from when the message arrives. A client counts the effect as starting at arrival: runningFor moves neither its start nor its end. |
| caster | u32 | The unit that put it there. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Command 47 on events, sent by the server, reliable.
It puts a lasting effect in the slot, keeping the slot rather than taking the old one off first.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which of the unit’s effect slots. |
| runningFor | f32 | How long the effect has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| caster | u32 | The unit that put it there. |
EffectCount
What a server sends to restate how many of a lasting effect are stacked on a unit. The header names the unit this is about.
In 1.0.0.130–1.0.0.143
Command 31 on events, sent by the server, reliable.
Where the slot is empty, the whole message does nothing.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot. |
| count | u8 | How many are stacked there now. 0 takes the effect off. |
| timeLeft | f32 | How long it has left to run, in seconds from when the message arrives. |
| runningFor | f32 | How long it has already run, in seconds: a client counts its start that long before the message arrived. |
| caster | u32 | The unit that put it there. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Command 28 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot. |
| count | u8 | How many are stacked there now. |
| timeLeft | f32 | How long it has left to run, in seconds. With runningFor it adds up to the whole run the effect was added with. |
| runningFor | f32 | How long it has already run, in seconds. |
| caster | u32 | The unit that put it there. |
EffectRemoved
What a server sends to take a lasting effect off a unit. The header names the unit this is about.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 127 |
| 1.0.0.132–1.0.0.137 | 128 |
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot it sat in. |
| effect | u32 | Which effect, by the number its name gives, as Objects and identifiers works it out. |
Vectors (2)
In 1.0.0.138–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.138–1.0.0.143 | 130 |
| 1.0.0.144–1.0.0.149 | 124 |
| 1.0.0.150–3.1.0.0 | 121 |
| Field | Type | What it is |
|---|---|---|
| slot | u8 | Which slot it sat in. |
| effect | u32 | Which effect, by the number its name gives, as Objects and identifiers works it out. |
| timeLeft | f32 | How long the effect had left to run when it was taken off, in seconds. |
Vectors (3)
EffectAddedGroup
What a server sends to put one effect on several units at once. The header names no object it acts on: the units are listed below.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 107 |
| 1.0.0.132–1.0.0.137 | 108 |
| Field | Type | What it is |
|---|---|---|
| kind | u8 | What sort of effect it is. |
| effect | u32 | Which effect, by the number its name gives. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots it sits in. |
| entries[].stacks | u8 | How many are stacked there. |
| entries[].hidden | u8 | Whether the client keeps it off the unit’s display. |
Vectors (2)
In 1.0.0.138–1.0.0.143
Command 110 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| kind | u8 | What sort of effect it is. |
| effect | u32 | Which effect, by the number its name gives. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it has left to run, in seconds from when the message arrives: the whole run is runningFor plus lasts. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots it sits in. |
| entries[].stacks | u8 | How many are stacked there. 0 takes the effect out of the slot. |
| entries[].hidden | u8 | Whether the client keeps it off the unit’s display: 1 hides it, and any other value shows it. |
Vectors (1)
In 1.0.0.144–1.0.0.148
Command 104 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| kind | u8 | What sort of effect it is. |
| effect | u32 | Which effect, by the number its name gives. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots it sits in. |
| entries[].stacks | u8 | How many are stacked there. |
| entries[].hidden | u8 | Whether the client keeps it off the unit’s display. |
Vectors (1)
In 1.0.0.149–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.149 | 104 |
| 1.0.0.150–3.1.0.0 | 101 |
| Field | Type | What it is |
|---|---|---|
| kind | u8 | What sort of effect it is. |
| effect | u32 | Which effect, by the number its name gives. |
| package | u32 | Which set of art and sound the client draws it with. |
| runningFor | f32 | How long it has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots it sits in. |
| entries[].stacks | u8 | How many are stacked there. |
| entries[].hidden | u8 | Whether the client keeps it off the unit’s display. |
Vectors (2)
EffectReplacedGroup
What a server sends about the effect in one slot of several units at once. The header names no object it acts on: the units are listed below.
In 1.0.0.130–1.0.0.143
Command 33 on events, sent by the server, reliable.
A client takes each entry as it takes an EffectReplaced for that unit, with the two times above: there is no effect number, so it re-times the effect already in the slot, and does nothing where the slot is empty.
| Field | Type | What it is |
|---|---|---|
| runningFor | f32 | How long the effect has already run, in seconds. |
| lasts | f32 | How long it has left to run, in seconds from when the message arrives. runningFor moves neither its start nor its end. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Command 30 on events, sent by the server, reliable.
It replaces one effect with another on each unit.
| Field | Type | What it is |
|---|---|---|
| runningFor | f32 | How long the effect has already run, in seconds. |
| lasts | f32 | How long it runs in total, in seconds. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots. |
EffectCountGroup
What a server sends to restate how many of an effect are stacked on several units at once. The header names no object it acts on: the units are listed below.
In 1.0.0.130–1.0.0.138
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 199 |
| 1.0.0.132–1.0.0.134 | 200 |
| 1.0.0.135 | 202 |
| 1.0.0.136–1.0.0.137 | 200 |
| 1.0.0.138 | 202 |
| Field | Type | What it is |
|---|---|---|
| lasts | f32 | How long the effect runs in total, in seconds. |
| runningFor | f32 | How long it has already run, in seconds. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots it sits in. |
| entries[].stacks | u8 | How many are stacked there now. |
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 201 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| lasts | f32 | How long the effect has left to run, in seconds from when the message arrives, as EffectCount’s timeLeft. |
| runningFor | f32 | How long it has already run, in seconds. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots it sits in. |
| entries[].stacks | u8 | How many are stacked there now. 0 takes the effect off. |
Vectors (1)
In 1.0.0.141–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.141–1.0.0.143 | 203 |
| 1.0.0.144–1.0.0.149 | 191 |
| 1.0.0.150–3.1.0.0 | 188 |
| Field | Type | What it is |
|---|---|---|
| lasts | f32 | How long the effect runs in total, in seconds. |
| runningFor | f32 | How long it has already run, in seconds. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].caster | u32 | The unit that put it there. |
| entries[].slot | u8 | Which of the unit’s effect slots it sits in. |
| entries[].stacks | u8 | How many are stacked there now. |
Vectors (3)
EffectRemovedGroup
What a server sends to take one effect off several units at once. The header names no object it acts on: the units are listed below.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 155 |
| 1.0.0.132–1.0.0.134 | 156 |
| 1.0.0.135 | 158 |
| 1.0.0.136–1.0.0.137 | 156 |
| Field | Type | What it is |
|---|---|---|
| effect | u32 | Which effect, by the number its name gives. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].slot | u8 | Which slot it sat in. |
Vectors (4)
one-on-1-0-0-131, one-on-1-0-0-134, one-on-1-0-0-135, one-on-1-0-0-136
In 1.0.0.138–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.138 | 158 |
| 1.0.0.139–1.0.0.143 | 157 |
| 1.0.0.144–1.0.0.149 | 148 |
| 1.0.0.150–3.1.0.0 | 145 |
| Field | Type | What it is |
|---|---|---|
| effect | u32 | Which effect, by the number its name gives. |
| count | u8 | How many units follow. |
| entries | count in count × record | The units, one place each. |
| entries[].unit | u32 | The unit carrying the effect. |
| entries[].slot | u8 | Which slot it sat in. |
| entries[].timeLeft | f32 | How long it had left to run, in seconds. |
Vectors (4)
one-on-1-0-0-138, one-on-1-0-0-143, one-on-1-0-0-149, one-on-1-0-0-154
ParticlesCreated
What a server sends to start drawing sets of particles. The header names no object: it carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 140 |
| 1.0.0.132–1.0.0.137 | 141 |
| 1.0.0.138 | 143 |
| 1.0.0.139–1.0.0.143 | 142 |
| 1.0.0.144–1.0.0.145 | 136 |
| 1.0.0.146–1.0.0.149 | 136 |
| 1.0.0.150–3.1.0.0 | 133 |
| Field | Type | What it is |
|---|---|---|
| groupCount | u8 | How many sets follow. |
| groups | count in groupCount × ParticleGroup | The sets themselves. |
KillParticle
What a server sends to stop a particle a client is drawing.
In 1.0.0.130–1.0.0.143
Command 61 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| particle | u32 | The particle to stop. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 58 |
| 1.0.0.150–3.1.0.0 | 55 |
The header names the particle.
| Field | Type | What it is |
|---|---|---|
| particle | u32 | The particle to stop. |
Vectors (1)
ParticleSource
What a server sends to drive a value of the lasting particle effects on a unit from something that changes. A client ignores it where the id names no unit it knows. The header carries zero.
In 1.0.0.130–1.0.0.149
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 219 |
| 1.0.0.132–1.0.0.134 | 220 |
| 1.0.0.135 | 222 |
| 1.0.0.136–1.0.0.137 | 220 |
| 1.0.0.138 | 222 |
| 1.0.0.139–1.0.0.140 | 221 |
| 1.0.0.141–1.0.0.143 | 223 |
| 1.0.0.144–1.0.0.149 | 210 |
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit: a champion, minion, turret or other unit. |
| slot | u8 | Which of the effects’ inputs to drive. |
| point | u8 | Which point, for source 0. It has no effect unless source is 0. |
| source | u8 | What drives it. Any other value drives it from nothing. Any other value clears the binding. Values: 0 capturePoint, 1 resource. |
In 1.0.0.150–3.1.0.0
Command 207 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| unit | u32 | The unit: a champion, minion, turret or other unit. |
| slot | u8 | Which of the effects’ inputs to drive. |
| point | u8 | Which point, for source 0. It has no effect unless source is 0. |
| source | u8 | What drives it. Any other value drives it from nothing. Values: 0 capturePoint, 1 resource, 2 resourceSmoothed. |
Vectors (1)
AppearancePushed
What a server sends to lay a new look over a unit’s own. The header names the unit.
In 1.0.0.130–1.0.0.134
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 159 |
| 1.0.0.132–1.0.0.134 | 160 |
A client stops a basic attack the unit is making first. Looks stack: the newest shows, and AppearancePopped takes away the one its entry names. An animated building instead looks for a look of the same name whose skin equals entry, adds the look under skin where it finds none, and how has no effect on it.
| Field | Type | What it is |
|---|---|---|
| entry | u32 | Names this look, so that AppearancePopped can name it. |
| overrideSpells | u8 | Set where the unit’s spells change with it. Any nonzero value sets it. |
| asset | text, ended by a zero byte | The name the client loads it under, ended by a zero byte. The name and its zero byte take at most 64 bytes. |
Vectors (2)
In 1.0.0.135–1.0.0.138
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.135 | 162 |
| 1.0.0.136–1.0.0.137 | 160 |
| 1.0.0.138 | 162 |
A client stops a basic attack the unit is making first. Looks stack: the newest shows, and AppearancePopped takes away the one its entry names. An animated building instead looks for a look of the same name whose skin equals entry, adds the look under skin where it finds none, and how has no effect on it.
| Field | Type | What it is |
|---|---|---|
| entry | u32 | Names this look, so that AppearancePopped can name it. |
| overrideSpells | u8 | Set where the unit’s spells change with it. Any nonzero value sets it. |
| modelOnly | u8 | Set where only the model changes. Any nonzero value sets it. |
| asset | text, ended by a zero byte | The name the client loads it under, ended by a zero byte. The name and its zero byte take at most 64 bytes. |
Vectors (3)
In 1.0.0.139–1.0.0.143
Command 161 on events, sent by the server, reliable.
A client stops a basic attack the unit is making first. Looks stack: the newest shows, and AppearancePopped takes away the one its entry names. A building ignores it.
| Field | Type | What it is |
|---|---|---|
| entry | u32 | Names this look, so that AppearancePopped can name it. |
| overrideSpells | u8 | Set where the unit’s spells change with it. Any nonzero value sets it. |
| modelOnly | u8 | Set where only the model changes. Any nonzero value sets it. |
| asset | text, ended by a zero byte | The name the client loads it under, ended by a zero byte. |
Vectors (1)
In 1.0.0.144–1.0.0.146
Command 151 on events, sent by the server, reliable.
A client stops a basic attack the unit is making first. Looks stack: the newest shows, and AppearancePopped takes away the one its entry names. An animated building instead looks for a look of the same name whose skin equals entry, adds the look under skin where it finds none, and how has no effect on it.
| Field | Type | What it is |
|---|---|---|
| entry | u32 | Names this look, so that AppearancePopped can name it. |
| overrideSpells | u8 | Set where the unit’s spells change with it. Any nonzero value sets it. |
| modelOnly | u8 | Set where only the model changes. Any nonzero value sets it. |
| asset | text, ended by a zero byte | The name the client loads it under, ended by a zero byte. The name and its zero byte take at most 64 bytes. |
Vectors (1)
In 1.0.0.147–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.147–1.0.0.149 | 151 |
| 1.0.0.150–3.1.0.0 | 148 |
A client stops a basic attack the unit is making first. Looks stack: the newest shows, and AppearancePopped takes away the one its entry names. An animated building instead looks for a look of the same name whose skin equals entry, adds the look under skin where it finds none, and how has no effect on it.
| Field | Type | What it is |
|---|---|---|
| entry | u32 | Names this look, so that AppearancePopped can name it. |
| how | 1-byte bits | What the look changes. |
| how.overrideSpells | bit 0 | Set where the unit’s spells change with it. |
| how.modelOnly | bit 1 | Set where only the model changes. |
| how.unused | bit 2 to 7 | Unused; a server writes zero. |
| asset | text, ended by a zero byte | The name the client loads it under, ended by a zero byte. The name and its zero byte take at most 64 bytes. |
Vectors (2)
AppearancePopped
What a server sends to take a look AppearancePushed laid over a unit away. The header names the unit.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 106 |
| 1.0.0.132–1.0.0.137 | 107 |
| 1.0.0.138–1.0.0.143 | 109 |
| 1.0.0.144–1.0.0.149 | 103 |
| 1.0.0.150–3.1.0.0 | 100 |
| Field | Type | What it is |
|---|---|---|
| entry | u32 | The look, by the name AppearancePushed gave it. |
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
AppearanceCleared
What a server sends to take every look laid over a unit away. The header names the unit.
In 1.0.0.135–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.135 | 212 |
| 1.0.0.136–1.0.0.137 | 210 |
| 1.0.0.138 | 212 |
| 1.0.0.139–1.0.0.140 | 211 |
| 1.0.0.141–1.0.0.143 | 213 |
| 1.0.0.144–1.0.0.149 | 200 |
| 1.0.0.150–3.1.0.0 | 197 |
No body.
AnimationOverrides
What a server sends to make a unit play one set of movements wherever it would have played another. The header names the unit this is about.
In 1.0.0.130–1.0.0.137
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 110 |
| 1.0.0.132–1.0.0.137 | 111 |
| Field | Type | What it is |
|---|---|---|
| pairCount | u8 | How many pairs follow. |
| pairs | count in pairCount × AnimationOverride | Each pair naming what is replaced and what replaces it. |
Vectors (2)
In 1.0.0.138–1.0.0.143
Command 113 on events, sent by the server, reliable.
A length of zero, or above 2147483647, gives an empty name and occupies no bytes after it. A server sends lengths from 0 to 2147483647. A later pair naming the same from replaces an earlier one.
| Field | Type | What it is |
|---|---|---|
| pairCount | u8 | How many pairs follow. |
| pairs | count in pairCount × AnimationOverride | Each pair naming what is replaced and what replaces it. |
Vectors (1)
In 1.0.0.144–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.144–1.0.0.149 | 107 |
| 1.0.0.150–3.1.0.0 | 104 |
| Field | Type | What it is |
|---|---|---|
| pairCount | u8 | How many pairs follow. |
| pairs | count in pairCount × AnimationOverride | Each pair naming what is replaced and what replaces it. |
Vectors (2)
PlayAnimation
What a server sends to make a unit play an animation. The header names the unit.
In 1.0.0.130–1.0.0.151
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 184 |
| 1.0.0.132–1.0.0.134 | 185 |
| 1.0.0.135 | 187 |
| 1.0.0.136–1.0.0.137 | 185 |
| 1.0.0.138 | 187 |
| 1.0.0.139–1.0.0.140 | 186 |
| 1.0.0.141–1.0.0.143 | 188 |
| 1.0.0.144–1.0.0.149 | 176 |
| 1.0.0.150–1.0.0.151 | 173 |
A unit playing a locked animation ignores the message. A client stops any emote playing first, and plays at normal speed.
| Field | Type | What it is |
|---|---|---|
| flags | 4-byte bits | How the animation plays. |
| flags.loop | bit 0 | Set to loop it. |
| flags.holdLastFrame | bit 1 | Set to hold its last frame once it ends. |
| flags.queue | bit 2 | Set to play it once the animation playing ends, rather than now. |
| flags.queueLast | bit 3 | Set to play it after every animation already waiting. |
| flags.replaceable | bit 4 | Set to let the next animation queued after it start at once. |
| flags.locked | bit 5 | Set where the unit ignores this message while the animation plays. |
| flags.noRestart | bit 6 | Where the same animation already plays on the unit, a client keeps it and starts nothing new. |
| flags.noFadeIn | bit 7 | The switch is instant, with no blend; only where the animation starts at once rather than queued. |
| flags.jumpToEnd | bit 8 | The animation is held at its end: without loop or holdLastFrame it ends at once, and with holdLastFrame it shows its last frame. |
| flags.unused | bit 9 to 31 | Unused; a server writes zero. |
| scaleTime | f32 | Where above zero, how many seconds the animation is stretched or squeezed to last. |
| animation | text, ended by a zero byte | The animation’s name, ended by a zero byte, the two taking at most 64 bytes. Nothing plays for a name the unit does not have. |
In 1.0.0.152–3.1.0.0
Command 173 on events, sent by the server, reliable.
A unit playing a locked animation ignores the message. A client stops any emote playing first, and plays at normal speed.
| Field | Type | What it is |
|---|---|---|
| flags | 4-byte bits | How the animation plays. |
| flags.loop | bit 0 | Set to loop it. |
| flags.holdLastFrame | bit 1 | Set to hold its last frame once it ends. |
| flags.queue | bit 2 | Set to play it once the animation playing ends, rather than now. |
| flags.queueLast | bit 3 | Set to play it after every animation already waiting. |
| flags.replaceable | bit 4 | Set to let the next animation queued after it start at once. |
| flags.locked | bit 5 | Set where the unit ignores this message while the animation plays. |
| flags.noBlend | bit 6 | Set to switch to it at once rather than blend in. |
| flags.lockedFromIdle | bit 7 | Set where idle animations cannot fade it out. |
| flags.reserved | bit 8 | What it does is not recorded for this range; a server writes zero. |
| flags.unused | bit 9 to 31 | Unused; a server writes zero. |
| scaleTime | f32 | Where above zero, how many seconds the animation is stretched or squeezed to last. |
| startProgress | f32 | Where above zero, how far into the animation it starts, as a fraction from 0 to 1. |
| animation | text, ended by a zero byte | The animation’s name, ended by a zero byte, the two taking at most 64 bytes. Nothing plays for a name the unit does not have. |
Vectors (1)
StopAnimation
What a server sends to stop an animation a unit is playing. The header names the unit.
In 1.0.0.130–1.0.0.137
Command 43 on events, sent by the server, reliable.
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | How it stops. |
| flags.fade | bit 0 | Set where the animation fades out. |
| flags.ignoreLock | bit 1 | Set where a lock on the animation is ignored. |
| flags.stopAll | bit 2 | Set where every animation stops. |
| flags.unused | bit 3 to 7 | Unused; a server writes zero. |
Vectors (1)
In 1.0.0.138–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.138–1.0.0.143 | 43 |
| 1.0.0.144–3.1.0.0 | 40 |
| Field | Type | What it is |
|---|---|---|
| flags | 1-byte bits | How it stops. |
| flags.fade | bit 0 | Set where the animation fades out. |
| flags.ignoreLock | bit 1 | Set where a lock on the animation is ignored. |
| flags.stopAll | bit 2 | Set where every animation stops when the name below is empty. |
| flags.unused | bit 3 to 7 | Unused; a server writes zero. |
| animation | text, ended by a zero byte | The animation’s name, ended by a zero byte, or empty. |
Vectors (1)
PauseAnimation
What a server sends to pause or resume a unit’s animation. The header names the unit.
In 1.0.0.130–1.0.0.146
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 116 |
| 1.0.0.132–1.0.0.137 | 117 |
| 1.0.0.138–1.0.0.143 | 119 |
| 1.0.0.144–1.0.0.146 | 113 |
| Field | Type | What it is |
|---|---|---|
| paused | u8 | Set to pause, clear to resume. Any nonzero value sets it. |
Vectors (4)
one-on-1-0-0-131, one-on-1-0-0-136, 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:
| Builds | Command |
|---|---|
| 1.0.0.147–1.0.0.149 | 113 |
| 1.0.0.150–3.1.0.0 | 110 |
| Field | Type | What it is |
|---|---|---|
| state | 1-byte bits | Whether to pause. |
| state.paused | bit 0 | Set to pause, clear to resume. |
| state.unused | bit 1 to 7 | Unused; a server writes zero. |
Vectors (2)
FadeTo
What a server sends to fade a unit towards an opacity over time. The header names the unit.
In 1.0.0.130–1.0.0.140
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 186 |
| 1.0.0.132–1.0.0.134 | 187 |
| 1.0.0.135 | 189 |
| 1.0.0.136–1.0.0.137 | 187 |
| 1.0.0.138 | 189 |
| 1.0.0.139–1.0.0.140 | 188 |
| Field | Type | What it is |
|---|---|---|
| fade | i16 | Names this fade, so that FadeRemoved can name it. |
| target | f32 | The opacity it fades to, from 0 for unseen to 1 for solid. |
| time | f32 | How long the fade takes, in seconds. |
In 1.0.0.141–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.141–1.0.0.143 | 190 |
| 1.0.0.144–1.0.0.149 | 178 |
| 1.0.0.150–3.1.0.0 | 175 |
| Field | Type | What it is |
|---|---|---|
| fade | i16 | Names this fade, so that FadeRemoved can name it. |
| time | f32 | How long the fade takes, in seconds. |
| target | f32 | The opacity it fades to, from 0 for unseen to 1 for solid. |
Vectors (3)
FadeRemoved
What a server sends to undo a fade on a unit. The header names the unit.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.143 | 52 |
| 1.0.0.144–3.1.0.0 | 49 |
| Field | Type | What it is |
|---|---|---|
| fade | i16 | The fade, by the name FadeTo gave it. |
Vectors (1)
FadeMinions
What a server sends to fade one side’s minions. The header carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 212 |
| 1.0.0.132–1.0.0.134 | 213 |
| 1.0.0.135 | 215 |
| 1.0.0.136–1.0.0.137 | 213 |
| 1.0.0.138 | 215 |
| 1.0.0.139–1.0.0.140 | 214 |
| 1.0.0.141–1.0.0.143 | 216 |
| 1.0.0.144–1.0.0.149 | 203 |
| 1.0.0.150–3.1.0.0 | 200 |
| Field | Type | What it is |
|---|---|---|
| side | u8 | Which side, or zero for both. |
| amount | f32 | The opacity they fade to, from 0 for unseen to 1 for solid. |
| time | f32 | How long the fade takes, in seconds. |
NexusIdle
What a server sends to put each nexus into its idle particles. The header carries zero.
NexusSkin
What a server sends to change how one side’s nexus looks. The header carries zero.
In every range of this book
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 119 |
| 1.0.0.132–1.0.0.137 | 120 |
| 1.0.0.138–1.0.0.143 | 122 |
| 1.0.0.144–1.0.0.149 | 116 |
| 1.0.0.150–3.1.0.0 | 113 |
| Field | Type | What it is |
|---|---|---|
| side | u8 | Which side. |
| skin | u32 | Which look. |
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
ScreenTint
What a server sends to tint a side’s screens, or to take a tint away. The header names no object: a server writes zero.
In 1.0.0.130–1.0.0.138
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 228 |
| 1.0.0.132–1.0.0.134 | 229 |
| 1.0.0.135 | 231 |
| 1.0.0.136–1.0.0.137 | 229 |
| 1.0.0.138 | 231 |
| Field | Type | Present when | What it is |
|---|---|---|---|
| fadeIn | u8 | 1 brings a tint in, and the colour and weight below follow; 0 takes it away, and they do not. | |
| time | f32 | How long the change takes, in seconds. | |
| side | i32 | Which side sees it. | |
| colour | u32 | fadeIn set | The tint, as blue, green, red and opacity bytes. |
| weight | f32 | fadeIn set | How strongly it applies at most. |
In 1.0.0.139–1.0.0.140
Command 230 on events, sent by the server, reliable.
| Field | Type | Present when | What it is |
|---|---|---|---|
| fadeIn | u8 | 1 brings a tint in, and the colour and weight below follow; 0 takes it away, and they do not. | |
| time | f32 | How long the change takes, in seconds. | |
| side | i32 | Which side sees it: 0 every client, and any other value only a client whose own player is on that side. A client with no player of its own takes only 0 and 100. | |
| colour | u32 | fadeIn set | The tint, as blue, green, red and opacity bytes. |
| weight | f32 | fadeIn set | How strongly it applies at most. |
Vectors (2)
In 1.0.0.141–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.141–1.0.0.143 | 232 |
| 1.0.0.144–1.0.0.149 | 219 |
| 1.0.0.150–3.1.0.0 | 216 |
| Field | Type | Present when | What it is |
|---|---|---|---|
| fadeIn | u8 | 1 brings a tint in, and the colour and weight below follow; 0 takes it away, and they do not. | |
| time | f32 | How long the change takes, in seconds. | |
| side | i32 | Which side sees it. | |
| colour | u32 | fadeIn set | The tint, as blue, green, red and opacity bytes. |
| weight | f32 | fadeIn set | How strongly it applies at most. |
VoiceOverride
What a server sends to change or reset the voice a unit speaks with. The header names the unit.
In 1.0.0.130–1.0.0.146
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.130–1.0.0.131 | 158 |
| 1.0.0.132–1.0.0.134 | 159 |
| 1.0.0.135 | 161 |
| 1.0.0.136–1.0.0.137 | 159 |
| 1.0.0.138 | 161 |
| 1.0.0.139–1.0.0.143 | 160 |
| 1.0.0.144–1.0.0.146 | 150 |
| Field | Type | Present when | What it is |
|---|---|---|---|
| flags | 1-byte bits | Whether to reset. A client compares the whole byte with 1, so a server writes the other bits zero. | |
| flags.reset | bit 0 | Set where the unit returns to its own voice; no name follows. | |
| flags.unused | bit 1 to 7 | Unused; a server writes zero. | |
| voice | text, ended by a zero byte | flags.reset = 0 | The voice’s name, ended by a zero byte. |
In 1.0.0.147–3.1.0.0
Carried on events, sent by the server, reliable, under these commands:
| Builds | Command |
|---|---|
| 1.0.0.147–1.0.0.149 | 150 |
| 1.0.0.150–3.1.0.0 | 147 |
| Field | Type | Present when | What it is |
|---|---|---|---|
| flags | 1-byte bits | Whether to reset. | |
| flags.reset | bit 0 | Set where the unit returns to its own voice; no name follows. | |
| flags.unused | bit 1 to 7 | Unused; a server writes zero. | |
| voice | text, ended by a zero byte | flags.reset = 0 | The voice’s name, ended by a zero byte. |
Vectors (4)
another-on-1-0-0-149, one-on-1-0-0-149, another-on-1-0-0-154, one-on-1-0-0-154