Skip to content

Game Events Reference

AI Summary

Complete reference for 364 Source 1 legacy game events in Dota 2 replays. Events are organized by category: Player (kills, denies, abilities), Unit (towers, barracks, roshan), Item (purchases, pickups), Rune (spawns, activations), Game State (match events), and Combat (combatlog). Use parse_game_events() with capture_types=True to discover all available events in a replay.


Event Categories

Player Events

Event Name Description Key Fields
dota_player_kill Player killed another player victim_userid, killer1_userid, killer2_userid-killer5_userid
dota_player_deny Player denied a unit killer_userid, denied_userid
dota_player_pick_hero Player picked a hero player, heroindex, hero
dota_player_learned_ability Player learned an ability player, abilityname
dota_player_used_ability Player used an ability player, abilityname
dota_player_gained_level Player leveled up player, level
dota_player_take_tower_damage Player took tower damage player, damage
dota_player_update_hero_selection Hero selection updated player
dota_player_update_selected_unit Selected unit changed player
dota_player_update_query_unit Query unit changed player
dota_player_update_killcam_unit Killcam unit changed player

Unit Events

Event Name Description Key Fields
dota_tower_kill Tower destroyed killer_userid, teamnumber, gold
dota_barracks_kill Barracks destroyed killer_userid, teamnumber
dota_roshan_kill Roshan killed teamnumber
dota_courier_lost Courier killed teamnumber
dota_npc_goal_reached NPC reached goal npc_entindex
dota_hero_swap Heroes swapped playerid1, playerid2

Item Events

Event Name Description Key Fields
dota_item_purchased Item purchased userid, itemname
dota_item_combined Items combined userid, itemname
dota_item_picked_up Item picked up userid, itemname
dota_inventory_changed Inventory changed userid
dota_item_given Item given to another userid, itemname, recipientuserid

Rune Events

Event Name Description Key Fields
dota_rune_activated Rune activated player_id, rune
dota_rune_spawned Rune spawned rune, pos_x, pos_y, pos_z
dota_bounty_rune_pickup Bounty rune picked up player_id, team, gold
dota_neutral_token_pickup Neutral token picked up player_id

Game State Events

Event Name Description Key Fields
dota_match_done Match ended winningteam, radiant_score, dire_score
dota_game_state_change Game state changed old_state, new_state
game_rules_state_change Game rules changed state
dota_team_kill_credit Team credited with kill killer_userid, victim_userid, teamnumber
dota_aegis_event Aegis event player_id, event
dota_buyback Player bought back player_id, cost
dota_glyph_used Glyph activated teamnumber

Combat Events

Event Name Description Key Fields
dota_combatlog Combat log entry type, sourcename, targetname, value
dota_player_take_tower_damage Tower damage taken player, damage

Event Field Types

Fields in game events are automatically typed:

Go Type Python Type Example
string str "npc_dota_hero_axe"
float float 123.456
long int 1234567890
short int 12345
byte int 255
bool bool True
uint64 int 76561198012345678

Discovering Events

Get all event types available in a replay:

from python_manta import MantaParser

parser = MantaParser()
result = parser.parse_game_events("match.dem", capture_types=True, max_events=0)

print(f"Total event types: {len(result.event_types)}")
for event_type in sorted(result.event_types):
    print(f"  {event_type}")

Common Event Patterns

Kill Events

# dota_player_kill fields
{
    "victim_userid": int,      # Victim player ID
    "killer1_userid": int,     # Primary killer
    "killer2_userid": int,     # Assist 1 (optional)
    "killer3_userid": int,     # Assist 2 (optional)
    "killer4_userid": int,     # Assist 3 (optional)
    "killer5_userid": int,     # Assist 4 (optional)
}

Tower Kill Events

# dota_tower_kill fields
{
    "killer_userid": int,      # Killer player ID
    "teamnumber": int,         # 2=Radiant, 3=Dire (tower team)
    "gold": int,               # Gold awarded
}

Combatlog Events

# dota_combatlog fields
{
    "type": int,               # Combat log type
    "sourcename": str,         # Source unit
    "targetname": str,         # Target unit
    "value": int,              # Damage/heal amount
}

All 364 Event Types

Use capture_types=True to get the complete list for your specific replay. The actual events available depend on the game version and what occurred during the match.

Common categories include:

  • dota_player_* - Player actions
  • dota_npc_* - NPC actions
  • dota_item_* - Item events
  • dota_rune_* - Rune events
  • dota_tower_* - Tower events
  • dota_roshan_* - Roshan events
  • dota_game_* - Game state events
  • dota_tutorial_* - Tutorial events
  • dota_ability_* - Ability events
  • game_* - Engine game events