O que aconteceu desde a última chamada: unit.appeared / unit.died / unit.removed / unit.damaged / order.changed /
hero.levelup / owner.changed / item.appeared / item.removed / game.started (estes vêm da comparação entre publicações, precisão = período de publicação de 50 ms),
além dos eventos de nível de engine damage / killed (o runtime os registra na thread do jogo no momento em que acontecem, então há um para **cada golpe**):
damage: handle = quem apanhou, .source_addr = quem bateu (use snapshot().unit_by_addr para obter a unidade), .value = vida realmente perdida,
.raw_damage = dano antes da armadura, .attack_type (normal/pierce/siege/magic/chaos/hero/spell), .damage_type
killed: este golpe a matou, .source_addr = quem matou
e ainda production.done, obtido pelo runtime acompanhando a tabela de produção (precisão = período de publicação): unidade = a construção, .done_code = código de quatro caracteres do que terminou,
.done_kind = 'training' (unidade/herói/revivência) / 'research' / 'construction' (construção pronta) / 'upgrade' (subir de tier/melhorar torre), .value = quantos segundos de jogo levou
Completados em 09-25:
spell.cast: unidade = quem lançou, .spell código de quatro caracteres da habilidade, b nível, value recarga em segundos, x,y ponto de lançamento (detectado quando a habilidade entra em recarga, precisão = período de publicação)
player.left: .player número do jogador que saiu / foi removido por derrota; game.ended: saída da partida
selection.changed: a seleção do jogador local mudou (use g.selection() para obter as unidades)
message: uma linha numa caixa de mensagens da tela (dicas do jogo, chat, sistema): .text texto completo, .frame número da caixa de mensagens,
.chat = {'channel', 'sender', 'text'} (quando é chat; o que o jogador digita no chat é lido daqui)
ui.click / ui.hover / hotkey / mouse.world: interface e entrada (g.ui), .key é a key do canvas / a tecla de atalho como foi registrada
Cada um é Event(seq, kind, clock, addr, handle, type, owner, a, b, x, y, value, extra).
No modo justo (fair=True) só vêm: eventos das suas próprias unidades, eventos de unidades visíveis agora (ou que estavam visíveis até 1 segundo atrás), dano contra nós / causado por nós
e os eventos locais de interface / mensagens / partida.
Mecanismo Anel de eventos Local\War3Events_<pid> (comparação entre publicações + eventos de dano capturados pelo runtime)