dota 0.0.1
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 +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/Gemfile +3 -0
- data/Guardfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +35 -0
- data/Rakefile +6 -0
- data/dota.gemspec +31 -0
- data/lib/dota.rb +27 -0
- data/lib/dota/api/client.rb +37 -0
- data/lib/dota/api/item.rb +252 -0
- data/lib/dota/api/match.rb +93 -0
- data/lib/dota/api/match/player.rb +92 -0
- data/lib/dota/configuration.rb +7 -0
- data/lib/dota/utils/inspect.rb +24 -0
- data/lib/dota/version.rb +3 -0
- data/spec/dota/api/item_spec.rb +15 -0
- data/spec/dota/api/match/player_spec.rb +76 -0
- data/spec/dota/api/match_spec.rb +85 -0
- data/spec/dota_spec.rb +27 -0
- data/spec/fixtures/vcr_cassettes/GetMatchDetails.yml +251 -0
- data/spec/spec_helper.rb +23 -0
- data/spec/support/vcr.rb +8 -0
- metadata +200 -0
@@ -0,0 +1,93 @@
|
|
1
|
+
module Dota
|
2
|
+
module API
|
3
|
+
class Match
|
4
|
+
include Utilities::Inspectable
|
5
|
+
|
6
|
+
def initialize(raw)
|
7
|
+
@raw = raw
|
8
|
+
end
|
9
|
+
|
10
|
+
def id
|
11
|
+
raw["match_id"]
|
12
|
+
end
|
13
|
+
|
14
|
+
def sequence
|
15
|
+
raw["match_seq_num"]
|
16
|
+
end
|
17
|
+
|
18
|
+
def starts_at
|
19
|
+
Time.at(raw["start_time"])
|
20
|
+
end
|
21
|
+
|
22
|
+
def duration
|
23
|
+
raw["duration"]
|
24
|
+
end
|
25
|
+
|
26
|
+
def first_blood
|
27
|
+
raw["first_blood_time"]
|
28
|
+
end
|
29
|
+
|
30
|
+
def winner
|
31
|
+
raw["radiant_win"] ? :radiant : :dire
|
32
|
+
end
|
33
|
+
|
34
|
+
def positive_votes
|
35
|
+
raw["positive_votes"]
|
36
|
+
end
|
37
|
+
|
38
|
+
def negative_votes
|
39
|
+
raw["negative_votes"]
|
40
|
+
end
|
41
|
+
|
42
|
+
def season
|
43
|
+
raw["season"]
|
44
|
+
end
|
45
|
+
|
46
|
+
def league_id
|
47
|
+
raw["leagueid"]
|
48
|
+
end
|
49
|
+
|
50
|
+
def human_players
|
51
|
+
raw["human_players"]
|
52
|
+
end
|
53
|
+
|
54
|
+
def cluster
|
55
|
+
raw["cluster"]
|
56
|
+
end
|
57
|
+
|
58
|
+
def mode
|
59
|
+
raw["game_mode"]
|
60
|
+
end
|
61
|
+
|
62
|
+
def lobby
|
63
|
+
raw["lobby_type"]
|
64
|
+
end
|
65
|
+
|
66
|
+
def radiant_tower_status
|
67
|
+
raw["tower_status_radiant"]
|
68
|
+
end
|
69
|
+
|
70
|
+
def dire_tower_status
|
71
|
+
raw["tower_status_dire"]
|
72
|
+
end
|
73
|
+
|
74
|
+
def radiant_barracks_status
|
75
|
+
raw["barracks_status_radiant"]
|
76
|
+
end
|
77
|
+
|
78
|
+
def dire_barracks_status
|
79
|
+
raw["barracks_status_dire"]
|
80
|
+
end
|
81
|
+
|
82
|
+
def players
|
83
|
+
raw["players"].map do |raw_player|
|
84
|
+
Player.new(raw_player)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
private
|
89
|
+
|
90
|
+
attr_reader :raw
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
module Dota
|
2
|
+
module API
|
3
|
+
class Match
|
4
|
+
class Player
|
5
|
+
def initialize(raw)
|
6
|
+
@raw = raw
|
7
|
+
end
|
8
|
+
|
9
|
+
def id
|
10
|
+
raw["account_id"]
|
11
|
+
end
|
12
|
+
|
13
|
+
def slot
|
14
|
+
raw["player_slot"]
|
15
|
+
end
|
16
|
+
|
17
|
+
def status
|
18
|
+
case raw["leaver_status"]
|
19
|
+
when 0
|
20
|
+
:played
|
21
|
+
when 1
|
22
|
+
:left_safe
|
23
|
+
when 2
|
24
|
+
:abandoned
|
25
|
+
else
|
26
|
+
:bot
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def level
|
31
|
+
raw["level"]
|
32
|
+
end
|
33
|
+
|
34
|
+
def kills
|
35
|
+
raw["kills"]
|
36
|
+
end
|
37
|
+
|
38
|
+
def deaths
|
39
|
+
raw["deaths"]
|
40
|
+
end
|
41
|
+
|
42
|
+
def assists
|
43
|
+
raw["assists"]
|
44
|
+
end
|
45
|
+
|
46
|
+
def last_hits
|
47
|
+
raw["last_hits"]
|
48
|
+
end
|
49
|
+
|
50
|
+
def denies
|
51
|
+
raw["denies"]
|
52
|
+
end
|
53
|
+
|
54
|
+
def gold
|
55
|
+
raw["gold"]
|
56
|
+
end
|
57
|
+
|
58
|
+
def gold_spent
|
59
|
+
raw["gold_spent"]
|
60
|
+
end
|
61
|
+
|
62
|
+
def gpm
|
63
|
+
raw["gold_per_min"]
|
64
|
+
end
|
65
|
+
|
66
|
+
def xpm
|
67
|
+
raw["xp_per_min"]
|
68
|
+
end
|
69
|
+
|
70
|
+
def hero_damage
|
71
|
+
raw["hero_damage"]
|
72
|
+
end
|
73
|
+
|
74
|
+
def tower_damage
|
75
|
+
raw["tower_damage"]
|
76
|
+
end
|
77
|
+
|
78
|
+
def hero_healing
|
79
|
+
raw["hero_healing"]
|
80
|
+
end
|
81
|
+
|
82
|
+
def items
|
83
|
+
(0..5).map { |i| Item.new(raw["item_#{i}"]) }
|
84
|
+
end
|
85
|
+
|
86
|
+
private
|
87
|
+
|
88
|
+
attr_reader :raw
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Dota
|
2
|
+
module Utilities
|
3
|
+
#
|
4
|
+
# When an exception is raised, in some cases `#inspect` is called on a huge
|
5
|
+
# object graph to generate the message `"undefined method '...' for
|
6
|
+
# <Dota::API::Match:0x...>"`. This can take several seconds, since
|
7
|
+
# `Object#inspect` descends recursively into each instance variable.
|
8
|
+
#
|
9
|
+
# This mixin defines an alternative default implementation for `#inspect`,
|
10
|
+
# which should be significantly faster than the default Ruby implementation
|
11
|
+
# since it does not descend into the object.
|
12
|
+
#
|
13
|
+
module Inspectable
|
14
|
+
# @return [String]
|
15
|
+
def inspect
|
16
|
+
if self.class.name.empty?
|
17
|
+
"#<\#<Class:0x#{self.class.object_id.abs.to_s(16)}>"
|
18
|
+
else
|
19
|
+
"#<#{self.class.name}"
|
20
|
+
end << ":0x#{object_id.abs.to_s(16)} ...>"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/dota/version.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
describe Dota::API::Item do
|
2
|
+
let(:item) do
|
3
|
+
VCR.use_cassette("GetMatchDetails") do
|
4
|
+
test_client.match(sample_match_id).players.first.items.first
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
specify "#id" do
|
9
|
+
expect(item.id).to eq 1
|
10
|
+
end
|
11
|
+
|
12
|
+
specify "#name" do
|
13
|
+
expect(item.name).to eq "blink"
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
describe Dota::API::Match::Player do
|
2
|
+
let(:player) do
|
3
|
+
VCR.use_cassette("GetMatchDetails") do
|
4
|
+
test_client.match(sample_match_id).players.first
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
specify "#id" do
|
9
|
+
expect(player.id).to eq 98887913
|
10
|
+
end
|
11
|
+
|
12
|
+
specify "#slot" do
|
13
|
+
expect(player.slot).to eq 0
|
14
|
+
end
|
15
|
+
|
16
|
+
specify "#status" do
|
17
|
+
expect(player.status).to eq :played
|
18
|
+
end
|
19
|
+
|
20
|
+
specify "#level" do
|
21
|
+
expect(player.level).to eq 11
|
22
|
+
end
|
23
|
+
|
24
|
+
specify "#kills" do
|
25
|
+
expect(player.kills).to eq 2
|
26
|
+
end
|
27
|
+
|
28
|
+
specify "#deaths" do
|
29
|
+
expect(player.deaths).to eq 1
|
30
|
+
end
|
31
|
+
|
32
|
+
specify "#assists" do
|
33
|
+
expect(player.assists).to eq 13
|
34
|
+
end
|
35
|
+
|
36
|
+
specify "#last_hits" do
|
37
|
+
expect(player.last_hits).to eq 45
|
38
|
+
end
|
39
|
+
|
40
|
+
specify "#denies" do
|
41
|
+
expect(player.denies).to eq 0
|
42
|
+
end
|
43
|
+
|
44
|
+
specify "#gold" do
|
45
|
+
expect(player.gold).to eq 649
|
46
|
+
end
|
47
|
+
|
48
|
+
specify "#gold_spent" do
|
49
|
+
expect(player.gold_spent).to eq 6670
|
50
|
+
end
|
51
|
+
|
52
|
+
specify "#gpm" do
|
53
|
+
expect(player.gpm).to eq 437
|
54
|
+
end
|
55
|
+
|
56
|
+
specify "#xpm" do
|
57
|
+
expect(player.xpm).to eq 460
|
58
|
+
end
|
59
|
+
|
60
|
+
specify "#hero_damage" do
|
61
|
+
expect(player.hero_damage).to eq 3577
|
62
|
+
end
|
63
|
+
|
64
|
+
specify "#tower_damage" do
|
65
|
+
expect(player.tower_damage).to eq 153
|
66
|
+
end
|
67
|
+
|
68
|
+
specify "#hero_healing" do
|
69
|
+
expect(player.hero_healing).to eq 526
|
70
|
+
end
|
71
|
+
|
72
|
+
specify "#items" do
|
73
|
+
expect(player.items.count).to eq 6
|
74
|
+
expect(player.items.first).to be_a Dota::API::Item
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
describe Dota::API::Match do
|
2
|
+
let(:match) do
|
3
|
+
VCR.use_cassette("GetMatchDetails") do
|
4
|
+
test_client.match(sample_match_id)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
specify "#id" do
|
9
|
+
expect(match.id).to eq sample_match_id
|
10
|
+
end
|
11
|
+
|
12
|
+
specify "#sequence" do
|
13
|
+
expect(match.sequence).to eq 709365483
|
14
|
+
end
|
15
|
+
|
16
|
+
specify "#starts_at" do
|
17
|
+
expect(match.starts_at).to eq Time.at(1405973570)
|
18
|
+
end
|
19
|
+
|
20
|
+
specify "#duration" do
|
21
|
+
expect(match.duration).to eq 908
|
22
|
+
end
|
23
|
+
|
24
|
+
specify "#winner" do
|
25
|
+
expect(match.winner).to eq :radiant
|
26
|
+
end
|
27
|
+
|
28
|
+
specify "#first_blood" do
|
29
|
+
expect(match.first_blood).to eq 33
|
30
|
+
end
|
31
|
+
|
32
|
+
specify "#positive_votes" do
|
33
|
+
expect(match.positive_votes).to eq 34701
|
34
|
+
end
|
35
|
+
|
36
|
+
specify "#negative_votes" do
|
37
|
+
expect(match.negative_votes).to eq 13291
|
38
|
+
end
|
39
|
+
|
40
|
+
specify "#season" do
|
41
|
+
expect(match.season).to be_nil
|
42
|
+
end
|
43
|
+
|
44
|
+
specify "#human_players" do
|
45
|
+
expect(match.human_players).to eq 10
|
46
|
+
end
|
47
|
+
|
48
|
+
specify "#cluster" do
|
49
|
+
expect(match.cluster).to eq 111
|
50
|
+
end
|
51
|
+
|
52
|
+
specify "#mode" do
|
53
|
+
expect(match.mode).to eq 2
|
54
|
+
end
|
55
|
+
|
56
|
+
specify "#lobby" do
|
57
|
+
expect(match.lobby).to eq 2
|
58
|
+
end
|
59
|
+
|
60
|
+
specify "#league_id" do
|
61
|
+
expect(match.league_id).to eq 600
|
62
|
+
end
|
63
|
+
|
64
|
+
specify "#radiant_tower_status" do
|
65
|
+
expect(match.radiant_tower_status).to eq 2039
|
66
|
+
end
|
67
|
+
|
68
|
+
specify "#dire_tower_status" do
|
69
|
+
expect(match.dire_tower_status).to eq 1974
|
70
|
+
end
|
71
|
+
|
72
|
+
specify "#radiant_barracks_status" do
|
73
|
+
expect(match.radiant_barracks_status).to eq 63
|
74
|
+
end
|
75
|
+
|
76
|
+
specify "#dire_barracks_status" do
|
77
|
+
expect(match.dire_barracks_status).to eq 63
|
78
|
+
end
|
79
|
+
|
80
|
+
specify "#players" do
|
81
|
+
players = match.players
|
82
|
+
expect(players.count).to eq 10
|
83
|
+
expect(players.first).to be_a Dota::API::Match::Player
|
84
|
+
end
|
85
|
+
end
|
data/spec/dota_spec.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
describe Dota do
|
2
|
+
describe "configuration" do
|
3
|
+
it "accepts an api key" do
|
4
|
+
random_string = SecureRandom.hex
|
5
|
+
Dota.configure do |config|
|
6
|
+
config.api_key = random_string
|
7
|
+
end
|
8
|
+
|
9
|
+
expect(Dota.configuration.api_key).to eq random_string
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "usage" do
|
14
|
+
let(:api) { Dota.api }
|
15
|
+
|
16
|
+
before do
|
17
|
+
expect(Dota).to receive(:api).and_return(test_client)
|
18
|
+
end
|
19
|
+
|
20
|
+
specify "#match" do
|
21
|
+
VCR.use_cassette("GetMatchDetails") do
|
22
|
+
match = api.match(sample_match_id)
|
23
|
+
expect(match).to be_a(Dota::API::Match)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,251 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/V001/?key=2FBBA83745F494FAE688AFB8463CD4FC&match_id=789645621
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
+
Accept:
|
15
|
+
- "*/*"
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json; charset=UTF-8
|
23
|
+
Last-Modified:
|
24
|
+
- Mon, 21 Jul 2014 20:12:50 GMT
|
25
|
+
Date:
|
26
|
+
- Mon, 17 Nov 2014 16:54:30 GMT
|
27
|
+
Content-Length:
|
28
|
+
- '14776'
|
29
|
+
Expires:
|
30
|
+
- Mon, 26 Jul 1997 05:00:00 GMT
|
31
|
+
Cache-Control:
|
32
|
+
- no-cache,must-revalidate
|
33
|
+
body:
|
34
|
+
encoding: UTF-8
|
35
|
+
string: "{\n\t\"result\": {\n\t\t\"players\": [\n\t\t\t{\n\t\t\t\t\"account_id\":
|
36
|
+
98887913,\n\t\t\t\t\"player_slot\": 0,\n\t\t\t\t\"hero_id\": 69,\n\t\t\t\t\"item_0\":
|
37
|
+
1,\n\t\t\t\t\"item_1\": 34,\n\t\t\t\t\"item_2\": 0,\n\t\t\t\t\"item_3\": 79,\n\t\t\t\t\"item_4\":
|
38
|
+
214,\n\t\t\t\t\"item_5\": 38,\n\t\t\t\t\"kills\": 2,\n\t\t\t\t\"deaths\":
|
39
|
+
1,\n\t\t\t\t\"assists\": 13,\n\t\t\t\t\"leaver_status\": 0,\n\t\t\t\t\"gold\":
|
40
|
+
649,\n\t\t\t\t\"last_hits\": 45,\n\t\t\t\t\"denies\": 0,\n\t\t\t\t\"gold_per_min\":
|
41
|
+
437,\n\t\t\t\t\"xp_per_min\": 460,\n\t\t\t\t\"gold_spent\": 6670,\n\t\t\t\t\"hero_damage\":
|
42
|
+
3577,\n\t\t\t\t\"tower_damage\": 153,\n\t\t\t\t\"hero_healing\": 526,\n\t\t\t\t\"level\":
|
43
|
+
11,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
44
|
+
5339,\n\t\t\t\t\t\t\"time\": 738,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
45
|
+
5340,\n\t\t\t\t\t\t\"time\": 750,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
46
|
+
5340,\n\t\t\t\t\t\t\"time\": 821,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
47
|
+
5339,\n\t\t\t\t\t\t\"time\": 906,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
48
|
+
5340,\n\t\t\t\t\t\t\"time\": 960,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
49
|
+
5342,\n\t\t\t\t\t\t\"time\": 1023,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
50
|
+
5339,\n\t\t\t\t\t\t\"time\": 1125,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
51
|
+
5339,\n\t\t\t\t\t\t\"time\": 1267,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
52
|
+
5340,\n\t\t\t\t\t\t\"time\": 1378,\n\t\t\t\t\t\t\"level\": 9\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
53
|
+
5341,\n\t\t\t\t\t\t\"time\": 1439,\n\t\t\t\t\t\t\"level\": 10\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
54
|
+
5342,\n\t\t\t\t\t\t\"time\": 1506,\n\t\t\t\t\t\t\"level\": 11\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
55
|
+
100883708,\n\t\t\t\t\"player_slot\": 1,\n\t\t\t\t\"hero_id\": 27,\n\t\t\t\t\"item_0\":
|
56
|
+
180,\n\t\t\t\t\"item_1\": 34,\n\t\t\t\t\"item_2\": 0,\n\t\t\t\t\"item_3\":
|
57
|
+
0,\n\t\t\t\t\"item_4\": 16,\n\t\t\t\t\"item_5\": 0,\n\t\t\t\t\"kills\": 2,\n\t\t\t\t\"deaths\":
|
58
|
+
2,\n\t\t\t\t\"assists\": 6,\n\t\t\t\t\"leaver_status\": 0,\n\t\t\t\t\"gold\":
|
59
|
+
2037,\n\t\t\t\t\"last_hits\": 22,\n\t\t\t\t\"denies\": 2,\n\t\t\t\t\"gold_per_min\":
|
60
|
+
320,\n\t\t\t\t\"xp_per_min\": 283,\n\t\t\t\t\"gold_spent\": 3115,\n\t\t\t\t\"hero_damage\":
|
61
|
+
2640,\n\t\t\t\t\"tower_damage\": 793,\n\t\t\t\t\"hero_healing\": 0,\n\t\t\t\t\"level\":
|
62
|
+
8,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
63
|
+
5080,\n\t\t\t\t\t\t\"time\": 726,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
64
|
+
5078,\n\t\t\t\t\t\t\"time\": 821,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
65
|
+
5078,\n\t\t\t\t\t\t\"time\": 905,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
66
|
+
5079,\n\t\t\t\t\t\t\"time\": 1016,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
67
|
+
5078,\n\t\t\t\t\t\t\"time\": 1152,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
68
|
+
5081,\n\t\t\t\t\t\t\"time\": 1288,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
69
|
+
5078,\n\t\t\t\t\t\t\"time\": 1369,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
70
|
+
5079,\n\t\t\t\t\t\t\"time\": 1445,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
71
|
+
88508515,\n\t\t\t\t\"player_slot\": 2,\n\t\t\t\t\"hero_id\": 106,\n\t\t\t\t\"item_0\":
|
72
|
+
41,\n\t\t\t\t\"item_1\": 50,\n\t\t\t\t\"item_2\": 36,\n\t\t\t\t\"item_3\":
|
73
|
+
71,\n\t\t\t\t\"item_4\": 185,\n\t\t\t\t\"item_5\": 46,\n\t\t\t\t\"kills\":
|
74
|
+
7,\n\t\t\t\t\"deaths\": 0,\n\t\t\t\t\"assists\": 7,\n\t\t\t\t\"leaver_status\":
|
75
|
+
0,\n\t\t\t\t\"gold\": 1463,\n\t\t\t\t\"last_hits\": 97,\n\t\t\t\t\"denies\":
|
76
|
+
4,\n\t\t\t\t\"gold_per_min\": 577,\n\t\t\t\t\"xp_per_min\": 602,\n\t\t\t\t\"gold_spent\":
|
77
|
+
7905,\n\t\t\t\t\"hero_damage\": 8229,\n\t\t\t\t\"tower_damage\": 115,\n\t\t\t\t\"hero_healing\":
|
78
|
+
0,\n\t\t\t\t\"level\": 13,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
79
|
+
5603,\n\t\t\t\t\t\t\"time\": 730,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
80
|
+
5605,\n\t\t\t\t\t\t\"time\": 800,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
81
|
+
5605,\n\t\t\t\t\t\t\"time\": 811,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
82
|
+
5603,\n\t\t\t\t\t\t\"time\": 854,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
83
|
+
5604,\n\t\t\t\t\t\t\"time\": 903,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
84
|
+
5606,\n\t\t\t\t\t\t\"time\": 932,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
85
|
+
5605,\n\t\t\t\t\t\t\"time\": 1003,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
86
|
+
5605,\n\t\t\t\t\t\t\"time\": 1069,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
87
|
+
5604,\n\t\t\t\t\t\t\"time\": 1214,\n\t\t\t\t\t\t\"level\": 9\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
88
|
+
5604,\n\t\t\t\t\t\t\"time\": 1310,\n\t\t\t\t\t\t\"level\": 10\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
89
|
+
5604,\n\t\t\t\t\t\t\"time\": 1377,\n\t\t\t\t\t\t\"level\": 11\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
90
|
+
5603,\n\t\t\t\t\t\t\"time\": 1526,\n\t\t\t\t\t\t\"level\": 12\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
91
|
+
5603,\n\t\t\t\t\t\t\"time\": 1587,\n\t\t\t\t\t\t\"level\": 13\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
92
|
+
89217927,\n\t\t\t\t\"player_slot\": 3,\n\t\t\t\t\"hero_id\": 86,\n\t\t\t\t\"item_0\":
|
93
|
+
36,\n\t\t\t\t\"item_1\": 92,\n\t\t\t\t\"item_2\": 0,\n\t\t\t\t\"item_3\":
|
94
|
+
180,\n\t\t\t\t\"item_4\": 0,\n\t\t\t\t\"item_5\": 0,\n\t\t\t\t\"kills\": 4,\n\t\t\t\t\"deaths\":
|
95
|
+
0,\n\t\t\t\t\"assists\": 7,\n\t\t\t\t\"leaver_status\": 0,\n\t\t\t\t\"gold\":
|
96
|
+
1770,\n\t\t\t\t\"last_hits\": 24,\n\t\t\t\t\"denies\": 2,\n\t\t\t\t\"gold_per_min\":
|
97
|
+
334,\n\t\t\t\t\"xp_per_min\": 399,\n\t\t\t\t\"gold_spent\": 3920,\n\t\t\t\t\"hero_damage\":
|
98
|
+
4400,\n\t\t\t\t\"tower_damage\": 190,\n\t\t\t\t\"hero_healing\": 893,\n\t\t\t\t\"level\":
|
99
|
+
11,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
100
|
+
5448,\n\t\t\t\t\t\t\"time\": 633,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
101
|
+
5450,\n\t\t\t\t\t\t\"time\": 803,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
102
|
+
5450,\n\t\t\t\t\t\t\"time\": 942,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
103
|
+
5448,\n\t\t\t\t\t\t\"time\": 1043,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
104
|
+
5450,\n\t\t\t\t\t\t\"time\": 1155,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
105
|
+
5452,\n\t\t\t\t\t\t\"time\": 1277,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
106
|
+
5450,\n\t\t\t\t\t\t\"time\": 1351,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
107
|
+
5448,\n\t\t\t\t\t\t\"time\": 1442,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
108
|
+
5451,\n\t\t\t\t\t\t\"time\": 1517,\n\t\t\t\t\t\t\"level\": 9\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
109
|
+
5451,\n\t\t\t\t\t\t\"time\": 1584,\n\t\t\t\t\t\t\"level\": 10\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
110
|
+
5452,\n\t\t\t\t\t\t\"time\": 1602,\n\t\t\t\t\t\t\"level\": 11\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
111
|
+
89157606,\n\t\t\t\t\"player_slot\": 4,\n\t\t\t\t\"hero_id\": 78,\n\t\t\t\t\"item_0\":
|
112
|
+
1,\n\t\t\t\t\"item_1\": 60,\n\t\t\t\t\"item_2\": 182,\n\t\t\t\t\"item_3\":
|
113
|
+
36,\n\t\t\t\t\"item_4\": 180,\n\t\t\t\t\"item_5\": 46,\n\t\t\t\t\"kills\":
|
114
|
+
4,\n\t\t\t\t\"deaths\": 0,\n\t\t\t\t\"assists\": 5,\n\t\t\t\t\"leaver_status\":
|
115
|
+
0,\n\t\t\t\t\"gold\": 1476,\n\t\t\t\t\"last_hits\": 73,\n\t\t\t\t\"denies\":
|
116
|
+
20,\n\t\t\t\t\"gold_per_min\": 483,\n\t\t\t\t\"xp_per_min\": 503,\n\t\t\t\t\"gold_spent\":
|
117
|
+
6495,\n\t\t\t\t\"hero_damage\": 5147,\n\t\t\t\t\"tower_damage\": 299,\n\t\t\t\t\"hero_healing\":
|
118
|
+
0,\n\t\t\t\t\"level\": 11,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
119
|
+
5402,\n\t\t\t\t\t\t\"time\": 744,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
120
|
+
5400,\n\t\t\t\t\t\t\"time\": 777,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
121
|
+
5400,\n\t\t\t\t\t\t\"time\": 842,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
122
|
+
5002,\n\t\t\t\t\t\t\"time\": 944,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
123
|
+
5400,\n\t\t\t\t\t\t\"time\": 1021,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
124
|
+
5403,\n\t\t\t\t\t\t\"time\": 1085,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
125
|
+
5400,\n\t\t\t\t\t\t\"time\": 1176,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
126
|
+
5002,\n\t\t\t\t\t\t\"time\": 1240,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
127
|
+
5401,\n\t\t\t\t\t\t\"time\": 1411,\n\t\t\t\t\t\t\"level\": 9\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
128
|
+
5402,\n\t\t\t\t\t\t\"time\": 1509,\n\t\t\t\t\t\t\"level\": 10\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
129
|
+
5403,\n\t\t\t\t\t\t\"time\": 1512,\n\t\t\t\t\t\t\"level\": 11\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
130
|
+
91698091,\n\t\t\t\t\"player_slot\": 128,\n\t\t\t\t\"hero_id\": 40,\n\t\t\t\t\"item_0\":
|
131
|
+
41,\n\t\t\t\t\"item_1\": 212,\n\t\t\t\t\"item_2\": 86,\n\t\t\t\t\"item_3\":
|
132
|
+
94,\n\t\t\t\t\"item_4\": 29,\n\t\t\t\t\"item_5\": 0,\n\t\t\t\t\"kills\": 0,\n\t\t\t\t\"deaths\":
|
133
|
+
7,\n\t\t\t\t\"assists\": 3,\n\t\t\t\t\"leaver_status\": 0,\n\t\t\t\t\"gold\":
|
134
|
+
242,\n\t\t\t\t\"last_hits\": 69,\n\t\t\t\t\"denies\": 5,\n\t\t\t\t\"gold_per_min\":
|
135
|
+
319,\n\t\t\t\t\"xp_per_min\": 313,\n\t\t\t\t\"gold_spent\": 4285,\n\t\t\t\t\"hero_damage\":
|
136
|
+
5448,\n\t\t\t\t\"tower_damage\": 361,\n\t\t\t\t\"hero_healing\": 0,\n\t\t\t\t\"level\":
|
137
|
+
9,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
138
|
+
5179,\n\t\t\t\t\t\t\"time\": 726,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
139
|
+
5178,\n\t\t\t\t\t\t\"time\": 785,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
140
|
+
5180,\n\t\t\t\t\t\t\"time\": 799,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
141
|
+
5180,\n\t\t\t\t\t\t\"time\": 874,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
142
|
+
5180,\n\t\t\t\t\t\t\"time\": 921,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
143
|
+
5179,\n\t\t\t\t\t\t\"time\": 1004,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
144
|
+
5180,\n\t\t\t\t\t\t\"time\": 1116,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
145
|
+
5179,\n\t\t\t\t\t\t\"time\": 1213,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
146
|
+
5181,\n\t\t\t\t\t\t\"time\": 1413,\n\t\t\t\t\t\t\"level\": 9\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
147
|
+
90882159,\n\t\t\t\t\"player_slot\": 129,\n\t\t\t\t\"hero_id\": 63,\n\t\t\t\t\"item_0\":
|
148
|
+
63,\n\t\t\t\t\"item_1\": 56,\n\t\t\t\t\"item_2\": 44,\n\t\t\t\t\"item_3\":
|
149
|
+
36,\n\t\t\t\t\"item_4\": 0,\n\t\t\t\t\"item_5\": 212,\n\t\t\t\t\"kills\":
|
150
|
+
1,\n\t\t\t\t\"deaths\": 2,\n\t\t\t\t\"assists\": 0,\n\t\t\t\t\"leaver_status\":
|
151
|
+
0,\n\t\t\t\t\"gold\": 414,\n\t\t\t\t\"last_hits\": 55,\n\t\t\t\t\"denies\":
|
152
|
+
3,\n\t\t\t\t\"gold_per_min\": 304,\n\t\t\t\t\"xp_per_min\": 390,\n\t\t\t\t\"gold_spent\":
|
153
|
+
4395,\n\t\t\t\t\"hero_damage\": 2362,\n\t\t\t\t\"tower_damage\": 125,\n\t\t\t\t\"hero_healing\":
|
154
|
+
0,\n\t\t\t\t\"level\": 10,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
155
|
+
5290,\n\t\t\t\t\t\t\"time\": 737,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
156
|
+
5291,\n\t\t\t\t\t\t\"time\": 760,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
157
|
+
5290,\n\t\t\t\t\t\t\"time\": 827,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
158
|
+
5289,\n\t\t\t\t\t\t\"time\": 943,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
159
|
+
5290,\n\t\t\t\t\t\t\"time\": 1006,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
160
|
+
5292,\n\t\t\t\t\t\t\"time\": 1093,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
161
|
+
5290,\n\t\t\t\t\t\t\"time\": 1179,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
162
|
+
5291,\n\t\t\t\t\t\t\"time\": 1331,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
163
|
+
5291,\n\t\t\t\t\t\t\"time\": 1444,\n\t\t\t\t\t\t\"level\": 9\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
164
|
+
5291,\n\t\t\t\t\t\t\"time\": 1552,\n\t\t\t\t\t\t\"level\": 10\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
165
|
+
113800818,\n\t\t\t\t\"player_slot\": 130,\n\t\t\t\t\"hero_id\": 68,\n\t\t\t\t\"item_0\":
|
166
|
+
43,\n\t\t\t\t\"item_1\": 42,\n\t\t\t\t\"item_2\": 29,\n\t\t\t\t\"item_3\":
|
167
|
+
187,\n\t\t\t\t\"item_4\": 34,\n\t\t\t\t\"item_5\": 44,\n\t\t\t\t\"kills\":
|
168
|
+
2,\n\t\t\t\t\"deaths\": 1,\n\t\t\t\t\"assists\": 0,\n\t\t\t\t\"leaver_status\":
|
169
|
+
0,\n\t\t\t\t\"gold\": 366,\n\t\t\t\t\"last_hits\": 19,\n\t\t\t\t\"denies\":
|
170
|
+
2,\n\t\t\t\t\"gold_per_min\": 194,\n\t\t\t\t\"xp_per_min\": 186,\n\t\t\t\t\"gold_spent\":
|
171
|
+
3055,\n\t\t\t\t\"hero_damage\": 1256,\n\t\t\t\t\"tower_damage\": 0,\n\t\t\t\t\"hero_healing\":
|
172
|
+
0,\n\t\t\t\t\"level\": 7,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
173
|
+
5347,\n\t\t\t\t\t\t\"time\": 727,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
174
|
+
5345,\n\t\t\t\t\t\t\"time\": 878,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
175
|
+
5346,\n\t\t\t\t\t\t\"time\": 901,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
176
|
+
5345,\n\t\t\t\t\t\t\"time\": 1263,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
177
|
+
5345,\n\t\t\t\t\t\t\"time\": 1386,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
178
|
+
5348,\n\t\t\t\t\t\t\"time\": 1514,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
179
|
+
5345,\n\t\t\t\t\t\t\"time\": 1579,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
180
|
+
101695162,\n\t\t\t\t\"player_slot\": 131,\n\t\t\t\t\"hero_id\": 16,\n\t\t\t\t\"item_0\":
|
181
|
+
1,\n\t\t\t\t\"item_1\": 188,\n\t\t\t\t\"item_2\": 34,\n\t\t\t\t\"item_3\":
|
182
|
+
29,\n\t\t\t\t\"item_4\": 16,\n\t\t\t\t\"item_5\": 46,\n\t\t\t\t\"kills\":
|
183
|
+
0,\n\t\t\t\t\"deaths\": 4,\n\t\t\t\t\"assists\": 2,\n\t\t\t\t\"leaver_status\":
|
184
|
+
0,\n\t\t\t\t\"gold\": 393,\n\t\t\t\t\"last_hits\": 46,\n\t\t\t\t\"denies\":
|
185
|
+
1,\n\t\t\t\t\"gold_per_min\": 252,\n\t\t\t\t\"xp_per_min\": 246,\n\t\t\t\t\"gold_spent\":
|
186
|
+
3495,\n\t\t\t\t\"hero_damage\": 3486,\n\t\t\t\t\"tower_damage\": 0,\n\t\t\t\t\"hero_healing\":
|
187
|
+
0,\n\t\t\t\t\"level\": 8,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
188
|
+
5102,\n\t\t\t\t\t\t\"time\": 726,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
189
|
+
5103,\n\t\t\t\t\t\t\"time\": 861,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
190
|
+
5103,\n\t\t\t\t\t\t\"time\": 953,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
191
|
+
5102,\n\t\t\t\t\t\t\"time\": 1038,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
192
|
+
5103,\n\t\t\t\t\t\t\"time\": 1054,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
193
|
+
5105,\n\t\t\t\t\t\t\"time\": 1180,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
194
|
+
5102,\n\t\t\t\t\t\t\"time\": 1317,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
195
|
+
5102,\n\t\t\t\t\t\t\"time\": 1578,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"account_id\":
|
196
|
+
108382060,\n\t\t\t\t\"player_slot\": 132,\n\t\t\t\t\"hero_id\": 53,\n\t\t\t\t\"item_0\":
|
197
|
+
50,\n\t\t\t\t\"item_1\": 44,\n\t\t\t\t\"item_2\": 0,\n\t\t\t\t\"item_3\":
|
198
|
+
38,\n\t\t\t\t\"item_4\": 67,\n\t\t\t\t\"item_5\": 28,\n\t\t\t\t\"kills\":
|
199
|
+
0,\n\t\t\t\t\"deaths\": 5,\n\t\t\t\t\"assists\": 1,\n\t\t\t\t\"leaver_status\":
|
200
|
+
0,\n\t\t\t\t\"gold\": 820,\n\t\t\t\t\"last_hits\": 64,\n\t\t\t\t\"denies\":
|
201
|
+
5,\n\t\t\t\t\"gold_per_min\": 320,\n\t\t\t\t\"xp_per_min\": 275,\n\t\t\t\t\"gold_spent\":
|
202
|
+
3660,\n\t\t\t\t\"hero_damage\": 1515,\n\t\t\t\t\"tower_damage\": 291,\n\t\t\t\t\"hero_healing\":
|
203
|
+
0,\n\t\t\t\t\"level\": 8,\n\t\t\t\t\"ability_upgrades\": [\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
204
|
+
5247,\n\t\t\t\t\t\t\"time\": 616,\n\t\t\t\t\t\t\"level\": 1\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
205
|
+
5246,\n\t\t\t\t\t\t\"time\": 769,\n\t\t\t\t\t\t\"level\": 2\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
206
|
+
5247,\n\t\t\t\t\t\t\"time\": 812,\n\t\t\t\t\t\t\"level\": 3\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
207
|
+
5245,\n\t\t\t\t\t\t\"time\": 875,\n\t\t\t\t\t\t\"level\": 4\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
208
|
+
5247,\n\t\t\t\t\t\t\"time\": 902,\n\t\t\t\t\t\t\"level\": 5\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
209
|
+
5248,\n\t\t\t\t\t\t\"time\": 1068,\n\t\t\t\t\t\t\"level\": 6\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
210
|
+
5247,\n\t\t\t\t\t\t\"time\": 1175,\n\t\t\t\t\t\t\"level\": 7\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"ability\":
|
211
|
+
5246,\n\t\t\t\t\t\t\"time\": 1260,\n\t\t\t\t\t\t\"level\": 8\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t\n\t\t\t}\n\t\t]\n\t\t,\n\t\t\"radiant_win\":
|
212
|
+
true,\n\t\t\"duration\": 908,\n\t\t\"start_time\": 1405973570,\n\t\t\"match_id\":
|
213
|
+
789645621,\n\t\t\"match_seq_num\": 709365483,\n\t\t\"tower_status_radiant\":
|
214
|
+
2039,\n\t\t\"tower_status_dire\": 1974,\n\t\t\"barracks_status_radiant\":
|
215
|
+
63,\n\t\t\"barracks_status_dire\": 63,\n\t\t\"cluster\": 111,\n\t\t\"first_blood_time\":
|
216
|
+
33,\n\t\t\"lobby_type\": 2,\n\t\t\"human_players\": 10,\n\t\t\"leagueid\":
|
217
|
+
600,\n\t\t\"positive_votes\": 34701,\n\t\t\"negative_votes\": 13291,\n\t\t\"game_mode\":
|
218
|
+
2,\n\t\t\"radiant_team_id\": 1375614,\n\t\t\"radiant_name\": \"Newbee\",\n\t\t\"radiant_logo\":
|
219
|
+
794064971723724234,\n\t\t\"radiant_team_complete\": 1,\n\t\t\"dire_team_id\":
|
220
|
+
726228,\n\t\t\"dire_name\": \"Vici Gaming\",\n\t\t\"dire_logo\": 34096951715893495,\n\t\t\"dire_team_complete\":
|
221
|
+
1,\n\t\t\"radiant_captain\": 98887913,\n\t\t\"dire_captain\": 91698091,\n\t\t\"picks_bans\":
|
222
|
+
[\n\t\t\t{\n\t\t\t\t\"is_pick\": false,\n\t\t\t\t\"hero_id\": 15,\n\t\t\t\t\"team\":
|
223
|
+
0,\n\t\t\t\t\"order\": 0\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": false,\n\t\t\t\t\"hero_id\":
|
224
|
+
77,\n\t\t\t\t\"team\": 1,\n\t\t\t\t\"order\": 1\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\":
|
225
|
+
false,\n\t\t\t\t\"hero_id\": 43,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\":
|
226
|
+
2\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": false,\n\t\t\t\t\"hero_id\": 58,\n\t\t\t\t\"team\":
|
227
|
+
1,\n\t\t\t\t\"order\": 3\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\":
|
228
|
+
27,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\": 4\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\":
|
229
|
+
true,\n\t\t\t\t\"hero_id\": 68,\n\t\t\t\t\"team\": 1,\n\t\t\t\t\"order\":
|
230
|
+
5\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\": 53,\n\t\t\t\t\"team\":
|
231
|
+
1,\n\t\t\t\t\"order\": 6\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\":
|
232
|
+
78,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\": 7\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\":
|
233
|
+
false,\n\t\t\t\t\"hero_id\": 10,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\":
|
234
|
+
8\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": false,\n\t\t\t\t\"hero_id\": 73,\n\t\t\t\t\"team\":
|
235
|
+
1,\n\t\t\t\t\"order\": 9\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": false,\n\t\t\t\t\"hero_id\":
|
236
|
+
45,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\": 10\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\":
|
237
|
+
false,\n\t\t\t\t\"hero_id\": 7,\n\t\t\t\t\"team\": 1,\n\t\t\t\t\"order\":
|
238
|
+
11\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\": 63,\n\t\t\t\t\"team\":
|
239
|
+
1,\n\t\t\t\t\"order\": 12\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\":
|
240
|
+
86,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\": 13\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\":
|
241
|
+
true,\n\t\t\t\t\"hero_id\": 16,\n\t\t\t\t\"team\": 1,\n\t\t\t\t\"order\":
|
242
|
+
14\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\": 69,\n\t\t\t\t\"team\":
|
243
|
+
0,\n\t\t\t\t\"order\": 15\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": false,\n\t\t\t\t\"hero_id\":
|
244
|
+
54,\n\t\t\t\t\"team\": 1,\n\t\t\t\t\"order\": 16\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\":
|
245
|
+
false,\n\t\t\t\t\"hero_id\": 99,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\":
|
246
|
+
17\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\": 40,\n\t\t\t\t\"team\":
|
247
|
+
1,\n\t\t\t\t\"order\": 18\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"is_pick\": true,\n\t\t\t\t\"hero_id\":
|
248
|
+
106,\n\t\t\t\t\"team\": 0,\n\t\t\t\t\"order\": 19\n\t\t\t}\n\t\t]\n\t\t\n\t}\n}"
|
249
|
+
http_version:
|
250
|
+
recorded_at: Mon, 17 Nov 2014 16:54:30 GMT
|
251
|
+
recorded_with: VCR 2.9.3
|