-
Notifications
You must be signed in to change notification settings - Fork 40
/
hero_data.lua
3240 lines (3126 loc) · 128 KB
/
hero_data.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
local X = {}
X.windrunner = {}
X.windrunner.Type = "DOTA_BOT_GANKER | DOTA_BOT_STUN_SUPPORT"
X.windrunner.SKILL_0 = "windrunner_shackleshot"
X.windrunner.SKILL_1 = "windrunner_powershot"
X.windrunner.SKILL_2 = "windrunner_windrun"
X.windrunner.SKILL_3 = "windrunner_focusfire"
X.windrunner.TALENT_0 = "special_bonus_mp_regen_4"
X.windrunner.TALENT_1 = "special_bonus_unique_windranger_2"
X.windrunner.TALENT_2 = "special_bonus_movement_speed_40"
X.windrunner.TALENT_3 = "special_bonus_intelligence_20"
X.windrunner.TALENT_4 = "special_bonus_unique_windranger"
X.windrunner.TALENT_5 = "special_bonus_unique_windranger_3"
X.windrunner.TALENT_6 = "special_bonus_attack_range_150"
X.windrunner.TALENT_7 = "special_bonus_cooldown_reduction_30"
X.windrunner.Role = {}
X.windrunner.Role.Carry = 1
X.windrunner.Role.Support = 1
X.windrunner.Role.Disabler = 1
X.windrunner.Role.Escape = 1
X.windrunner.Role.Nuker = 1
X.windrunner.LaneInfo = {}
X.windrunner.LaneInfo.ProvidesSetup = 1
X.windrunner.LaneInfo.SurvivalRating = 1
X.windrunner.LaneInfo.SoloDesire = 0
X.windrunner.LaneInfo.ProvidesBabysit = 2
X.windrunner.LaneInfo.RequiresBabysit = 0
X.windrunner.LaneInfo.RequiresSetup = 0
X.windrunner.LaneInfo.RequiresFarm = 1
X.dark_seer = {}
X.dark_seer.Type = "DOTA_BOT_PURE_SUPPORT"
X.dark_seer.SKILL_0 = "dark_seer_vacuum"
X.dark_seer.SKILL_1 = "dark_seer_ion_shell"
X.dark_seer.SKILL_2 = "dark_seer_surge"
X.dark_seer.SKILL_3 = "dark_seer_wall_of_replica"
X.dark_seer.TALENT_0 = "special_bonus_evasion_12"
X.dark_seer.TALENT_1 = "special_bonus_cast_range_100"
X.dark_seer.TALENT_2 = "special_bonus_attack_damage_120"
X.dark_seer.TALENT_3 = "special_bonus_hp_regen_14"
X.dark_seer.TALENT_4 = "special_bonus_cooldown_reduction_10"
X.dark_seer.TALENT_5 = "special_bonus_unique_dark_seer_2"
X.dark_seer.TALENT_6 = "special_bonus_strength_25"
X.dark_seer.TALENT_7 = "special_bonus_unique_dark_seer"
X.dark_seer.Role = {}
X.dark_seer.Role.Initiator = 1
X.dark_seer.Role.Jungler = 1
X.dark_seer.Role.Escape = 1
X.dark_seer.Role.Disabler = 1
X.dark_seer.LaneInfo = {}
X.dark_seer.LaneInfo.ProvidesSetup = 0
X.dark_seer.LaneInfo.SurvivalRating = 2
X.dark_seer.LaneInfo.SoloDesire = 0
X.dark_seer.LaneInfo.ProvidesBabysit = 1
X.dark_seer.LaneInfo.RequiresBabysit = 0
X.dark_seer.LaneInfo.RequiresSetup = 1
X.dark_seer.LaneInfo.RequiresFarm = 1
X.vengefulspirit = {}
X.vengefulspirit.Type = "DOTA_BOT_GANKER | DOTA_BOT_STUN_SUPPORT"
X.vengefulspirit.SKILL_0 = "vengefulspirit_magic_missile"
X.vengefulspirit.SKILL_1 = "vengefulspirit_wave_of_terror"
X.vengefulspirit.SKILL_2 = "vengefulspirit_command_aura"
X.vengefulspirit.SKILL_3 = "vengefulspirit_nether_swap"
X.vengefulspirit.TALENT_0 = "special_bonus_magic_resistance_8"
X.vengefulspirit.TALENT_1 = "special_bonus_attack_speed_25"
X.vengefulspirit.TALENT_2 = "special_bonus_all_stats_8"
X.vengefulspirit.TALENT_3 = "special_bonus_unique_vengeful_spirit_1"
X.vengefulspirit.TALENT_4 = "special_bonus_attack_damage_65"
X.vengefulspirit.TALENT_5 = "special_bonus_movement_speed_35"
X.vengefulspirit.TALENT_6 = "special_bonus_unique_vengeful_spirit_2"
X.vengefulspirit.TALENT_7 = "special_bonus_unique_vengeful_spirit_3"
X.vengefulspirit.Role = {}
X.vengefulspirit.Role.Support = 3
X.vengefulspirit.Role.Initiator = 2
X.vengefulspirit.Role.Disabler = 2
X.vengefulspirit.Role.Nuker = 1
X.vengefulspirit.Role.Escape = 1
X.vengefulspirit.LaneInfo = {}
X.vengefulspirit.LaneInfo.ProvidesSetup = 2
X.vengefulspirit.LaneInfo.SurvivalRating = 1
X.vengefulspirit.LaneInfo.SoloDesire = 0
X.vengefulspirit.LaneInfo.ProvidesBabysit = 2
X.vengefulspirit.LaneInfo.RequiresBabysit = 0
X.vengefulspirit.LaneInfo.RequiresSetup = 0
X.vengefulspirit.LaneInfo.RequiresFarm = 0
X.night_stalker = {}
X.night_stalker.Type = "DOTA_BOT_TANK | DOTA_BOT_SEMI_CARRY | DOTA_BOT_GANKER"
X.night_stalker.SKILL_0 = "night_stalker_void"
X.night_stalker.SKILL_1 = "night_stalker_crippling_fear"
X.night_stalker.SKILL_2 = "night_stalker_hunter_in_the_night"
X.night_stalker.SKILL_3 = "night_stalker_darkness"
X.night_stalker.TALENT_0 = "special_bonus_strength_7"
X.night_stalker.TALENT_1 = "special_bonus_cast_range_100"
X.night_stalker.TALENT_2 = "special_bonus_mp_300"
X.night_stalker.TALENT_3 = "special_bonus_attack_speed_25"
X.night_stalker.TALENT_4 = "special_bonus_movement_speed_30"
X.night_stalker.TALENT_5 = "special_bonus_attack_damage_50"
X.night_stalker.TALENT_6 = "special_bonus_armor_12"
X.night_stalker.TALENT_7 = "special_bonus_unique_night_stalker"
X.night_stalker.Role = {}
X.night_stalker.Role.Carry = 1
X.night_stalker.Role.Initiator = 2
X.night_stalker.Role.Durable = 2
X.night_stalker.Role.Disabler = 2
X.night_stalker.Role.Nuker = 1
X.night_stalker.LaneInfo = {}
X.night_stalker.LaneInfo.ProvidesSetup = 2
X.night_stalker.LaneInfo.SurvivalRating = 2
X.night_stalker.LaneInfo.SoloDesire = 1
X.night_stalker.LaneInfo.ProvidesBabysit = 1
X.night_stalker.LaneInfo.RequiresBabysit = 1
X.night_stalker.LaneInfo.RequiresSetup = 0
X.night_stalker.LaneInfo.RequiresFarm = 2
X.medusa = {}
X.medusa.Type = "DOTA_BOT_TANK | DOTA_BOT_HARD_CARRY"
X.medusa.SKILL_0 = "medusa_split_shot"
X.medusa.SKILL_1 = "medusa_mystic_snake"
X.medusa.SKILL_2 = "medusa_mana_shield"
X.medusa.SKILL_3 = "medusa_stone_gaze"
X.medusa.TALENT_0 = "special_bonus_intelligence_12"
X.medusa.TALENT_1 = "special_bonus_attack_damage_15"
X.medusa.TALENT_2 = "special_bonus_attack_speed_20"
X.medusa.TALENT_3 = "special_bonus_evasion_15"
X.medusa.TALENT_4 = "special_bonus_unique_medusa_2"
X.medusa.TALENT_5 = "special_bonus_mp_600"
X.medusa.TALENT_6 = "special_bonus_lifesteal_25"
X.medusa.TALENT_7 = "special_bonus_unique_medusa"
X.medusa.Role = {}
X.medusa.Role.Carry = 3
X.medusa.Role.Disabler = 1
X.medusa.Role.Durable = 1
X.medusa.LaneInfo = {}
X.medusa.LaneInfo.ProvidesSetup = 0
X.medusa.LaneInfo.SurvivalRating = 1
X.medusa.LaneInfo.SoloDesire = 0
X.medusa.LaneInfo.ProvidesBabysit = 0
X.medusa.LaneInfo.RequiresBabysit = 1
X.medusa.LaneInfo.RequiresSetup = 1
X.medusa.LaneInfo.RequiresFarm = 2
X.undying = {}
X.undying.Type = "DOTA_BOT_TANK | DOTA_BOT_SEMI_CARRY"
X.undying.SKILL_0 = "undying_decay"
X.undying.SKILL_1 = "undying_soul_rip"
X.undying.SKILL_2 = "undying_tombstone"
X.undying.SKILL_3 = "undying_flesh_golem"
X.undying.TALENT_0 = "special_bonus_hp_regen_15"
X.undying.TALENT_1 = "special_bonus_gold_income_15"
X.undying.TALENT_2 = "special_bonus_exp_boost_35"
X.undying.TALENT_3 = "special_bonus_hp_300"
X.undying.TALENT_4 = "special_bonus_unique_undying"
X.undying.TALENT_5 = "special_bonus_movement_speed_30"
X.undying.TALENT_6 = "special_bonus_armor_15"
X.undying.TALENT_7 = "special_bonus_unique_undying_2"
X.undying.Role = {}
X.undying.Role.Support = 1
X.undying.Role.Durable = 2
X.undying.Role.Disabler = 1
X.undying.Role.Nuker = 1
X.undying.LaneInfo = {}
X.undying.LaneInfo.ProvidesSetup = 1
X.undying.LaneInfo.SurvivalRating = 1
X.undying.LaneInfo.SoloDesire = 0
X.undying.LaneInfo.ProvidesBabysit = 0
X.undying.LaneInfo.RequiresBabysit = 1
X.undying.LaneInfo.RequiresSetup = 0
X.undying.LaneInfo.RequiresFarm = 1
X.riki = {}
X.riki.Type = "DOTA_BOT_HARD_CARRY | DOTA_BOT_GANKER"
X.riki.SKILL_0 = "riki_smoke_screen"
X.riki.SKILL_1 = "riki_blink_strike"
X.riki.SKILL_2 = "riki_permanent_invisibility"
X.riki.SKILL_3 = "riki_tricks_of_the_trade"
X.riki.TALENT_0 = "special_bonus_hp_150"
X.riki.TALENT_1 = "special_bonus_movement_speed_15"
X.riki.TALENT_2 = "special_bonus_agility_10"
X.riki.TALENT_3 = "special_bonus_exp_boost_30"
X.riki.TALENT_4 = "special_bonus_cast_range_250"
X.riki.TALENT_5 = "special_bonus_all_stats_8"
X.riki.TALENT_6 = "special_bonus_unique_riki_1"
X.riki.TALENT_7 = "special_bonus_unique_riki_2"
X.riki.Role = {}
X.riki.Role.Carry = 2
X.riki.Role.Escape = 2
X.riki.Role.Disabler = 1
X.riki.LaneInfo = {}
X.riki.LaneInfo.ProvidesSetup = 1
X.riki.LaneInfo.SurvivalRating = 2
X.riki.LaneInfo.SoloDesire = 0
X.riki.LaneInfo.ProvidesBabysit = 0
X.riki.LaneInfo.RequiresBabysit = 2
X.riki.LaneInfo.RequiresSetup = 2
X.riki.LaneInfo.RequiresFarm = 2
X.storm_spirit = {}
X.storm_spirit.Type = "DOTA_BOT_GANKER | DOTA_BOT_SEMI_CARRY"
X.storm_spirit.SKILL_0 = "storm_spirit_static_remnant"
X.storm_spirit.SKILL_1 = "storm_spirit_electric_vortex"
X.storm_spirit.SKILL_2 = "storm_spirit_overload"
X.storm_spirit.SKILL_3 = "storm_spirit_ball_lightning"
X.storm_spirit.TALENT_0 = "special_bonus_attack_damage_20"
X.storm_spirit.TALENT_1 = "special_bonus_mp_regen_3"
X.storm_spirit.TALENT_2 = "special_bonus_hp_200"
X.storm_spirit.TALENT_3 = "special_bonus_intelligence_10"
X.storm_spirit.TALENT_4 = "special_bonus_attack_speed_40"
X.storm_spirit.TALENT_5 = "special_bonus_armor_8"
X.storm_spirit.TALENT_6 = "special_bonus_spell_amplify_10"
X.storm_spirit.TALENT_7 = "special_bonus_unique_storm_spirit"
X.storm_spirit.Role = {}
X.storm_spirit.Role.Carry = 2
X.storm_spirit.Role.Escape = 3
X.storm_spirit.Role.Nuker = 2
X.storm_spirit.Role.Initiator = 1
X.storm_spirit.Role.Disabler = 1
X.storm_spirit.LaneInfo = {}
X.storm_spirit.LaneInfo.ProvidesSetup = 2
X.storm_spirit.LaneInfo.SurvivalRating = 2
X.storm_spirit.LaneInfo.SoloDesire = 2
X.storm_spirit.LaneInfo.ProvidesBabysit = 1
X.storm_spirit.LaneInfo.RequiresBabysit = 0
X.storm_spirit.LaneInfo.RequiresSetup = 0
X.storm_spirit.LaneInfo.RequiresFarm = 2
X.tusk = {}
X.tusk.Type = "DOTA_BOT_GANKER | DOTA_BOT_SEMI_CARRY"
X.tusk.SKILL_0 = "tusk_ice_shards"
X.tusk.SKILL_1 = "tusk_snowball"
X.tusk.SKILL_2 = "tusk_frozen_sigil"
X.tusk.SKILL_3 = "tusk_launch_snowball"
X.tusk.SKILL_4 = "tusk_walrus_kick"
X.tusk.SKILL_5 = "tusk_walrus_punch"
X.tusk.TALENT_0 = "special_bonus_exp_boost_40"
X.tusk.TALENT_1 = "special_bonus_attack_damage_35"
X.tusk.TALENT_2 = "special_bonus_unique_tusk_2"
X.tusk.TALENT_3 = "special_bonus_gold_income_15"
X.tusk.TALENT_4 = "special_bonus_armor_6"
X.tusk.TALENT_5 = "special_bonus_magic_resistance_12"
X.tusk.TALENT_6 = "special_bonus_hp_700"
X.tusk.TALENT_7 = "special_bonus_unique_tusk"
X.tusk.Role = {}
X.tusk.Role.Initiator = 2
X.tusk.Role.Disabler = 2
X.tusk.Role.Nuker = 1
X.tusk.LaneInfo = {}
X.tusk.LaneInfo.ProvidesSetup = 1
X.tusk.LaneInfo.SurvivalRating = 1
X.tusk.LaneInfo.SoloDesire = 1
X.tusk.LaneInfo.ProvidesBabysit = 2
X.tusk.LaneInfo.RequiresBabysit = 0
X.tusk.LaneInfo.RequiresSetup = 0
X.tusk.LaneInfo.RequiresFarm = 0
X.sniper = {}
X.sniper.Type = "DOTA_BOT_HARD_CARRY"
X.sniper.SKILL_0 = "sniper_shrapnel"
X.sniper.SKILL_1 = "sniper_headshot"
X.sniper.SKILL_2 = "sniper_take_aim"
X.sniper.SKILL_3 = "sniper_assassinate"
X.sniper.TALENT_0 = "special_bonus_mp_regen_5"
X.sniper.TALENT_1 = "special_bonus_attack_speed_15"
X.sniper.TALENT_2 = "special_bonus_unique_sniper_1"
X.sniper.TALENT_3 = "special_bonus_hp_200"
X.sniper.TALENT_4 = "special_bonus_armor_8"
X.sniper.TALENT_5 = "special_bonus_cooldown_reduction_25"
X.sniper.TALENT_6 = "special_bonus_attack_range_100"
X.sniper.TALENT_7 = "special_bonus_unique_sniper_2"
X.sniper.Role = {}
X.sniper.Role.Carry = 3
X.sniper.Role.Nuker = 1
X.sniper.LaneInfo = {}
X.sniper.LaneInfo.ProvidesSetup = 0
X.sniper.LaneInfo.SurvivalRating = 0
X.sniper.LaneInfo.SoloDesire = 1
X.sniper.LaneInfo.ProvidesBabysit = 1
X.sniper.LaneInfo.RequiresBabysit = 0
X.sniper.LaneInfo.RequiresSetup = 1
X.sniper.LaneInfo.RequiresFarm = 2
X.pugna = {}
X.pugna.Type = "DOTA_BOT_PUSH_SUPPORT"
X.pugna.SKILL_0 = "pugna_nether_blast"
X.pugna.SKILL_1 = "pugna_decrepify"
X.pugna.SKILL_2 = "pugna_nether_ward"
X.pugna.SKILL_3 = "pugna_life_drain"
X.pugna.TALENT_0 = "special_bonus_mp_regen_3"
X.pugna.TALENT_1 = "special_bonus_hp_225"
X.pugna.TALENT_2 = "special_bonus_unique_pugna_5"
X.pugna.TALENT_3 = "special_bonus_unique_pugna_4"
X.pugna.TALENT_4 = "special_bonus_unique_pugna_3"
X.pugna.TALENT_5 = "special_bonus_cast_range_150"
X.pugna.TALENT_6 = "special_bonus_unique_pugna_1"
X.pugna.TALENT_7 = "special_bonus_unique_pugna_2"
X.pugna.Role = {}
X.pugna.Role.Nuker = 2
X.pugna.Role.Pusher = 2
X.pugna.LaneInfo = {}
X.pugna.LaneInfo.ProvidesSetup = 0
X.pugna.LaneInfo.SurvivalRating = 1
X.pugna.LaneInfo.SoloDesire = 2
X.pugna.LaneInfo.ProvidesBabysit = 2
X.pugna.LaneInfo.RequiresBabysit = 0
X.pugna.LaneInfo.RequiresSetup = 1
X.pugna.LaneInfo.RequiresFarm = 1
X.ogre_magi = {}
X.ogre_magi.Type = "DOTA_BOT_STUN_SUPPORT | DOTA_BOT_GANKER"
X.ogre_magi.SKILL_0 = "ogre_magi_fireblast"
X.ogre_magi.SKILL_1 = "ogre_magi_ignite"
X.ogre_magi.SKILL_2 = "ogre_magi_bloodlust"
X.ogre_magi.SKILL_3 = "ogre_magi_unrefined_fireblast"
X.ogre_magi.SKILL_4 = "ogre_magi_multicast"
X.ogre_magi.TALENT_0 = "special_bonus_gold_income_10"
X.ogre_magi.TALENT_1 = "special_bonus_cast_range_100"
X.ogre_magi.TALENT_2 = "special_bonus_attack_damage_50"
X.ogre_magi.TALENT_3 = "special_bonus_magic_resistance_8"
X.ogre_magi.TALENT_4 = "special_bonus_hp_250"
X.ogre_magi.TALENT_5 = "special_bonus_movement_speed_25"
X.ogre_magi.TALENT_6 = "special_bonus_spell_amplify_15"
X.ogre_magi.TALENT_7 = "special_bonus_unique_ogre_magi"
X.ogre_magi.Role = {}
X.ogre_magi.Role.Support = 2
X.ogre_magi.Role.Nuker = 2
X.ogre_magi.Role.Disabler = 2
X.ogre_magi.Role.Durable = 1
X.ogre_magi.Role.Initiator = 1
X.ogre_magi.LaneInfo = {}
X.ogre_magi.LaneInfo.ProvidesSetup = 2
X.ogre_magi.LaneInfo.SurvivalRating = 1
X.ogre_magi.LaneInfo.SoloDesire = 0
X.ogre_magi.LaneInfo.ProvidesBabysit = 2
X.ogre_magi.LaneInfo.RequiresBabysit = 0
X.ogre_magi.LaneInfo.RequiresSetup = 0
X.ogre_magi.LaneInfo.RequiresFarm = 2
X.jakiro = {}
X.jakiro.Type = "DOTA_BOT_PUSH_SUPPORT | DOTA_BOT_STUN_SUPPORT"
X.jakiro.SKILL_0 = "jakiro_dual_breath"
X.jakiro.SKILL_1 = "jakiro_ice_path"
X.jakiro.SKILL_2 = "jakiro_liquid_fire"
X.jakiro.SKILL_3 = "jakiro_macropyre"
X.jakiro.TALENT_0 = "special_bonus_exp_boost_25"
X.jakiro.TALENT_1 = "special_bonus_spell_amplify_8"
X.jakiro.TALENT_2 = "special_bonus_cast_range_125"
X.jakiro.TALENT_3 = "special_bonus_unique_jakiro_2"
X.jakiro.TALENT_4 = "special_bonus_attack_range_400"
X.jakiro.TALENT_5 = "special_bonus_gold_income_25"
X.jakiro.TALENT_6 = "special_bonus_unique_jakiro_3"
X.jakiro.TALENT_7 = "special_bonus_unique_jakiro"
X.jakiro.Role = {}
X.jakiro.Role.Support = 1
X.jakiro.Role.Nuker = 2
X.jakiro.Role.Pusher = 2
X.jakiro.Role.Disabler = 1
X.jakiro.LaneInfo = {}
X.jakiro.LaneInfo.ProvidesSetup = 2
X.jakiro.LaneInfo.SurvivalRating = 1
X.jakiro.LaneInfo.SoloDesire = 0
X.jakiro.LaneInfo.ProvidesBabysit = 2
X.jakiro.LaneInfo.RequiresBabysit = 0
X.jakiro.LaneInfo.RequiresSetup = 0
X.jakiro.LaneInfo.RequiresFarm = 1
X.crystal_maiden = {}
X.crystal_maiden.Type = "DOTA_BOT_PURE_SUPPORT"
X.crystal_maiden.SKILL_0 = "crystal_maiden_crystal_nova"
X.crystal_maiden.SKILL_1 = "crystal_maiden_frostbite"
X.crystal_maiden.SKILL_2 = "crystal_maiden_brilliance_aura"
X.crystal_maiden.SKILL_3 = "crystal_maiden_freezing_field"
X.crystal_maiden.TALENT_0 = "special_bonus_magic_resistance_15"
X.crystal_maiden.TALENT_1 = "special_bonus_attack_damage_60"
X.crystal_maiden.TALENT_2 = "special_bonus_cast_range_125"
X.crystal_maiden.TALENT_3 = "special_bonus_hp_250"
X.crystal_maiden.TALENT_4 = "special_bonus_gold_income_20"
X.crystal_maiden.TALENT_5 = "special_bonus_unique_crystal_maiden_3"
X.crystal_maiden.TALENT_6 = "special_bonus_unique_crystal_maiden_1"
X.crystal_maiden.TALENT_7 = "special_bonus_unique_crystal_maiden_2"
X.crystal_maiden.Role = {}
X.crystal_maiden.Role.Support = 3
X.crystal_maiden.Role.Disabler = 2
X.crystal_maiden.Role.Nuker = 2
X.crystal_maiden.Role.Jungler = 1
X.crystal_maiden.LaneInfo = {}
X.crystal_maiden.LaneInfo.ProvidesSetup = 1
X.crystal_maiden.LaneInfo.SurvivalRating = 1
X.crystal_maiden.LaneInfo.SoloDesire = 0
X.crystal_maiden.LaneInfo.ProvidesBabysit = 2
X.crystal_maiden.LaneInfo.RequiresBabysit = 0
X.crystal_maiden.LaneInfo.RequiresSetup = 0
X.crystal_maiden.LaneInfo.RequiresFarm = 1
X.ancient_apparition = {}
X.ancient_apparition.Type = "DOTA_BOT_PURE_SUPPORT"
X.ancient_apparition.SKILL_0 = "ancient_apparition_cold_feet"
X.ancient_apparition.SKILL_1 = "ancient_apparition_ice_vortex"
X.ancient_apparition.SKILL_2 = "ancient_apparition_chilling_touch"
X.ancient_apparition.SKILL_3 = "ancient_apparition_ice_blast"
X.ancient_apparition.SKILL_4 = "ancient_apparition_ice_blast_release"
X.ancient_apparition.TALENT_0 = "special_bonus_gold_income_10"
X.ancient_apparition.TALENT_1 = "special_bonus_spell_amplify_8"
X.ancient_apparition.TALENT_2 = "special_bonus_unique_ancient_apparition_3"
X.ancient_apparition.TALENT_3 = "special_bonus_hp_regen_30"
X.ancient_apparition.TALENT_4 = "special_bonus_hp_400"
X.ancient_apparition.TALENT_5 = "special_bonus_unique_ancient_apparition_4"
X.ancient_apparition.TALENT_6 = "special_bonus_unique_ancient_apparition_1"
X.ancient_apparition.TALENT_7 = "special_bonus_unique_ancient_apparition_2"
X.ancient_apparition.Role = {}
X.ancient_apparition.Role.Support = 2
X.ancient_apparition.Role.Disabler = 1
X.ancient_apparition.Role.Nuker = 1
X.ancient_apparition.LaneInfo = {}
X.ancient_apparition.LaneInfo.ProvidesSetup = 1
X.ancient_apparition.LaneInfo.SurvivalRating = 0
X.ancient_apparition.LaneInfo.SoloDesire = 0
X.ancient_apparition.LaneInfo.ProvidesBabysit = 2
X.ancient_apparition.LaneInfo.RequiresBabysit = 0
X.ancient_apparition.LaneInfo.RequiresSetup = 0
X.ancient_apparition.LaneInfo.RequiresFarm = 1
X.lone_druid = {}
X.lone_druid.Type = "DOTA_BOT_TANK | DOTA_BOT_SEMI_CARRY"
X.lone_druid.SKILL_0 = "lone_druid_spirit_bear"
X.lone_druid.SKILL_1 = "lone_druid_rabid"
X.lone_druid.SKILL_2 = "lone_druid_savage_roar"
X.lone_druid.SKILL_3 = "lone_druid_true_form_battle_cry"
X.lone_druid.SKILL_4 = "lone_druid_true_form"
X.lone_druid.SKILL_5 = "lone_druid_true_form_druid"
X.lone_druid.TALENT_0 = "special_bonus_hp_250"
X.lone_druid.TALENT_1 = "special_bonus_attack_range_175"
X.lone_druid.TALENT_2 = "special_bonus_attack_damage_50"
X.lone_druid.TALENT_3 = "special_bonus_unique_lone_druid_1"
X.lone_druid.TALENT_4 = "special_bonus_unique_lone_druid_2"
X.lone_druid.TALENT_5 = "special_bonus_unique_lone_druid_5"
X.lone_druid.TALENT_6 = "special_bonus_unique_lone_druid_3"
X.lone_druid.TALENT_7 = "special_bonus_unique_lone_druid_4"
X.lone_druid.Role = {}
X.lone_druid.Role.Carry = 2
X.lone_druid.Role.Pusher = 3
X.lone_druid.Role.Jungler = 1
X.lone_druid.Role.Durable = 1
X.lone_druid.LaneInfo = {}
X.lone_druid.LaneInfo.ProvidesSetup = 1
X.lone_druid.LaneInfo.SurvivalRating = 1
X.lone_druid.LaneInfo.SoloDesire = 0
X.lone_druid.LaneInfo.ProvidesBabysit = 0
X.lone_druid.LaneInfo.RequiresBabysit = 2
X.lone_druid.LaneInfo.RequiresSetup = 1
X.lone_druid.LaneInfo.RequiresFarm = 2
X.shadow_demon = {}
X.shadow_demon.Type = "DOTA_BOT_STUN_SUPPORT | DOTA_BOT_GANKER"
X.shadow_demon.SKILL_0 = "shadow_demon_disruption"
X.shadow_demon.SKILL_1 = "shadow_demon_soul_catcher"
X.shadow_demon.SKILL_2 = "shadow_demon_shadow_poison"
X.shadow_demon.SKILL_3 = "shadow_demon_shadow_poison_release"
X.shadow_demon.SKILL_4 = "shadow_demon_demonic_purge"
X.shadow_demon.TALENT_0 = "special_bonus_strength_10"
X.shadow_demon.TALENT_1 = "special_bonus_movement_speed_20"
X.shadow_demon.TALENT_2 = "special_bonus_cast_range_75"
X.shadow_demon.TALENT_3 = "special_bonus_spell_amplify_8"
X.shadow_demon.TALENT_4 = "special_bonus_magic_resistance_15"
X.shadow_demon.TALENT_5 = "special_bonus_unique_shadow_demon_3"
X.shadow_demon.TALENT_6 = "special_bonus_unique_shadow_demon_1"
X.shadow_demon.TALENT_7 = "special_bonus_unique_shadow_demon_2"
X.shadow_demon.Role = {}
X.shadow_demon.Role.Support = 2
X.shadow_demon.Role.Disabler = 2
X.shadow_demon.Role.Initiator = 1
X.shadow_demon.Role.Nuker = 1
X.shadow_demon.LaneInfo = {}
X.shadow_demon.LaneInfo.ProvidesSetup = 2
X.shadow_demon.LaneInfo.SurvivalRating = 2
X.shadow_demon.LaneInfo.SoloDesire = 1
X.shadow_demon.LaneInfo.ProvidesBabysit = 2
X.shadow_demon.LaneInfo.RequiresBabysit = 0
X.shadow_demon.LaneInfo.RequiresSetup = 0
X.shadow_demon.LaneInfo.RequiresFarm = 1
X.batrider = {}
X.batrider.Type = "DOTA_BOT_GANKER | DOTA_BOT_STUN_SUPPORT"
X.batrider.SKILL_0 = "batrider_sticky_napalm"
X.batrider.SKILL_1 = "batrider_flamebreak"
X.batrider.SKILL_2 = "batrider_firefly"
X.batrider.SKILL_3 = "batrider_flaming_lasso"
X.batrider.TALENT_0 = "special_bonus_intelligence_10"
X.batrider.TALENT_1 = "special_bonus_armor_4"
X.batrider.TALENT_2 = "special_bonus_spell_amplify_5"
X.batrider.TALENT_3 = "special_bonus_hp_200"
X.batrider.TALENT_4 = "special_bonus_cooldown_reduction_15"
X.batrider.TALENT_5 = "special_bonus_movement_speed_35"
X.batrider.TALENT_6 = "special_bonus_unique_batrider_1"
X.batrider.TALENT_7 = "special_bonus_unique_batrider_2"
X.batrider.Role = {}
X.batrider.Role.Initiator = 3
X.batrider.Role.Jungler = 2
X.batrider.Role.Disabler = 2
X.batrider.Role.Escape = 1
X.batrider.LaneInfo = {}
X.batrider.LaneInfo.ProvidesSetup = 2
X.batrider.LaneInfo.SurvivalRating = 1
X.batrider.LaneInfo.SoloDesire = 2
X.batrider.LaneInfo.ProvidesBabysit = 2
X.batrider.LaneInfo.RequiresBabysit = 0
X.batrider.LaneInfo.RequiresSetup = 0
X.batrider.LaneInfo.RequiresFarm = 1
X.abaddon = {}
X.abaddon.Type = "DOTA_BOT_TANK | DOTA_BOT_PURE_SUPPORT"
X.abaddon.SKILL_0 = "abaddon_death_coil"
X.abaddon.SKILL_1 = "abaddon_aphotic_shield"
X.abaddon.SKILL_2 = "abaddon_frostmourne"
X.abaddon.SKILL_3 = "abaddon_borrowed_time"
X.abaddon.TALENT_0 = "special_bonus_attack_damage_25"
X.abaddon.TALENT_1 = "special_bonus_exp_boost_20"
X.abaddon.TALENT_2 = "special_bonus_mp_200"
X.abaddon.TALENT_3 = "special_bonus_armor_5"
X.abaddon.TALENT_4 = "special_bonus_movement_speed_25"
X.abaddon.TALENT_5 = "special_bonus_cooldown_reduction_15"
X.abaddon.TALENT_6 = "special_bonus_strength_25"
X.abaddon.TALENT_7 = "special_bonus_unique_abaddon"
X.abaddon.Role = {}
X.abaddon.Role.Support = 2
X.abaddon.Role.Carry = 1
X.abaddon.Role.Durable = 2
X.abaddon.LaneInfo = {}
X.abaddon.LaneInfo.ProvidesSetup = 0
X.abaddon.LaneInfo.SurvivalRating = 2
X.abaddon.LaneInfo.SoloDesire = 1
X.abaddon.LaneInfo.ProvidesBabysit = 2
X.abaddon.LaneInfo.RequiresBabysit = 0
X.abaddon.LaneInfo.RequiresSetup = 1
X.abaddon.LaneInfo.RequiresFarm = 1
X.kunkka = {}
X.kunkka.Type = "DOTA_BOT_TANK | DOTA_BOT_SEMI_CARRY | DOTA_BOT_PUSH_SUPPORT"
X.kunkka.SKILL_0 = "kunkka_torrent"
X.kunkka.SKILL_1 = "kunkka_tidebringer"
X.kunkka.SKILL_2 = "kunkka_x_marks_the_spot"
X.kunkka.SKILL_3 = "kunkka_ghostship"
X.kunkka.SKILL_4 = "kunkka_return"
X.kunkka.TALENT_0 = "special_bonus_attack_damage_30"
X.kunkka.TALENT_1 = "special_bonus_unique_kunkka_2"
X.kunkka.TALENT_2 = "special_bonus_hp_regen_15"
X.kunkka.TALENT_3 = "special_bonus_movement_speed_30"
X.kunkka.TALENT_4 = "special_bonus_hp_300"
X.kunkka.TALENT_5 = "special_bonus_gold_income_20"
X.kunkka.TALENT_6 = "special_bonus_magic_resistance_35"
X.kunkka.TALENT_7 = "special_bonus_unique_kunkka"
X.kunkka.Role = {}
X.kunkka.Role.Carry = 1
X.kunkka.Role.Disabler = 1
X.kunkka.Role.Initiator = 1
X.kunkka.Role.Durable = 1
X.kunkka.Role.Nuker = 1
X.kunkka.LaneInfo = {}
X.kunkka.LaneInfo.ProvidesSetup = 1
X.kunkka.LaneInfo.SurvivalRating = 2
X.kunkka.LaneInfo.SoloDesire = 0
X.kunkka.LaneInfo.ProvidesBabysit = 1
X.kunkka.LaneInfo.RequiresBabysit = 0
X.kunkka.LaneInfo.RequiresSetup = 0
X.kunkka.LaneInfo.RequiresFarm = 1
X.phantom_lancer = {}
X.phantom_lancer.Type = "DOTA_BOT_PUSH_SUPPORT | DOTA_BOT_HARD_CARRY"
X.phantom_lancer.SKILL_0 = "phantom_lancer_spirit_lance"
X.phantom_lancer.SKILL_1 = "phantom_lancer_doppelwalk"
X.phantom_lancer.SKILL_2 = "phantom_lancer_phantom_edge"
X.phantom_lancer.SKILL_3 = "phantom_lancer_juxtapose"
X.phantom_lancer.TALENT_0 = "special_bonus_unique_phantom_lancer_2"
X.phantom_lancer.TALENT_1 = "special_bonus_attack_speed_20"
X.phantom_lancer.TALENT_2 = "special_bonus_all_stats_8"
X.phantom_lancer.TALENT_3 = "special_bonus_cooldown_reduction_15"
X.phantom_lancer.TALENT_4 = "special_bonus_magic_resistance_15"
X.phantom_lancer.TALENT_5 = "special_bonus_evasion_15"
X.phantom_lancer.TALENT_6 = "special_bonus_strength_20"
X.phantom_lancer.TALENT_7 = "special_bonus_unique_phantom_lancer"
X.phantom_lancer.Role = {}
X.phantom_lancer.Role.Carry = 2
X.phantom_lancer.Role.Escape = 2
X.phantom_lancer.Role.Pusher = 1
X.phantom_lancer.Role.Nuker = 1
X.phantom_lancer.LaneInfo = {}
X.phantom_lancer.LaneInfo.ProvidesSetup = 0
X.phantom_lancer.LaneInfo.SurvivalRating = 2
X.phantom_lancer.LaneInfo.SoloDesire = 0
X.phantom_lancer.LaneInfo.ProvidesBabysit = 0
X.phantom_lancer.LaneInfo.RequiresBabysit = 2
X.phantom_lancer.LaneInfo.RequiresSetup = 1
X.phantom_lancer.LaneInfo.RequiresFarm = 2
X.weaver = {}
X.weaver.Type = "DOTA_BOT_HARD_CARRY"
X.weaver.SKILL_0 = "weaver_the_swarm"
X.weaver.SKILL_1 = "weaver_shukuchi"
X.weaver.SKILL_2 = "weaver_geminate_attack"
X.weaver.SKILL_3 = "weaver_time_lapse"
X.weaver.TALENT_0 = "special_bonus_strength_6"
X.weaver.TALENT_1 = "special_bonus_unique_weaver_1"
X.weaver.TALENT_2 = "special_bonus_attack_damage_25"
X.weaver.TALENT_3 = "special_bonus_all_stats_7"
X.weaver.TALENT_4 = "special_bonus_hp_200"
X.weaver.TALENT_5 = "special_bonus_agility_15"
X.weaver.TALENT_6 = "special_bonus_magic_resistance_35"
X.weaver.TALENT_7 = "special_bonus_unique_weaver_2"
X.weaver.Role = {}
X.weaver.Role.Carry = 2
X.weaver.Role.Escape = 3
X.weaver.LaneInfo = {}
X.weaver.LaneInfo.ProvidesSetup = 0
X.weaver.LaneInfo.SurvivalRating = 2
X.weaver.LaneInfo.SoloDesire = 1
X.weaver.LaneInfo.ProvidesBabysit = 2
X.weaver.LaneInfo.RequiresBabysit = 1
X.weaver.LaneInfo.RequiresSetup = 2
X.weaver.LaneInfo.RequiresFarm = 2
X.clinkz = {}
X.clinkz.Type = "DOTA_BOT_SEMI_CARRY | DOTA_BOT_GANKER"
X.clinkz.SKILL_0 = "clinkz_strafe"
X.clinkz.SKILL_1 = "clinkz_searing_arrows"
X.clinkz.SKILL_2 = "clinkz_wind_walk"
X.clinkz.SKILL_3 = "clinkz_death_pact"
X.clinkz.TALENT_0 = "special_bonus_intelligence_10"
X.clinkz.TALENT_1 = "special_bonus_magic_resistance_10"
X.clinkz.TALENT_2 = "special_bonus_strength_15"
X.clinkz.TALENT_3 = "special_bonus_unique_clinkz_1"
X.clinkz.TALENT_4 = "special_bonus_evasion_20"
X.clinkz.TALENT_5 = "special_bonus_all_stats_10"
X.clinkz.TALENT_6 = "special_bonus_attack_range_125"
X.clinkz.TALENT_7 = "special_bonus_unique_clinkz_2"
X.clinkz.Role = {}
X.clinkz.Role.Carry = 2
X.clinkz.Role.Escape = 3
X.clinkz.Role.Pusher = 1
X.clinkz.LaneInfo = {}
X.clinkz.LaneInfo.ProvidesSetup = 0
X.clinkz.LaneInfo.SurvivalRating = 2
X.clinkz.LaneInfo.SoloDesire = 0
X.clinkz.LaneInfo.ProvidesBabysit = 2
X.clinkz.LaneInfo.RequiresBabysit = 0
X.clinkz.LaneInfo.RequiresSetup = 2
X.clinkz.LaneInfo.RequiresFarm = 2
X.earthshaker = {}
X.earthshaker.Type = "DOTA_BOT_STUN_SUPPORT"
X.earthshaker.SKILL_0 = "earthshaker_fissure"
X.earthshaker.SKILL_1 = "earthshaker_enchant_totem"
X.earthshaker.SKILL_2 = "earthshaker_aftershock"
X.earthshaker.SKILL_3 = "earthshaker_echo_slam"
X.earthshaker.TALENT_0 = "special_bonus_strength_10"
X.earthshaker.TALENT_1 = "special_bonus_mp_250"
X.earthshaker.TALENT_2 = "special_bonus_movement_speed_20"
X.earthshaker.TALENT_3 = "special_bonus_attack_damage_50"
X.earthshaker.TALENT_4 = "special_bonus_unique_earthshaker_2"
X.earthshaker.TALENT_5 = "special_bonus_unique_earthshaker_3"
X.earthshaker.TALENT_6 = "special_bonus_hp_600"
X.earthshaker.TALENT_7 = "special_bonus_unique_earthshaker"
X.earthshaker.Role = {}
X.earthshaker.Role.Support = 1
X.earthshaker.Role.Initiator = 3
X.earthshaker.Role.Disabler = 2
X.earthshaker.Role.Nuker = 1
X.earthshaker.LaneInfo = {}
X.earthshaker.LaneInfo.ProvidesSetup = 2
X.earthshaker.LaneInfo.SurvivalRating = 1
X.earthshaker.LaneInfo.SoloDesire = 0
X.earthshaker.LaneInfo.ProvidesBabysit = 1
X.earthshaker.LaneInfo.RequiresBabysit = 0
X.earthshaker.LaneInfo.RequiresSetup = 0
X.earthshaker.LaneInfo.RequiresFarm = 0
X.lion = {}
X.lion.Type = "DOTA_BOT_GANKER | DOTA_BOT_STUN_SUPPORT | DOTA_BOT_NUKER"
X.lion.SKILL_0 = "lion_impale"
X.lion.SKILL_1 = "lion_voodoo"
X.lion.SKILL_2 = "lion_mana_drain"
X.lion.SKILL_3 = "lion_finger_of_death"
X.lion.TALENT_0 = "special_bonus_cast_range_75"
X.lion.TALENT_1 = "special_bonus_attack_damage_60"
X.lion.TALENT_2 = "special_bonus_unique_lion_2"
X.lion.TALENT_3 = "special_bonus_gold_income_15"
X.lion.TALENT_4 = "special_bonus_magic_resistance_20"
X.lion.TALENT_5 = "special_bonus_spell_amplify_8"
X.lion.TALENT_6 = "special_bonus_all_stats_20"
X.lion.TALENT_7 = "special_bonus_unique_lion"
X.lion.Role = {}
X.lion.Role.Support = 2
X.lion.Role.Disabler = 3
X.lion.Role.Nuker = 3
X.lion.Role.Initiator = 2
X.lion.LaneInfo = {}
X.lion.LaneInfo.ProvidesSetup = 2
X.lion.LaneInfo.SurvivalRating = 2
X.lion.LaneInfo.SoloDesire = 1
X.lion.LaneInfo.ProvidesBabysit = 2
X.lion.LaneInfo.RequiresBabysit = 0
X.lion.LaneInfo.RequiresSetup = 0
X.lion.LaneInfo.RequiresFarm = 1
X.chen = {}
X.chen.Type = "DOTA_BOT_PURE_SUPPORT"
X.chen.SKILL_0 = "chen_penitence"
X.chen.SKILL_1 = "chen_test_of_faith"
X.chen.SKILL_2 = "chen_test_of_faith_teleport"
X.chen.SKILL_3 = "chen_holy_persuasion"
X.chen.SKILL_4 = "chen_hand_of_god"
X.chen.TALENT_0 = "special_bonus_movement_speed_30"
X.chen.TALENT_1 = "special_bonus_cast_range_125"
X.chen.TALENT_2 = "special_bonus_hp_250"
X.chen.TALENT_3 = "special_bonus_unique_chen_3"
X.chen.TALENT_4 = "special_bonus_gold_income_15"
X.chen.TALENT_5 = "special_bonus_unique_chen_4"
X.chen.TALENT_6 = "special_bonus_unique_chen_1"
X.chen.TALENT_7 = "special_bonus_unique_chen_2"
X.chen.Role = {}
X.chen.Role.Support = 2
X.chen.Role.Jungler = 3
X.chen.Role.Pusher = 2
X.chen.LaneInfo = {}
X.chen.LaneInfo.ProvidesSetup = 0
X.chen.LaneInfo.SurvivalRating = 0
X.chen.LaneInfo.SoloDesire = 0
X.chen.LaneInfo.ProvidesBabysit = 1
X.chen.LaneInfo.RequiresBabysit = 0
X.chen.LaneInfo.RequiresSetup = 0
X.chen.LaneInfo.RequiresFarm = 1
X.disruptor = {}
X.disruptor.Type = "DOTA_BOT_PURE_SUPPORT | DOTA_BOT_GANKER"
X.disruptor.SKILL_0 = "disruptor_thunder_strike"
X.disruptor.SKILL_1 = "disruptor_glimpse"
X.disruptor.SKILL_2 = "disruptor_kinetic_field"
X.disruptor.SKILL_3 = "disruptor_static_storm"
X.disruptor.TALENT_0 = "special_bonus_cast_range_100"
X.disruptor.TALENT_1 = "special_bonus_gold_income_10"
X.disruptor.TALENT_2 = "special_bonus_unique_disruptor_2"
X.disruptor.TALENT_3 = "special_bonus_unique_disruptor_3"
X.disruptor.TALENT_4 = "special_bonus_hp_400"
X.disruptor.TALENT_5 = "special_bonus_spell_amplify_10"
X.disruptor.TALENT_6 = "special_bonus_unique_disruptor"
X.disruptor.TALENT_7 = "special_bonus_magic_resistance_30"
X.disruptor.Role = {}
X.disruptor.Role.Support = 2
X.disruptor.Role.Disabler = 2
X.disruptor.Role.Nuker = 1
X.disruptor.Role.Initiator = 1
X.disruptor.LaneInfo = {}
X.disruptor.LaneInfo.ProvidesSetup = 2
X.disruptor.LaneInfo.SurvivalRating = 1
X.disruptor.LaneInfo.SoloDesire = 1
X.disruptor.LaneInfo.ProvidesBabysit = 2
X.disruptor.LaneInfo.RequiresBabysit = 0
X.disruptor.LaneInfo.RequiresSetup = 0
X.disruptor.LaneInfo.RequiresFarm = 1
X.phoenix = {}
X.phoenix.Type = "DOTA_BOT_SUPPORT"
X.phoenix.SKILL_0 = "phoenix_icarus_dive"
X.phoenix.SKILL_1 = "phoenix_fire_spirits"
X.phoenix.SKILL_2 = "phoenix_sun_ray"
X.phoenix.SKILL_3 = "phoenix_sun_ray_toggle_move"
X.phoenix.SKILL_4 = "phoenix_supernova"
X.phoenix.SKILL_5 = "phoenix_launch_fire_spirit"
X.phoenix.SKILL_6 = "phoenix_icarus_dive_stop"
X.phoenix.SKILL_7 = "phoenix_sun_ray_stop"
X.phoenix.TALENT_0 = "special_bonus_exp_boost_20"
X.phoenix.TALENT_1 = "special_bonus_hp_175"
X.phoenix.TALENT_2 = "special_bonus_unique_phoenix_3"
X.phoenix.TALENT_3 = "special_bonus_gold_income_25"
X.phoenix.TALENT_4 = "special_bonus_armor_10"
X.phoenix.TALENT_5 = "special_bonus_spell_amplify_8"
X.phoenix.TALENT_6 = "special_bonus_unique_phoenix_1"
X.phoenix.TALENT_7 = "special_bonus_unique_phoenix_2"
X.phoenix.Role = {}
X.phoenix.Role.Support = 1
X.phoenix.Role.Nuker = 3
X.phoenix.Role.Initiator = 2
X.phoenix.Role.Escape = 2
X.phoenix.Role.Disabler = 1
X.phoenix.LaneInfo = {}
X.phoenix.LaneInfo.ProvidesSetup = 0
X.phoenix.LaneInfo.SurvivalRating = 2
X.phoenix.LaneInfo.SoloDesire = 0
X.phoenix.LaneInfo.ProvidesBabysit = 2
X.phoenix.LaneInfo.RequiresBabysit = 0
X.phoenix.LaneInfo.RequiresSetup = 0
X.phoenix.LaneInfo.RequiresFarm = 0
X.rattletrap = {}
X.rattletrap.Type = "DOTA_BOT_GANKER"
X.rattletrap.SKILL_0 = "rattletrap_battery_assault"
X.rattletrap.SKILL_1 = "rattletrap_power_cogs"
X.rattletrap.SKILL_2 = "rattletrap_rocket_flare"
X.rattletrap.SKILL_3 = "rattletrap_hookshot"
X.rattletrap.TALENT_0 = "special_bonus_armor_4"
X.rattletrap.TALENT_1 = "special_bonus_mp_200"
X.rattletrap.TALENT_2 = "special_bonus_attack_damage_50"
X.rattletrap.TALENT_3 = "special_bonus_unique_clockwerk_2"
X.rattletrap.TALENT_4 = "special_bonus_unique_clockwerk_3"
X.rattletrap.TALENT_5 = "special_bonus_magic_resistance_12"
X.rattletrap.TALENT_6 = "special_bonus_hp_400"
X.rattletrap.TALENT_7 = "special_bonus_unique_clockwerk"
X.rattletrap.Role = {}
X.rattletrap.Role.Initiator = 3
X.rattletrap.Role.Disabler = 2
X.rattletrap.Role.Durable = 1
X.rattletrap.Role.Nuker = 1
X.rattletrap.LaneInfo = {}
X.rattletrap.LaneInfo.ProvidesSetup = 1
X.rattletrap.LaneInfo.SurvivalRating = 1
X.rattletrap.LaneInfo.SoloDesire = 2
X.rattletrap.LaneInfo.ProvidesBabysit = 1
X.rattletrap.LaneInfo.RequiresBabysit = 1
X.rattletrap.LaneInfo.RequiresSetup = 1
X.rattletrap.LaneInfo.RequiresFarm = 2
X.invoker = {}
X.invoker.Type = "DOTA_BOT_SEMI_CARRY | DOTA_BOT_GANKER"
X.invoker.SKILL_0 = "invoker_quas"
X.invoker.SKILL_1 = "invoker_wex"
X.invoker.SKILL_2 = "invoker_exort"
X.invoker.SKILL_3 = "invoker_empty1"
X.invoker.SKILL_4 = "invoker_empty2"
X.invoker.SKILL_5 = "invoker_invoke"
X.invoker.SKILL_6 = "invoker_cold_snap"
X.invoker.SKILL_7 = "invoker_ghost_walk"
X.invoker.SKILL_8 = "invoker_tornado"
X.invoker.SKILL_9 = "invoker_emp"
X.invoker.SKILL_10 = "invoker_alacrity"
X.invoker.SKILL_11 = "invoker_chaos_meteor"
X.invoker.SKILL_12 = "invoker_sun_strike"
X.invoker.SKILL_13 = "invoker_forge_spirit"
X.invoker.SKILL_14 = "invoker_ice_wall"
X.invoker.SKILL_15 = "invoker_deafening_blast"
X.invoker.TALENT_0 = "special_bonus_attack_damage_15"
X.invoker.TALENT_1 = "special_bonus_hp_125"
X.invoker.TALENT_2 = "special_bonus_unique_invoker_1"
X.invoker.TALENT_3 = "special_bonus_exp_boost_30"
X.invoker.TALENT_4 = "special_bonus_all_stats_7"
X.invoker.TALENT_5 = "special_bonus_attack_speed_35"
X.invoker.TALENT_6 = "special_bonus_unique_invoker_2"
X.invoker.TALENT_7 = "special_bonus_unique_invoker_3"
X.invoker.Role = {}
X.invoker.Role.Carry = 1
X.invoker.Role.Nuker = 3
X.invoker.Role.Disabler = 2
X.invoker.Role.Escape = 1
X.invoker.Role.Pusher = 1
X.invoker.LaneInfo = {}
X.invoker.LaneInfo.ProvidesSetup = 0
X.invoker.LaneInfo.SurvivalRating = 1
X.invoker.LaneInfo.SoloDesire = 2
X.invoker.LaneInfo.ProvidesBabysit = 2
X.invoker.LaneInfo.RequiresBabysit = 0
X.invoker.LaneInfo.RequiresSetup = 1
X.invoker.LaneInfo.RequiresFarm = 2
X.juggernaut = {}
X.juggernaut.Type = "DOTA_BOT_GANKER | DOTA_BOT_SEMI_CARRY"
X.juggernaut.SKILL_0 = "juggernaut_blade_fury"
X.juggernaut.SKILL_1 = "juggernaut_healing_ward"
X.juggernaut.SKILL_2 = "juggernaut_blade_dance"
X.juggernaut.SKILL_3 = "juggernaut_omni_slash"
X.juggernaut.TALENT_0 = "special_bonus_hp_175"
X.juggernaut.TALENT_1 = "special_bonus_attack_damage_20"
X.juggernaut.TALENT_2 = "special_bonus_attack_speed_20"
X.juggernaut.TALENT_3 = "special_bonus_armor_7"
X.juggernaut.TALENT_4 = "special_bonus_movement_speed_20"
X.juggernaut.TALENT_5 = "special_bonus_all_stats_8"
X.juggernaut.TALENT_6 = "special_bonus_agility_20"
X.juggernaut.TALENT_7 = "special_bonus_unique_juggernaut"
X.juggernaut.Role = {}
X.juggernaut.Role.Carry = 2
X.juggernaut.Role.Pusher = 1
X.juggernaut.Role.Escape = 1
X.juggernaut.LaneInfo = {}
X.juggernaut.LaneInfo.ProvidesSetup = 0
X.juggernaut.LaneInfo.SurvivalRating = 1
X.juggernaut.LaneInfo.SoloDesire = 0
X.juggernaut.LaneInfo.ProvidesBabysit = 0
X.juggernaut.LaneInfo.RequiresBabysit = 2
X.juggernaut.LaneInfo.RequiresSetup = 2
X.juggernaut.LaneInfo.RequiresFarm = 2
X.templar_assassin = {}
X.templar_assassin.Type = "DOTA_BOT_HARD_CARRY"
X.templar_assassin.SKILL_0 = "templar_assassin_refraction"
X.templar_assassin.SKILL_1 = "templar_assassin_meld"
X.templar_assassin.SKILL_2 = "templar_assassin_psi_blades"
X.templar_assassin.SKILL_3 = "templar_assassin_trap"
X.templar_assassin.SKILL_4 = "templar_assassin_psionic_trap"
X.templar_assassin.TALENT_0 = "special_bonus_attack_speed_25"
X.templar_assassin.TALENT_1 = "special_bonus_movement_speed_20"
X.templar_assassin.TALENT_2 = "special_bonus_all_stats_6"
X.templar_assassin.TALENT_3 = "special_bonus_evasion_12"
X.templar_assassin.TALENT_4 = "special_bonus_hp_275"
X.templar_assassin.TALENT_5 = "special_bonus_attack_damage_40"
X.templar_assassin.TALENT_6 = "special_bonus_unique_templar_assassin_2"
X.templar_assassin.TALENT_7 = "special_bonus_unique_templar_assassin"
X.templar_assassin.Role = {}
X.templar_assassin.Role.Carry = 2
X.templar_assassin.Role.Escape = 1
X.templar_assassin.LaneInfo = {}
X.templar_assassin.LaneInfo.ProvidesSetup = 0
X.templar_assassin.LaneInfo.SurvivalRating = 2
X.templar_assassin.LaneInfo.SoloDesire = 0
X.templar_assassin.LaneInfo.ProvidesBabysit = 0
X.templar_assassin.LaneInfo.RequiresBabysit = 2
X.templar_assassin.LaneInfo.RequiresSetup = 2
X.templar_assassin.LaneInfo.RequiresFarm = 2
X.ursa = {}
X.ursa.Type = "DOTA_BOT_SEMI_CARRY | DOTA_BOT_GANKER"
X.ursa.SKILL_0 = "ursa_earthshock"
X.ursa.SKILL_1 = "ursa_overpower"
X.ursa.SKILL_2 = "ursa_fury_swipes"
X.ursa.SKILL_3 = "ursa_enrage"
X.ursa.TALENT_0 = "special_bonus_attack_damage_25"
X.ursa.TALENT_1 = "special_bonus_magic_resistance_10"
X.ursa.TALENT_2 = "special_bonus_armor_5"
X.ursa.TALENT_3 = "special_bonus_attack_speed_20"
X.ursa.TALENT_4 = "special_bonus_movement_speed_15"
X.ursa.TALENT_5 = "special_bonus_hp_250"
X.ursa.TALENT_6 = "special_bonus_all_stats_14"
X.ursa.TALENT_7 = "special_bonus_unique_ursa"
X.ursa.Role = {}
X.ursa.Role.Carry = 2
X.ursa.Role.Jungler = 1
X.ursa.Role.Durable = 1
X.ursa.Role.Disabler = 1
X.ursa.LaneInfo = {}
X.ursa.LaneInfo.ProvidesSetup = 0
X.ursa.LaneInfo.SurvivalRating = 1
X.ursa.LaneInfo.SoloDesire = 0
X.ursa.LaneInfo.ProvidesBabysit = 0
X.ursa.LaneInfo.RequiresBabysit = 2
X.ursa.LaneInfo.RequiresSetup = 2
X.ursa.LaneInfo.RequiresFarm = 2
X.lycan = {}
X.lycan.Type = "DOTA_BOT_HARD_CARRY"
X.lycan.SKILL_0 = "lycan_summon_wolves"
X.lycan.SKILL_1 = "lycan_howl"
X.lycan.SKILL_2 = "lycan_feral_impulse"
X.lycan.SKILL_3 = "lycan_shapeshift"
X.lycan.TALENT_0 = "special_bonus_attack_damage_15"
X.lycan.TALENT_1 = "special_bonus_hp_200"
X.lycan.TALENT_2 = "special_bonus_unique_lycan_3"
X.lycan.TALENT_3 = "special_bonus_strength_12"
X.lycan.TALENT_4 = "special_bonus_evasion_15"
X.lycan.TALENT_5 = "special_bonus_cooldown_reduction_15"
X.lycan.TALENT_6 = "special_bonus_unique_lycan_2"
X.lycan.TALENT_7 = "special_bonus_unique_lycan_1"
X.lycan.Role = {}
X.lycan.Role.Carry = 2
X.lycan.Role.Pusher = 3
X.lycan.Role.Jungler = 1
X.lycan.Role.Durable = 1
X.lycan.Role.Escape = 1
X.lycan.LaneInfo = {}
X.lycan.LaneInfo.ProvidesSetup = 0
X.lycan.LaneInfo.SurvivalRating = 1
X.lycan.LaneInfo.SoloDesire = 0
X.lycan.LaneInfo.ProvidesBabysit = 0
X.lycan.LaneInfo.RequiresBabysit = 2
X.lycan.LaneInfo.RequiresSetup = 2
X.lycan.LaneInfo.RequiresFarm = 2
X.meepo = {}
X.meepo.Type = "DOTA_BOT_GANKER | DOTA_BOT_SEMI_CARRY"
X.meepo.SKILL_0 = "meepo_earthbind"
X.meepo.SKILL_1 = "meepo_poof"
X.meepo.SKILL_2 = "meepo_geostrike"
X.meepo.SKILL_3 = "meepo_divided_we_stand"
X.meepo.TALENT_0 = "special_bonus_armor_4"
X.meepo.TALENT_1 = "special_bonus_attack_damage_15"
X.meepo.TALENT_2 = "special_bonus_lifesteal_15"
X.meepo.TALENT_3 = "special_bonus_movement_speed_25"
X.meepo.TALENT_4 = "special_bonus_evasion_10"
X.meepo.TALENT_5 = "special_bonus_attack_speed_25"
X.meepo.TALENT_6 = "special_bonus_hp_400"
X.meepo.TALENT_7 = "special_bonus_unique_meepo"
X.meepo.Role = {}
X.meepo.Role.Carry = 2
X.meepo.Role.Escape = 2
X.meepo.Role.Nuker = 2
X.meepo.Role.Disabler = 1
X.meepo.Role.Initiator = 1
X.meepo.Role.Pusher = 1
X.meepo.LaneInfo = {}
X.meepo.LaneInfo.ProvidesSetup = 0
X.meepo.LaneInfo.SurvivalRating = 1
X.meepo.LaneInfo.SoloDesire = 0
X.meepo.LaneInfo.ProvidesBabysit = 0
X.meepo.LaneInfo.RequiresBabysit = 1