// Enable dota_hud_show_creep_spawn_camp_names convar in-game to get creep location names while holding ALT. // The neutral camp names in-game should match up with the names below // there are two positioning slots, left and right. By default, stack will be in the left slot and pull in the right // if these overlap, the pull block can override with "flip_stack_and_pull" "1" to flip them "CREEP_PULL_TIMINGS" { "neutralcamp_evil_1" { "stack_start" "54" "stack_end" "56" "stack_arrow_direction" "330" "flip_stack_and_pull" "1" "radiant_pull" { "pull_1_start" "20" "pull_1_end" "22" "pull_2_start" "50" "pull_2_end" "52" "pull_arrow_direction" "270" } "dire_pull" { "pull_1_start" "26" "pull_1_end" "28" "pull_2_start" "56" "pull_2_end" "58" "pull_arrow_direction" "260" } } "neutralcamp_evil_2" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "170" "dire_pull" { "pull_1_start" "15" "pull_1_end" "17" "pull_2_start" "45" "pull_2_end" "47" "pull_arrow_direction" "170" } } "neutralcamp_evil_3" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "140" } "neutralcamp_evil_4" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "320" } "neutralcamp_evil_5" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "35" } "neutralcamp_evil_6" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "20" } "neutralcamp_evil_7" { "stack_start" "54" "stack_end" "56" "stack_arrow_direction" "140" } "neutralcamp_evil_8" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "270" } "neutralcamp_evil_9" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "180" } "neutralcamp_evil_10" { "stack_start" "54" "stack_end" "56" "stack_arrow_direction" "90" } "neutralcamp_evil_11" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "270" } "neutralcamp_evil_12" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "270" } "neutralcamp_evil_13" { "stack_start" "52" "stack_end" "54" "stack_arrow_direction" "30" } "neutralcamp_evil_14" { "stack_start" "52" "stack_end" "54" "stack_arrow_direction" "320" } "neutralcamp_evil_15" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "270" } "neutralcamp_good_1" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "135" "radiant_pull" { "pull_1_start" "17" "pull_1_end" "19" "pull_2_start" "47" "pull_2_end" "49" "pull_arrow_direction" "80" } } "neutralcamp_good_2" { "stack_start" "52" "stack_end" "54" "stack_arrow_direction" "320" "radiant_pull" { "pull_1_start" "24" "pull_1_end" "26" "pull_2_start" "54" "pull_2_end" "56" "pull_arrow_direction" "75" } "dire_pull" { "pull_1_start" "12" "pull_1_end" "14" "pull_2_start" "42" "pull_2_end" "44" "pull_arrow_direction" "125" } } "neutralcamp_good_3" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "340" } "neutralcamp_good_4" { "stack_start" "52" "stack_end" "54" "stack_arrow_direction" "230" } "neutralcamp_good_5" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "350" } "neutralcamp_good_6" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "240" } "neutralcamp_good_7" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "350" } "neutralcamp_good_8" { "stack_start" "52" "stack_end" "54" "stack_arrow_direction" "120" } "neutralcamp_good_9" { "stack_start" "52" "stack_end" "54" "stack_arrow_direction" "100" } "neutralcamp_good_10" { "stack_start" "54" "stack_end" "56" "stack_arrow_direction" "270" } "neutralcamp_good_11" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "270" } "neutralcamp_good_12" { "stack_start" "53" "stack_end" "55" "stack_arrow_direction" "90" } "neutralcamp_good_13" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "180" } "neutralcamp_good_14" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "110" } "neutralcamp_good_15" { "stack_start" "55" "stack_end" "57" "stack_arrow_direction" "350" } }