The totals for hero damage and tower damage as reported through the WebAPI don't match the totals calculated using the replay combat log.

To easily confirm this, use the following steps. You'll need to have played at least one matchmaking game within the last week with "Share Match History" turned on, and the Dota 2 console must be enabled.

  1. Go to Dotabuff and view your Records tab, then select "This Week" in the drop-down at the top.
  2. The damage total of your record-breaking game is shown under the "Highest Hero Damage" section (example). This value was reported by the WebAPI.
  3. Click on the match ID to be taken to the details page for the match. Press the "Watch Replay" button in the top-right. (If this doesn't work, find the match using your match history in the Dota 2 client instead.)
  4. Once the replay has loaded, skip ahead to the very end so the score screen is visible.
  5. Open the console to view a breakdown of each hero's damage output and crowd control, and find the section for your hero. The "Total Damage Done" value is the result of adding up all hero damge events from the replay's combat log (example). This number differs from the value reported by the WebAPI.


Notes:

  • I did some calculations with combat log data (thanks to Bruno's enhanced replay parser) in an effort to figure out how the WebAPI calculates hero damage, but I couldn't come up with a number that matched the one reported by GetMatchDetails.
  • I did notcheck the tower damage totals because the end-game breakdown in the console does not display this information. (However, the numbers are around the same magnitude as I'd expect.)