Skip to content

Farming & Rotation Tools

High-level analysis tools that aggregate data from multiple sources to answer complex gameplay questions.

get_farming_pattern

Analyze a hero's farming pattern - creep kills, camp rotations, and map movement.

This is THE tool for questions about "farming pattern", "how did X farm", "when did they start jungling", or "show me the farming movement minute by minute".

get_farming_pattern(
    match_id=8461956309,
    hero="antimage",
    start_minute=0,
    end_minute=15
)

Returns:

{
  "success": true,
  "match_id": 8461956309,
  "hero": "antimage",
  "start_minute": 0,
  "end_minute": 15,
  "minutes": [
    {
      "minute": 5,
      "lane_creeps_killed": 28,
      "camps_cleared": 2,
      "camp_sequence": [
        {
          "time_str": "5:12",
          "camp": "large_centaur",
          "tier": "large",
          "area": "radiant_jungle",
          "position_x": -4500.0,
          "position_y": 800.0,
          "creeps_killed": 3
        },
        {
          "time_str": "5:45",
          "camp": "medium_wolf",
          "tier": "medium",
          "area": "radiant_jungle",
          "position_x": -3200.0,
          "position_y": -1400.0,
          "creeps_killed": 3
        }
      ],
      "wave_clears": [
        {
          "time_str": "5:02",
          "creeps_killed": 4,
          "position_x": -5200.0,
          "position_y": -4100.0,
          "area": "radiant_safelane"
        }
      ],
      "position_at_start": {"x": -5200, "y": -4100, "area": "radiant_safelane"},
      "position_at_end": {"x": -3200, "y": -1400, "area": "radiant_jungle"},
      "gold": 2100,
      "level": 6
    }
  ],
  "multi_camp_clears": [
    {
      "time_str": "14:05",
      "camps": ["large_centaur", "medium_wolf"],
      "duration_seconds": 1.1,
      "creeps_killed": 4,
      "area": "dire_jungle"
    }
  ],
  "transitions": {
    "first_jungle_kill_str": "4:23",
    "first_large_camp_str": "5:12",
    "left_lane_str": "6:45"
  },
  "summary": {
    "total_lane_creeps": 85,
    "total_neutral_creeps": 42,
    "jungle_percentage": 33.1,
    "gpm": 520.0,
    "cs_per_min": 8.5,
    "multi_camp_clears": 3
  }
}

Key Fields:

Field Description
camp_sequence Ordered list of camps cleared each minute with position for path visualization
camp_sequence[].position_x/y Coordinates where camp was cleared (for map visualization)
camp_sequence[].creeps_killed Number of creeps killed in this camp
wave_clears Grouped lane creep kills (creeps killed within 5s window)
wave_clears[].position_x/y Coordinates where wave was cleared (for path visualization)
multi_camp_clears Detects when hero farms 2+ camps simultaneously (stacked/adjacent camps)
summary.multi_camp_clears Total count of multi-camp clear events

Multi-Camp Detection:

Detects heroes like Medusa or Luna farming stacked or adjacent camps with AoE abilities. A multi-camp clear is recorded when creeps from 2+ different camp types are killed within 3 seconds.

Example Questions This Tool Answers:

  • "What was Terrorblade's farming pattern in the first 10 minutes?"
  • "When did Anti-Mage start jungling?"
  • "Which camps did Luna clear between minutes 5-15?"
  • "How did the carry move across the map while farming?"
  • "Did Medusa farm stacked camps? How efficiently?"

get_rotation_analysis

Analyze hero rotations - movement patterns between lanes, rune correlations, and outcomes.

This is THE tool for questions about rotations, ganks, mid rotations after rune pickups, or support movements between lanes.

get_rotation_analysis(
    match_id=8461956309,
    start_minute=0,
    end_minute=20
)

Returns:

{
  "success": true,
  "match_id": 8461956309,
  "start_minute": 0,
  "end_minute": 20,
  "rotations": [
    {
      "rotation_id": "rot_1",
      "hero": "nevermore",
      "role": "mid",
      "game_time": 365.0,
      "game_time_str": "6:05",
      "from_lane": "mid",
      "to_lane": "bot",
      "rune_before": {
        "rune_type": "haste",
        "pickup_time": 362.0,
        "pickup_time_str": "6:02",
        "seconds_before_rotation": 3.0
      },
      "outcome": {
        "type": "kill",
        "fight_id": "fight_3",
        "deaths_in_window": 1,
        "rotation_hero_died": false,
        "kills_by_rotation_hero": ["antimage"]
      },
      "travel_time_seconds": 45.0,
      "returned_to_lane": true,
      "return_time_str": "7:30"
    }
  ],
  "rune_events": {
    "power_runes": [
      {
        "spawn_time": 360.0,
        "spawn_time_str": "6:00",
        "location": "top",
        "taken_by": "nevermore",
        "pickup_time": 362.0,
        "led_to_rotation": true,
        "rotation_id": "rot_1"
      }
    ],
    "wisdom_runes": [
      {
        "spawn_time": 420.0,
        "spawn_time_str": "7:00",
        "location": "radiant_jungle",
        "contested": true,
        "fight_id": "fight_4",
        "deaths_nearby": 2
      }
    ]
  },
  "summary": {
    "total_rotations": 8,
    "by_hero": {
      "nevermore": {
        "hero": "nevermore",
        "role": "mid",
        "total_rotations": 3,
        "successful_ganks": 2,
        "failed_ganks": 0,
        "trades": 1,
        "rune_rotations": 3
      }
    },
    "runes_leading_to_kills": 4,
    "wisdom_rune_fights": 2,
    "most_active_rotator": "nevermore"
  }
}

Key Features:

  • Rotation Detection: Tracks when heroes leave their assigned lane and go to another lane
  • Rune Correlation: Links power rune pickups (within 60s) to subsequent rotations
  • Fight Outcome: Determines if rotation resulted in kill, death, trade, or no engagement
  • Fight Linking: Provides fight_id - use get_fight(fight_id) for detailed combat log
  • Wisdom Rune Fights: Detects contested wisdom rune spawns with deaths nearby

Outcome Types:

Type Description
kill Rotating hero got a kill without dying
died Rotating hero died without getting a kill
traded Rotating hero got a kill but also died
fight Rotation led to a fight but no kills by/on rotating hero
no_engagement No deaths occurred within 60s of rotation

Example Questions This Tool Answers:

  • "How many rotations did the mid player make after power runes?"
  • "Which rotations resulted in kills vs deaths?"
  • "Were there any fights at wisdom rune spawns?"
  • "Who was the most active rotator in the early game?"
  • "Did the mid rotate after the 6-minute rune?"