dota 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Guardfile +1 -1
- data/README.md +145 -112
- data/data/heroes.yml +327 -0
- data/data/items.yml +714 -0
- data/lib/dota.rb +8 -1
- data/lib/dota/api/basic_match.rb +52 -0
- data/lib/dota/api/basic_player.rb +61 -0
- data/lib/dota/api/client.rb +12 -2
- data/lib/dota/api/cosmetic/rarity.rb +1 -9
- data/lib/dota/api/entity.rb +13 -0
- data/lib/dota/api/friend.rb +1 -9
- data/lib/dota/api/hero.rb +2 -111
- data/lib/dota/api/item.rb +1 -240
- data/lib/dota/api/league.rb +6 -8
- data/lib/dota/api/live_match.rb +29 -35
- data/lib/dota/api/live_match/player.rb +29 -22
- data/lib/dota/api/live_match/side.rb +25 -11
- data/lib/dota/api/match.rb +30 -117
- data/lib/dota/api/match/draft.rb +1 -9
- data/lib/dota/api/match/player.rb +7 -59
- data/lib/dota/api/match/side.rb +41 -0
- data/lib/dota/api/scheduled_match.rb +32 -0
- data/lib/dota/api/team.rb +1 -9
- data/lib/dota/version.rb +1 -1
- data/spec/dota/api/cosmetic/rarity_spec.rb +2 -2
- data/spec/dota/api/hero_spec.rb +2 -6
- data/spec/dota/api/item_spec.rb +1 -5
- data/spec/dota/api/live_match/player_spec.rb +76 -8
- data/spec/dota/api/live_match/side_spec.rb +42 -8
- data/spec/dota/api/live_match_spec.rb +5 -16
- data/spec/dota/api/match/draft_spec.rb +4 -1
- data/spec/dota/api/match/player_spec.rb +7 -3
- data/spec/dota/api/match/side_spec.rb +54 -0
- data/spec/dota/api/match_spec.rb +0 -62
- data/spec/dota/api/scheduled_match_spec.rb +36 -0
- data/spec/dota_spec.rb +56 -7
- data/spec/fixtures/vcr_cassettes/GetScheduledLeagueGames.yml +112 -0
- metadata +15 -5
- data/lib/dota/api/live_match/scoreboard.rb +0 -31
- data/spec/dota/api/live_match/scoreboard_spec.rb +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adb79effd365cfddfeccab6653bc8ebeaa17b448
|
4
|
+
data.tar.gz: 866ea82ef3fb0f8e44e053c6bbcb4b4912d226c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1628d277437c89febddd92971c60284e4617eb04eb3a9cc50f9f235fe7b5572b7ab96ff996a0c11967e91eb3888c3fc673e5b18fe9d35c07801f4d2c2fc34738
|
7
|
+
data.tar.gz: f0d9529ab46fa3adc765faa8df0c455857c910d3d3867c60110c5bcd11247370514d847a6d6fdad7b5d7bd0c3f4e87720c1b2994cb60acb7bb8b52107e69daf1
|
data/Guardfile
CHANGED
data/README.md
CHANGED
@@ -13,6 +13,7 @@ Currently supported endpoints:
|
|
13
13
|
- [GetRarities](https://wiki.teamfortress.com/wiki/WebAPI/GetRarities)
|
14
14
|
- [GetTeamInfoByTeamID](https://wiki.teamfortress.com/wiki/WebAPI/GetTeamInfoByTeamID)
|
15
15
|
- [GetLiveLeagueGames](https://wiki.teamfortress.com/wiki/WebAPI/GetLiveLeagueGames)
|
16
|
+
- [GetScheduledLeagueGames](https://wiki.teamfortress.com/wiki/WebAPI/GetScheduledLeagueGames)
|
16
17
|
|
17
18
|
Unsupported endpoints can still be queried via [custom requests](#custom-requests).
|
18
19
|
|
@@ -23,7 +24,6 @@ This gem is in alpha, keep that in mind when upgrading.
|
|
23
24
|
- Support for more endpoints
|
24
25
|
- [GetMatchHistoryBySequenceNum](https://wiki.teamfortress.com/wiki/WebAPI/GetMatchHistoryBySequenceNum)
|
25
26
|
- [GetPlayerSummaries](https://wiki.teamfortress.com/wiki/WebAPI/GetPlayerSummaries)
|
26
|
-
- [GetScheduledLeagueGames](https://wiki.teamfortress.com/wiki/WebAPI/GetScheduledLeagueGames)
|
27
27
|
- [GetTournamentPlayerStats](https://wiki.teamfortress.com/wiki/WebAPI/GetTournamentPlayerStats)
|
28
28
|
- [GetTournamentPrizePool](https://wiki.teamfortress.com/wiki/WebAPI/GetTournamentPrizePool)
|
29
29
|
- Validations and error classes
|
@@ -61,42 +61,52 @@ Get your Steam API key [here](http://steamcommunity.com/dev/apikey).
|
|
61
61
|
```ruby
|
62
62
|
api = Dota.api
|
63
63
|
|
64
|
-
api.heroes(43)
|
65
|
-
api.heroes
|
66
|
-
|
67
|
-
api.items(114)
|
68
|
-
api.items
|
69
|
-
|
70
|
-
api.cosmetic_rarities
|
71
|
-
|
72
|
-
api.teams(1375614)
|
73
|
-
api.teams
|
74
|
-
api.teams(after: 1375614)
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
api.leagues
|
80
|
-
|
81
|
-
api.matches(789645621)
|
82
|
-
api.matches
|
83
|
-
api.matches(hero_id: 43)
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
api.live_matches
|
98
|
-
|
99
|
-
|
64
|
+
api.heroes(43) # => (Cached) A single hero - "Death Prophet"
|
65
|
+
api.heroes # => (Cached) All heroes
|
66
|
+
|
67
|
+
api.items(114) # => (Cached) A single item - "Heart of Tarrasque"
|
68
|
+
api.items # => (Cached) All items
|
69
|
+
|
70
|
+
api.cosmetic_rarities # => All cosmetic rarities
|
71
|
+
|
72
|
+
api.teams(1375614) # => A single team - "Newbee"
|
73
|
+
api.teams # => A list of teams
|
74
|
+
api.teams(after: 1375614) # Allowed options:
|
75
|
+
#
|
76
|
+
# :after - Integer, With team IDs equal or greater than this
|
77
|
+
# :limit - Integer, Amount of teams to return (default is 100)
|
78
|
+
|
79
|
+
api.leagues # => All leagues
|
80
|
+
|
81
|
+
api.matches(789645621) # => A single match - "Newbee vs Vici Gaming"
|
82
|
+
api.matches # => A list of matches
|
83
|
+
api.matches(hero_id: 43) # Allowed options:
|
84
|
+
#
|
85
|
+
# :hero_id - Integer, With this hero. See Dota::API::Hero::MAPPING
|
86
|
+
# :after - Integer, With match IDs equal or greater than this
|
87
|
+
# :player_id - Integer, With this player (32-bit Steam ID)
|
88
|
+
# :league_id - Integer, In this league. Use Dota.leagues to get a list of leagues
|
89
|
+
# :mode_id - Integer, In this game mode. See Dota::API::Match::MODES
|
90
|
+
# :skill_level - Integer, In this skill level (ignored if :player_id is provided). See Dota::API::Match::SKILL_LEVELS
|
91
|
+
# :from - Integer, Minimum timestamp
|
92
|
+
# :to - Integer, Maximum timestamp
|
93
|
+
# :min_players - Integer, With at least this number of players
|
94
|
+
# :league_only - Boolean, Only league matches
|
95
|
+
# :limit - Integer, Amount of matches to return (default is 100)
|
96
|
+
|
97
|
+
api.live_matches # => All live league matches
|
98
|
+
api.live_matches(league_id: 600) # Allowed options:
|
99
|
+
#
|
100
|
+
# :league_id - Integer, In this league. Use Dota.leagues to get a list of leagues
|
101
|
+
# :match_id - Integer, With this match
|
102
|
+
|
103
|
+
api.scheduled_matches # => All scheduled league matches
|
104
|
+
api.scheduled_matches(from: 123) # Allowed options:
|
105
|
+
#
|
106
|
+
# :from - Integer, Minimum timestamp
|
107
|
+
# :to - Integer, Maximum timestamp
|
108
|
+
|
109
|
+
api.friends(76561198052976237) # => All friends of user
|
100
110
|
```
|
101
111
|
|
102
112
|
#### Custom Requests
|
@@ -157,72 +167,112 @@ Caveat: Getting a list of matches via `api.matches` will call [GetMatchHistory](
|
|
157
167
|
When an instance method in a `Dota::API::Match` class returns `nil`, it most likely means the endpoint called doesn't provide it yet.
|
158
168
|
|
159
169
|
```ruby
|
160
|
-
match.
|
161
|
-
match.
|
162
|
-
|
163
|
-
match.
|
164
|
-
match.
|
165
|
-
match.
|
166
|
-
match.
|
167
|
-
match.
|
168
|
-
match.
|
169
|
-
match.
|
170
|
-
match.
|
171
|
-
match.
|
172
|
-
match.starts_at
|
173
|
-
match.first_blood
|
174
|
-
match.duration
|
175
|
-
match.winner
|
176
|
-
match.positive_votes
|
177
|
-
match.negative_votes
|
178
|
-
|
179
|
-
|
180
|
-
match.
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
match.dire_id # Integer, Dire team's ID
|
188
|
-
match.dire_captain_id # Integer, Dire captain's 32-bit Steam ID
|
189
|
-
match.dire_logo_id # Integer, Dire logo's UGC ID
|
190
|
-
match.dire_name # String, Dire team's name
|
191
|
-
match.dire_complete? # Boolean, true if the Dire team's roster is complete
|
192
|
-
match.dire_tower_status # Integer, See https://wiki.teamfortress.com/wiki/WebAPI/GetMatchDetails # Tower_Status
|
193
|
-
match.dire_barracks_status # Integer, See https://wiki.teamfortress.com/wiki/WebAPI/GetMatchDetails # Barracks_Status
|
170
|
+
match.radiant # Dota::API::Match::Side, Info about the team on the Radiant side
|
171
|
+
match.dire # Dota::API::Match::Side, Info about the team on the Dire side
|
172
|
+
|
173
|
+
match.id # Integer, ID of the match
|
174
|
+
match.league_id # Integer, ID of the league this match was a part of
|
175
|
+
match.type # String, See Dota::API::Match::TYPES
|
176
|
+
match.type_id # Integer, See Dota::API::Match::TYPES
|
177
|
+
match.mode # String, See Dota::API::Match::MODES
|
178
|
+
match.mode_id # Integer, See Dota::API::Match::MODES
|
179
|
+
match.sequence # Integer, A 'sequence number', representing the order in which matches were recorded
|
180
|
+
match.season # Integer, Season the match was played in
|
181
|
+
match.cluster # Integer, Server cluster the match was played on
|
182
|
+
match.starts_at # Time, When the match started
|
183
|
+
match.first_blood # Integer, Seconds since the match started when first blood occured
|
184
|
+
match.duration # Integer, Length of the match, in seconds since the match began
|
185
|
+
match.winner # Symbol, :radiant or :dire
|
186
|
+
match.positive_votes # Integer, Number of thumbs-up the game has received
|
187
|
+
match.negative_votes # Integer, Number of thumbs-down the game has received
|
188
|
+
match.players_count # Integer, Number of players in the match
|
189
|
+
|
190
|
+
match.drafts # Array[Dota::API::Match::Draft], Picks and bans in the match, if the game mode is "Captains Mode"
|
191
|
+
|
192
|
+
# Dota::API::Match::Draft
|
193
|
+
draft.order # Integer, 1-20
|
194
|
+
draft.pick? # Boolean, true if the draft is a pick, and not a ban
|
195
|
+
draft.team # Symbol, :radiant or :dire
|
196
|
+
draft.hero # Dota::API::Hero, Picked or banned hero
|
194
197
|
```
|
195
198
|
|
196
|
-
####
|
199
|
+
#### Live Matches
|
200
|
+
|
201
|
+
```ruby
|
202
|
+
live_match.radiant # Dota::API::LiveMatch::Side, Info about the team on the Radiant side
|
203
|
+
live_match.dire # Dota::API::LiveMatch::Side, Info about the team on the Dire side
|
204
|
+
|
205
|
+
live_match.id # Integer, ID of the match
|
206
|
+
live_match.lobby_id # Integer, ID of the lobby
|
207
|
+
live_match.spectators_count # Integer, Number of spectators watching on DotaTV
|
208
|
+
live_match.league_id # Integer, ID of the league
|
209
|
+
live_match.stream_delay # Integer, Number of seconds the stream is behind actual game time
|
210
|
+
live_match.series_type # Integer, Best of X series
|
211
|
+
live_match.league_tier # String, What tier the match's league is
|
212
|
+
live_match.duration # Integer, Length of the match, in seconds since the match began
|
213
|
+
live_match.roshan_timer # Integer, Seconds until Roshan respawns
|
214
|
+
```
|
215
|
+
|
216
|
+
#### Scheduled Matches
|
197
217
|
|
198
218
|
```ruby
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
player.kills # Integer, Number of kills attributed to this player
|
206
|
-
player.deaths # Integer, Times this player died during the match
|
207
|
-
player.assists # Integer, Number of assists the player got
|
208
|
-
player.last_hits # Integer, Number of last-hits the player got
|
209
|
-
player.denies # Integer, Number of denies the player got
|
210
|
-
player.gold # Integer, Amount of gold the player had remaining at the end of the match
|
211
|
-
player.gold_spent # Integer, Amount of gold the player spent
|
212
|
-
player.gpm # Integer, Player's overall gold/minute
|
213
|
-
player.xpm # Integer, Player's overall experience/minute
|
214
|
-
player.hero_damage # Integer, Amount of damage the player dealt to heroes
|
215
|
-
player.tower_damage # Integer, Amount of damage the player dealt to towers
|
216
|
-
player.hero_healing # Integer, Amount of health the player had healed on heroes
|
219
|
+
scheduled_match.league_id # Integer, ID of the league
|
220
|
+
scheduled_match.game_id # Integer, ID of the game
|
221
|
+
scheduled_match.teams # Array[Dota::API::Team], List of teams who are playing each other
|
222
|
+
scheduled_match.starts_at # Time, When the match is scheduled to start
|
223
|
+
scheduled_match.description # String, Description of the match
|
224
|
+
scheduled_match.final? # Boolean, true if the game is the last of the series
|
217
225
|
```
|
218
226
|
|
219
|
-
####
|
227
|
+
#### Sides - Radiant/Dire
|
220
228
|
|
221
229
|
```ruby
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
230
|
+
radiant.id # Integer, Team's ID
|
231
|
+
radiant.logo_id # Integer, Team logo's UGC ID
|
232
|
+
radiant.name # String, Team's name
|
233
|
+
radiant.complete? # Boolean, true if the team's roster is complete
|
234
|
+
radiant.players # Array[Dota::API::Match::Player|Dota::API::LiveMatch::Player], Players in the match
|
235
|
+
|
236
|
+
# Additional methods in Match::Side
|
237
|
+
radiant.captain_id # Integer, Team captain's 32-bit Steam ID
|
238
|
+
|
239
|
+
# Additional methods in LiveMatch::Side
|
240
|
+
radiant.score # Integer, The team's current score
|
241
|
+
radiant.series_wins # Integer, Number of wins in the series so far
|
242
|
+
```
|
243
|
+
|
244
|
+
#### Players
|
245
|
+
|
246
|
+
```ruby
|
247
|
+
player.id # Integer, 32-bit Steam ID
|
248
|
+
player.hero # Dota::API::Hero, Player's hero
|
249
|
+
player.items # Array[Dota::API::Item], Player's inventory (6 items)
|
250
|
+
player.slot # Integer, See https://wiki.teamfortress.com/wiki/WebAPI/GetMatchDetails#Player_Slot
|
251
|
+
player.level # Integer, The player's level at match end
|
252
|
+
player.kills # Integer, Number of kills attributed to this player
|
253
|
+
player.deaths # Integer, Times this player died during the match
|
254
|
+
player.assists # Integer, Number of assists the player got
|
255
|
+
player.last_hits # Integer, Number of last-hits the player got
|
256
|
+
player.denies # Integer, Number of denies the player got
|
257
|
+
player.gold # Integer, Amount of gold the player had remaining at the end of the match
|
258
|
+
player.gpm # Integer, Player's overall gold/minute
|
259
|
+
player.xpm # Integer, Player's overall experience/minute
|
260
|
+
|
261
|
+
# Additional methods in Match::Player
|
262
|
+
player.status # Symbol, :played, :left_safe, :abandoned, or :bot
|
263
|
+
player.gold_spent # Integer, Amount of gold the player spent
|
264
|
+
player.hero_damage # Integer, Amount of damage the player dealt to heroes
|
265
|
+
player.tower_damage # Integer, Amount of damage the player dealt to towers
|
266
|
+
player.hero_healing # Integer, Amount of health the player had healed on heroes
|
267
|
+
|
268
|
+
# Additional methods in LiveMatch::Player
|
269
|
+
player.name # String, Name of the player
|
270
|
+
player.net_worth # Integer
|
271
|
+
player.ultimate_state # Integer
|
272
|
+
player.ultimate_cooldown # Integer
|
273
|
+
player.respawn_timer # Integer
|
274
|
+
player.position_x # Float
|
275
|
+
player.position_y # Float
|
226
276
|
```
|
227
277
|
|
228
278
|
#### Cosmetic Rarities
|
@@ -242,23 +292,6 @@ friend.relationship # String, Relation to the player
|
|
242
292
|
friend.made_at # Time, When the friend was added to the player's friend list
|
243
293
|
```
|
244
294
|
|
245
|
-
#### Live Matches
|
246
|
-
```ruby
|
247
|
-
live_matches.id # Integer, ID of the match
|
248
|
-
live_matches.lobby_id # Integer, ID of the lobby
|
249
|
-
live_matches.spectators_count # Integer, Number of spectators watching on DotaTV
|
250
|
-
live_matches.league_id # Integer, ID of the league
|
251
|
-
live_matches.stream_delay # Integer, Number of seconds the stream is behind actual game time
|
252
|
-
live_matches.radiant_series_wins # Integer, Number of wins the Radiant team has in the series
|
253
|
-
live_matches.dire_series_wins # Integer, Number of wins the Dire team has in the series
|
254
|
-
live_matches.radiant # Dota::API::LiveMatch::Side, Info about the team on the Radiant side
|
255
|
-
live_matches.dire # Dota::API::LiveMatch::Side, Info about the team on the Dire side
|
256
|
-
live_matches.series_type # Integer, Best of X series
|
257
|
-
live_matches.league_tier # String, What tier the match's league is
|
258
|
-
live_matches.players # Array[Dota::API::LiveMatch::Players], High level info about the players in the match (some redundant info in scoreboard)
|
259
|
-
live_matches.scoreboard # Hash, Details of the scoreboard (to be converted soon to an object and/or integrated with our players class)
|
260
|
-
```
|
261
|
-
|
262
295
|
## Contributing
|
263
296
|
|
264
297
|
1. [Fork it!](https://github.com/vinnicc/dota/fork)
|
data/data/heroes.yml
ADDED
@@ -0,0 +1,327 @@
|
|
1
|
+
1:
|
2
|
+
- antimage
|
3
|
+
- Anti-Mage
|
4
|
+
2:
|
5
|
+
- axe
|
6
|
+
- Axe
|
7
|
+
3:
|
8
|
+
- bane
|
9
|
+
- Bane
|
10
|
+
4:
|
11
|
+
- bloodseeker
|
12
|
+
- Bloodseeker
|
13
|
+
5:
|
14
|
+
- crystal_maiden
|
15
|
+
- Crystal Maiden
|
16
|
+
6:
|
17
|
+
- drow_ranger
|
18
|
+
- Drow Ranger
|
19
|
+
7:
|
20
|
+
- earthshaker
|
21
|
+
- Earthshaker
|
22
|
+
8:
|
23
|
+
- juggernaut
|
24
|
+
- Juggernaut
|
25
|
+
9:
|
26
|
+
- mirana
|
27
|
+
- Mirana
|
28
|
+
10:
|
29
|
+
- morphling
|
30
|
+
- Morphling
|
31
|
+
11:
|
32
|
+
- nevermore
|
33
|
+
- Shadow Fiend
|
34
|
+
12:
|
35
|
+
- phantom_lancer
|
36
|
+
- Phantom Lancer
|
37
|
+
13:
|
38
|
+
- puck
|
39
|
+
- Puck
|
40
|
+
14:
|
41
|
+
- pudge
|
42
|
+
- Pudge
|
43
|
+
15:
|
44
|
+
- razor
|
45
|
+
- Razor
|
46
|
+
16:
|
47
|
+
- sand_king
|
48
|
+
- Sand King
|
49
|
+
17:
|
50
|
+
- storm_spirit
|
51
|
+
- Storm Spirit
|
52
|
+
18:
|
53
|
+
- sven
|
54
|
+
- Sven
|
55
|
+
19:
|
56
|
+
- tiny
|
57
|
+
- Tiny
|
58
|
+
20:
|
59
|
+
- vengefulspirit
|
60
|
+
- Vengeful Spirit
|
61
|
+
21:
|
62
|
+
- windrunner
|
63
|
+
- Windranger
|
64
|
+
22:
|
65
|
+
- zuus
|
66
|
+
- Zeus
|
67
|
+
23:
|
68
|
+
- kunkka
|
69
|
+
- Kunkka
|
70
|
+
25:
|
71
|
+
- lina
|
72
|
+
- Lina
|
73
|
+
26:
|
74
|
+
- lion
|
75
|
+
- Lion
|
76
|
+
27:
|
77
|
+
- shadow_shaman
|
78
|
+
- Shadow Shaman
|
79
|
+
28:
|
80
|
+
- slardar
|
81
|
+
- Slardar
|
82
|
+
29:
|
83
|
+
- tidehunter
|
84
|
+
- Tidehunter
|
85
|
+
30:
|
86
|
+
- witch_doctor
|
87
|
+
- Witch Doctor
|
88
|
+
31:
|
89
|
+
- lich
|
90
|
+
- Lich
|
91
|
+
32:
|
92
|
+
- riki
|
93
|
+
- Riki
|
94
|
+
33:
|
95
|
+
- enigma
|
96
|
+
- Enigma
|
97
|
+
34:
|
98
|
+
- tinker
|
99
|
+
- Tinker
|
100
|
+
35:
|
101
|
+
- sniper
|
102
|
+
- Sniper
|
103
|
+
36:
|
104
|
+
- necrolyte
|
105
|
+
- Necrophos
|
106
|
+
37:
|
107
|
+
- warlock
|
108
|
+
- Warlock
|
109
|
+
38:
|
110
|
+
- beastmaster
|
111
|
+
- Beastmaster
|
112
|
+
39:
|
113
|
+
- queenofpain
|
114
|
+
- Queen of Pain
|
115
|
+
40:
|
116
|
+
- venomancer
|
117
|
+
- Venomancer
|
118
|
+
41:
|
119
|
+
- faceless_void
|
120
|
+
- Faceless Void
|
121
|
+
42:
|
122
|
+
- skeleton_king
|
123
|
+
- Wraith King
|
124
|
+
43:
|
125
|
+
- death_prophet
|
126
|
+
- Death Prophet
|
127
|
+
44:
|
128
|
+
- phantom_assassin
|
129
|
+
- Phantom Assassin
|
130
|
+
45:
|
131
|
+
- pugna
|
132
|
+
- Pugna
|
133
|
+
46:
|
134
|
+
- templar_assassin
|
135
|
+
- Templar Assassin
|
136
|
+
47:
|
137
|
+
- viper
|
138
|
+
- Viper
|
139
|
+
48:
|
140
|
+
- luna
|
141
|
+
- Luna
|
142
|
+
49:
|
143
|
+
- dragon_knight
|
144
|
+
- Dragon Knight
|
145
|
+
50:
|
146
|
+
- dazzle
|
147
|
+
- Dazzle
|
148
|
+
51:
|
149
|
+
- rattletrap
|
150
|
+
- Clockwerk
|
151
|
+
52:
|
152
|
+
- leshrac
|
153
|
+
- Leshrac
|
154
|
+
53:
|
155
|
+
- furion
|
156
|
+
- Nature's Prophet
|
157
|
+
54:
|
158
|
+
- life_stealer
|
159
|
+
- Lifestealer
|
160
|
+
55:
|
161
|
+
- dark_seer
|
162
|
+
- Dark Seer
|
163
|
+
56:
|
164
|
+
- clinkz
|
165
|
+
- Clinkz
|
166
|
+
57:
|
167
|
+
- omniknight
|
168
|
+
- Omniknight
|
169
|
+
58:
|
170
|
+
- enchantress
|
171
|
+
- Enchantress
|
172
|
+
59:
|
173
|
+
- huskar
|
174
|
+
- Huskar
|
175
|
+
60:
|
176
|
+
- night_stalker
|
177
|
+
- Night Stalker
|
178
|
+
61:
|
179
|
+
- broodmother
|
180
|
+
- Broodmother
|
181
|
+
62:
|
182
|
+
- bounty_hunter
|
183
|
+
- Bounty Hunter
|
184
|
+
63:
|
185
|
+
- weaver
|
186
|
+
- Weaver
|
187
|
+
64:
|
188
|
+
- jakiro
|
189
|
+
- Jakiro
|
190
|
+
65:
|
191
|
+
- batrider
|
192
|
+
- Batrider
|
193
|
+
66:
|
194
|
+
- chen
|
195
|
+
- Chen
|
196
|
+
67:
|
197
|
+
- spectre
|
198
|
+
- Spectre
|
199
|
+
68:
|
200
|
+
- ancient_apparition
|
201
|
+
- Ancient Apparition
|
202
|
+
69:
|
203
|
+
- doom_bringer
|
204
|
+
- Doom
|
205
|
+
70:
|
206
|
+
- ursa
|
207
|
+
- Ursa
|
208
|
+
71:
|
209
|
+
- spirit_breaker
|
210
|
+
- Spirit Breaker
|
211
|
+
72:
|
212
|
+
- gyrocopter
|
213
|
+
- Gyrocopter
|
214
|
+
73:
|
215
|
+
- alchemist
|
216
|
+
- Alchemist
|
217
|
+
74:
|
218
|
+
- invoker
|
219
|
+
- Invoker
|
220
|
+
75:
|
221
|
+
- silencer
|
222
|
+
- Silencer
|
223
|
+
76:
|
224
|
+
- obsidian_destroyer
|
225
|
+
- Outworld Devourer
|
226
|
+
77:
|
227
|
+
- lycan
|
228
|
+
- Lycan
|
229
|
+
78:
|
230
|
+
- brewmaster
|
231
|
+
- Brewmaster
|
232
|
+
79:
|
233
|
+
- shadow_demon
|
234
|
+
- Shadow Demon
|
235
|
+
80:
|
236
|
+
- lone_druid
|
237
|
+
- Lone Druid
|
238
|
+
81:
|
239
|
+
- chaos_knight
|
240
|
+
- Chaos Knight
|
241
|
+
82:
|
242
|
+
- meepo
|
243
|
+
- Meepo
|
244
|
+
83:
|
245
|
+
- treant
|
246
|
+
- Treant Protector
|
247
|
+
84:
|
248
|
+
- ogre_magi
|
249
|
+
- Ogre Magi
|
250
|
+
85:
|
251
|
+
- undying
|
252
|
+
- Undying
|
253
|
+
86:
|
254
|
+
- rubick
|
255
|
+
- Rubick
|
256
|
+
87:
|
257
|
+
- disruptor
|
258
|
+
- Disruptor
|
259
|
+
88:
|
260
|
+
- nyx_assassin
|
261
|
+
- Nyx Assassin
|
262
|
+
89:
|
263
|
+
- naga_siren
|
264
|
+
- Naga Siren
|
265
|
+
90:
|
266
|
+
- keeper_of_the_light
|
267
|
+
- Keeper of the Light
|
268
|
+
91:
|
269
|
+
- wisp
|
270
|
+
- Io
|
271
|
+
92:
|
272
|
+
- visage
|
273
|
+
- Visage
|
274
|
+
93:
|
275
|
+
- slark
|
276
|
+
- Slark
|
277
|
+
94:
|
278
|
+
- medusa
|
279
|
+
- Medusa
|
280
|
+
95:
|
281
|
+
- troll_warlord
|
282
|
+
- Troll Warlord
|
283
|
+
96:
|
284
|
+
- centaur
|
285
|
+
- Centaur Warrunner
|
286
|
+
97:
|
287
|
+
- magnataur
|
288
|
+
- Magnus
|
289
|
+
98:
|
290
|
+
- shredder
|
291
|
+
- Timbersaw
|
292
|
+
99:
|
293
|
+
- bristleback
|
294
|
+
- Bristleback
|
295
|
+
100:
|
296
|
+
- tusk
|
297
|
+
- Tusk
|
298
|
+
101:
|
299
|
+
- skywrath_mage
|
300
|
+
- Skywrath Mage
|
301
|
+
102:
|
302
|
+
- abaddon
|
303
|
+
- Abaddon
|
304
|
+
103:
|
305
|
+
- elder_titan
|
306
|
+
- Elder Titan
|
307
|
+
104:
|
308
|
+
- legion_commander
|
309
|
+
- Legion Commander
|
310
|
+
105:
|
311
|
+
- techies
|
312
|
+
- Techies
|
313
|
+
106:
|
314
|
+
- ember_spirit
|
315
|
+
- Ember Spirit
|
316
|
+
107:
|
317
|
+
- earth_spirit
|
318
|
+
- Earth Spirit
|
319
|
+
109:
|
320
|
+
- terrorblade
|
321
|
+
- Terrorblade
|
322
|
+
110:
|
323
|
+
- phoenix
|
324
|
+
- Phoenix
|
325
|
+
111:
|
326
|
+
- oracle
|
327
|
+
- Oracle
|