From e6e935c7cc0c3ba1679d51f7d4c3eb4f75952a05 Mon Sep 17 00:00:00 2001 From: geracosta Date: Wed, 23 Sep 2026 15:08:13 -0300 Subject: [PATCH 1/2] Document assists_log on player_matches odota/parser#94 adds assists_log: one entry per assist, with the time of the death and the hero that died, the same shape as kills_log. Entries whose victim is not decidable carry ambiguous: true, which is documented alongside so a consumer knows it can filter them. --- svc/api/responses/MatchResponse.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/svc/api/responses/MatchResponse.ts b/svc/api/responses/MatchResponse.ts index 53843416b..dca380004 100644 --- a/svc/api/responses/MatchResponse.ts +++ b/svc/api/responses/MatchResponse.ts @@ -501,6 +501,30 @@ export default { }, }, }, + assists_log: { + description: + "Array containing information on which hero the player assisted in killing at what time. Only present for matches parsed after the field was added", + type: "array", + items: { + type: "object", + properties: { + time: { + description: + "Time in seconds of the death the player was credited for", + type: "integer", + }, + key: { + description: "Hero that died", + type: "string", + }, + ambiguous: { + description: + "Present and true when more enemies died in that second than the player was credited for, so the hero named in key is one of them rather than a certainty. About 1.7% of entries", + type: "boolean", + }, + }, + }, + }, deaths_log: { description: "Array containing information on the player's deaths: when they died, to whom, the gold lost and the time spent dead. Only present for matches parsed after the field was added", From e6d6eea0c4a47699bbd02475fd0d5b96d2431920 Mon Sep 17 00:00:00 2001 From: geracosta Date: Sat, 3 Oct 2026 12:38:17 -0300 Subject: [PATCH 2/2] Update the assists_log docs for tick pairing odota/parser#94 now pairs each assist with its death on the tick both counters move, so ambiguous only comes up on old replays without the combat log assist list. Key can also be a hero on the player's own side, since the game credits some assists on those deaths. --- svc/api/responses/MatchResponse.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/svc/api/responses/MatchResponse.ts b/svc/api/responses/MatchResponse.ts index dca380004..b063bfbac 100644 --- a/svc/api/responses/MatchResponse.ts +++ b/svc/api/responses/MatchResponse.ts @@ -514,12 +514,13 @@ export default { type: "integer", }, key: { - description: "Hero that died", + description: + "Hero that died. Usually an enemy; the game also credits some assists on a death on the player's own side", type: "string", }, ambiguous: { description: - "Present and true when more enemies died in that second than the player was credited for, so the hero named in key is one of them rather than a certainty. About 1.7% of entries", + "Present and true when two heroes died on the same tick and the replay doesn't tell which of them the assist was for, so the hero named in key is one of them rather than a certainty. Only seen on old replays that predate the combat log assist list", type: "boolean", }, },