├── .gitignore ├── LICENSE ├── README.md ├── index.js ├── lib ├── overwatch.js └── registry │ └── ranking.js ├── package-lock.json ├── package.json └── specs └── mocktest.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Directory for instrumented libs generated by jscoverage/JSCover 12 | lib-cov 13 | 14 | # Coverage directory used by tools like istanbul 15 | coverage 16 | 17 | # nyc test coverage 18 | .nyc_output 19 | 20 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 21 | .grunt 22 | 23 | # node-waf configuration 24 | .lock-wscript 25 | 26 | # Compiled binary addons (http://nodejs.org/api/addons.html) 27 | build/Release 28 | 29 | # Dependency directories 30 | node_modules 31 | jspm_packages 32 | 33 | # Optional npm cache directory 34 | .npm 35 | 36 | # Optional REPL history 37 | .node_repl_history 38 | 39 | # vscode 40 | .vscode 41 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Giovanni 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # overwatch-js 2 | NodeJS Overwatch library : Retrieve informations about heroes/players from Overwatch Official Website [Overwatch](https://playoverwatch.com) 3 | 4 | [![NPM](https://nodei.co/npm/overwatch-js.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/overwatch-js/) 5 | 6 | ## This repository is DEPRECATED 7 | 8 | ## Functionalities 9 | * Search for a player 10 | * Global profile datas 11 | * Career profile datas with heroes statistics 12 | 13 | ## Last activities 14 | * [Issue](https://github.com/gclem/overwatch-js/issues/21) : Fix mostplayed heroe in masteringHeroe property 15 | * [Issue](https://github.com/gclem/overwatch-js/issues/20) : Fix search method on updated JSON format 16 | * [Issue] : Return "PROFILE_NOT_FOUND" error handled promise object instead of stack error when profile doesn't exists 17 | * [Enhancement](https://github.com/gclem/overwatch-js/issues/14) : Manage new search format with # 18 | * [Enhancement](https://github.com/gclem/overwatch-js/issues/9) : Node > 4 compliant 19 | * [Issue](https://github.com/gclem/overwatch-js/issues/8) : Fix special characters in username 20 | * [Issue](https://github.com/gclem/overwatch-js/issues/7) : Fix the ranking interpretation (silver, gold, platinum etc.) 21 | * [Issue](https://github.com/gclem/overwatch-js/issues/6) : Fix global decimal rounding 22 | * [Enhancement](https://github.com/gclem/overwatch-js/issues/5) : Adding tiers information 23 | * [Enchancement](https://github.com/gclem/overwatch-js/issues/4) : Adding achievements informations 24 | * [Enchancement](https://github.com/gclem/overwatch-js/issues/3) : Selfhosting : [owjs.ovh](https://owjs.ovh) 25 | * [Issue](https://github.com/gclem/overwatch-js/issues/2) : @LanaCoyote : Fix date parsing 26 | * [Issue](https://github.com/gclem/overwatch-js/issues/1) : Managing XBL and PSN profile 27 | 28 | ## Install 29 | 30 | #### Requirements 31 | * Node v4.0+ 32 | 33 | ```bash 34 | npm install overwatch-js 35 | ``` 36 | 37 | ## Self-hosted 38 | You can test this lib, through a self hosted web api endpoint. 39 | This web api is hosted on my servers, doesn't write logs, and is totally secure. 40 | 41 | You can find the repo here : [overwatch-api Repository ](https://github.com/gclem/overwatch-webapi) 42 | You can enjoy here : [owjs.ovh](https://owjs.ovh) 43 | 44 | ## How to 45 | 46 | Extremely simple use case. See `specs/mocktest.js` 47 | All methods use Promise. 48 | 49 | #### Search for a player : 50 | 51 | ``` javascript 52 | var owjs = require('overwatch-js'); 53 | 54 | //// Search for a player 55 | owjs 56 | .search('Zeya#2303') 57 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 58 | 59 | //// With custom locales 60 | owjs 61 | .search('Zeya#2303', 'de-de') 62 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 63 | ``` 64 | 65 | ``` javascript 66 | [ { careerLink: '/career/pc/eu/Zeya-2303', 67 | platformDisplayName: 'Zeya#2303', 68 | level: 64, 69 | portrait: 'https://blzgdapipro-a.akamaihd.net/game/unlocks/0x02500000000009D9.png', 70 | platform: 'career', 71 | region: 'pc', 72 | tier: 2 } ] 73 | ``` 74 | 75 | #### Overall statistics : 76 | 77 | ``` javascript 78 | var owjs = require('overwatch-js'); 79 | //// Retrive only overall stats 80 | owjs 81 | .getOverall('pc', 'eu', 'Zeya-2303') 82 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 83 | 84 | //// With custom locale 85 | owjs 86 | .getOverall('pc', 'eu', 'Zeya-2303', 'de-de') 87 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 88 | ``` 89 | 90 | #### All statistics with heroes details : 91 | 92 | ``` javascript 93 | var owjs = require('overwatch-js'); 94 | 95 | //// Retrieve all stats, including heroes details 96 | owjs 97 | .getAll('pc', 'eu', 'Zeya-2303') 98 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 99 | 100 | //// With custom locale 101 | owjs 102 | .getAll('pc', 'eu', 'Zeya-2303', 'de-de') 103 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 104 | ``` 105 | 106 | Where `pc` is the platform, `eu` is the region, `Zeya-2303` the nickname, optionnaly : `de-de` a specific locale 107 | 108 | #### Available informations : 109 | 110 | ``` javascript 111 | { 112 | "profile":{ 113 | "nick":"Zeya", 114 | "level":94, 115 | "avatar":"https://d1u1mce87gyfbn.cloudfront.net/game/unlocks/0x02500000000010BE.png", 116 | "rank":1597, 117 | "tier":0, 118 | "rankPicture":"https://d1u1mce87gyfbn.cloudfront.net/game/rank-icons/season-2/rank-2.png", 119 | "season":{ 120 | "id":2, 121 | "rank":2 122 | }, 123 | "ranking":"Silver", 124 | "platform":"", 125 | "url":"https://playoverwatch.com/en-us/career/pc/eu/Zeya-2303" 126 | }, 127 | "competitive":{ 128 | "global":{ 129 | "all_damage_done_avg_per_10_min":17, 130 | "masteringHeroe":"junkrat", 131 | "time_spent_on_fire":1259000, 132 | "solo_kills":109, 133 | "environmental_kills":2, 134 | "multikills":6, 135 | "barrier_damage_done":229499, 136 | "deaths":519, 137 | "hero_damage_done":409039, 138 | "objective_time":2643000, 139 | "objective_kills":316, 140 | "final_blows":435, 141 | "eliminations":869, 142 | "all_damage_done":646234, 143 | "teleporter_pad_destroyed":1, 144 | "defensive_assists":35, 145 | "healing_done":36463, 146 | "offensive_assists":26, 147 | "eliminations_most_in_game":32, 148 | "final_blows_most_in_game":22, 149 | "all_damage_done_most_in_game":31970, 150 | "healing_done_most_in_game":8485, 151 | "defensive_assists_most_in_game":12, 152 | "offensive_assists_most_in_game":3, 153 | "objective_kills_most_in_game":18, 154 | "objective_time_most_in_game":237000, 155 | "multikill_best":3, 156 | "solo_kills_most_in_game":22, 157 | "time_spent_on_fire_most_in_game":170000, 158 | "turrets_destroyed_most_in_game":7, 159 | "environmental_kill_most_in_game":1, 160 | "teleporter_pad_destroyed_most_in_game":1, 161 | "kill_streak_best":32, 162 | "hero_damage_done_most_in_game":20209, 163 | "barrier_damage_done_most_in_game":15226, 164 | "barrier_damage_done_avg_per_10_min":6, 165 | "deaths_avg_per_10_min":0, 166 | "hero_damage_done_avg_per_10_min":11, 167 | "time_spent_on_fire_avg_per_10_min":0, 168 | "solo_kills_avg_per_10_min":0, 169 | "objective_time_avg_per_10_min":0, 170 | "objective_kills_avg_per_10_min":0, 171 | "healing_done_avg_per_10_min":1, 172 | "final_blows_avg_per_10_min":0, 173 | "eliminations_avg_per_10_min":0, 174 | "cards":6, 175 | "medals_silver":33, 176 | "medals_bronze":29, 177 | "medals":97, 178 | "medals_gold":35, 179 | "games_tied":3, 180 | "time_played":36000000, 181 | "games_played":61, 182 | "games_won":22, 183 | "games_lost":36, 184 | "turrets_destroyed":23, 185 | "damage_done":409039 186 | }, 187 | "heroes":{ 188 | "reaper":{ 189 | "death_blossom_kills":7, 190 | "death_blossom_kills_most_in_game":5, 191 | "self_healing":2693, 192 | "self_healing_most_in_game":1277, 193 | "death_blossom_kills_avg_per_10_min":0, 194 | "self_healing_avg_per_10_min":1, 195 | "eliminations":66, 196 | "deaths":33, 197 | "final_blows":31, 198 | "solo_kills":5, 199 | "all_damage_done":41907, 200 | "objective_kills":33, 201 | "objective_time":322000, 202 | "time_spent_on_fire":172000, 203 | "critical_hits":382, 204 | "hero_damage_done":28401, 205 | "barrier_damage_done":13359, 206 | "critical_hit_accuracy":8, 207 | "weapon_accuracy":19, 208 | "eliminations_most_in_life":7, 209 | "all_damage_done_most_in_life":4708, 210 | "weapon_accuracy_best_in_game":23, 211 | "kill_streak_best":7, 212 | "all_damage_done_most_in_game":19374, 213 | "eliminations_most_in_game":27, 214 | "final_blows_most_in_game":17, 215 | "objective_kills_most_in_game":17, 216 | "objective_time_most_in_game":202000, 217 | "solo_kills_most_in_game":3, 218 | "critical_hits_most_in_game":194, 219 | "critical_hits_most_in_life":64, 220 | "time_spent_on_fire_most_in_game":105, 221 | "hero_damage_done_most_in_game":15067, 222 | "hero_damage_done_most_in_life":3415, 223 | "barrier_damage_done_most_in_game":4180, 224 | "barrier_damage_done_avg_per_10_min":5, 225 | "critical_hits_avg_per_10_min":0, 226 | "time_spent_on_fire_avg_per_10_min":0, 227 | "solo_kills_avg_per_10_min":0, 228 | "objective_time_avg_per_10_min":0, 229 | "objective_kills_avg_per_10_min":0, 230 | "final_blows_avg_per_10_min":0, 231 | "eliminations_avg_per_10_min":0, 232 | "deaths_avg_per_10_min":0, 233 | "hero_damage_done_avg_per_10_min":11, 234 | "eliminations_per_life":2, 235 | "all_damage_done_avg_per_10_min":16.43, 236 | "medals_bronze":2, 237 | "medals_silver":3, 238 | "medals_gold":1, 239 | "medals":6, 240 | "time_played":2520000, 241 | "games_played":4, 242 | "games_lost":4 243 | }, 244 | "mercy":{ 245 | "self_healing":257, 246 | "self_healing_most_in_game":257, 247 | "self_healing_avg_per_10_min":2, 248 | "deaths":2, 249 | "defensive_assist":1, 250 | "defensive_assist_most_in_game":1, 251 | "healing_done":845, 252 | "healing_done_most_in_game":845, 253 | "healing_done_avg_per_10_min":8, 254 | "defensive_assists_avg_per_10_min":0, 255 | "deaths_avg_per_10_min":0, 256 | "medals_silver":0, 257 | "medals":0, 258 | "time_played":60000, 259 | "games_played":0, 260 | "games_tied":0, 261 | "games_lost":0 262 | }, 263 | "hanzo":{ 264 | "dragonstrike_kill":1, 265 | "dragonstrike_kill_most_in_game":1, 266 | "dragonstrike_kills_avg_per_10_min":0, 267 | "eliminations":14, 268 | "deaths":8, 269 | "final_blows":10, 270 | "solo_kills":3, 271 | "all_damage_done":10618, 272 | "objective_kills":3, 273 | "objective_time":9000, 274 | "critical_hits":7, 275 | "hero_damage_done":6680, 276 | "barrier_damage_done":3937, 277 | "critical_hit_accuracy":12, 278 | "weapon_accuracy":20, 279 | "eliminations_most_in_life":8, 280 | "all_damage_done_most_in_life":2459, 281 | "weapon_accuracy_best_in_game":24, 282 | "kill_streak_best":8, 283 | "all_damage_done_most_in_game":8662, 284 | "eliminations_most_in_game":14, 285 | "final_blows_most_in_game":10, 286 | "objective_kills_most_in_game":3, 287 | "objective_time_most_in_game":9000, 288 | "solo_kills_most_in_game":3, 289 | "critical_hits_most_in_game":7, 290 | "critical_hits_most_in_life":3, 291 | "hero_damage_done_most_in_game":5809, 292 | "hero_damage_done_most_in_life":2278, 293 | "barrier_damage_done_most_in_game":2852, 294 | "barrier_damage_done_avg_per_10_min":5, 295 | "critical_hits_avg_per_10_min":0, 296 | "solo_kills_avg_per_10_min":0, 297 | "objective_time_avg_per_10_min":0, 298 | "objective_kills_avg_per_10_min":0, 299 | "final_blows_avg_per_10_min":0, 300 | "eliminations_avg_per_10_min":0, 301 | "deaths_avg_per_10_min":0, 302 | "hero_damage_done_avg_per_10_min":9, 303 | "eliminations_per_life":1.75, 304 | "all_damage_done_avg_per_10_min":14.05, 305 | "medals_bronze":1, 306 | "medals_silver":1, 307 | "medals":2, 308 | "time_played":720000, 309 | "games_played":1, 310 | "games_lost":1, 311 | "storm_arrow_kills":3, 312 | "storm_arrow_kills_most_in_game":3, 313 | "storm_arrow_kills_avg_per_10_min":0 314 | }, 315 | "torbjörn":{ 316 | "armor_packs_created":22, 317 | "torbjörn_kills":11, 318 | "turret_kills":19, 319 | "torbjörn_kills_most_in_game":5, 320 | "armor_packs_created_most_in_game":12, 321 | "turret_kills_most_in_game":8, 322 | "molten_core_kills":8, 323 | "molten_core_kills_most_in_game":6, 324 | "turret_kills_avg_per_10_min":0, 325 | "torbjörn_kills_avg_per_10_min":0, 326 | "molten_core_kills_avg_per_10_min":0, 327 | "armor_packs_created_avg_per_10_min":0, 328 | "eliminations":24, 329 | "deaths":6, 330 | "final_blows":9, 331 | "solo_kills":3, 332 | "all_damage_done":17278, 333 | "objective_kills":10, 334 | "objective_time":6000, 335 | "time_spent_on_fire":38000, 336 | "critical_hits":3, 337 | "hero_damage_done":8853, 338 | "barrier_damage_done":8304, 339 | "critical_hit_accuracy":2, 340 | "weapon_accuracy":20, 341 | "eliminations_most_in_life":8, 342 | "all_damage_done_most_in_life":4748, 343 | "weapon_accuracy_best_in_game":24, 344 | "kill_streak_best":8, 345 | "all_damage_done_most_in_game":6943, 346 | "eliminations_most_in_game":11, 347 | "final_blows_most_in_game":5, 348 | "objective_kills_most_in_game":7, 349 | "objective_time_most_in_game":6000, 350 | "solo_kills_most_in_game":2, 351 | "critical_hits_most_in_game":3, 352 | "critical_hits_most_in_life":3, 353 | "time_spent_on_fire_most_in_game":38, 354 | "hero_damage_done_most_in_game":3590, 355 | "hero_damage_done_most_in_life":2683, 356 | "barrier_damage_done_most_in_game":3252, 357 | "barrier_damage_done_avg_per_10_min":10, 358 | "critical_hits_avg_per_10_min":0, 359 | "time_spent_on_fire_avg_per_10_min":0, 360 | "solo_kills_avg_per_10_min":0, 361 | "objective_time_avg_per_10_min":0, 362 | "objective_kills_avg_per_10_min":0, 363 | "final_blows_avg_per_10_min":0, 364 | "eliminations_avg_per_10_min":0, 365 | "deaths_avg_per_10_min":0, 366 | "hero_damage_done_avg_per_10_min":11, 367 | "eliminations_per_life":4, 368 | "all_damage_done_avg_per_10_min":21.66, 369 | "medals_bronze":1, 370 | "medals_gold":2, 371 | "medals":3, 372 | "time_played":780000, 373 | "games_played":2, 374 | "games_won":1, 375 | "games_lost":1, 376 | "win_percentage":64 377 | }, 378 | "reinhardt":{ 379 | "damage_blocked":23682, 380 | "damage_blocked_most_in_game":8778, 381 | "charge_kills":3, 382 | "charge_kills_most_in_game":2, 383 | "fire_strike_kills":4, 384 | "fire_strike_kills_most_in_game":3, 385 | "earthshatter_kill":1, 386 | "earthshatter_kill_most_in_game":1, 387 | "rocket_hammer_melee_accuracy":0, 388 | "fire_strike_kills_avg_per_10_min":0, 389 | "earthshatter_kills_avg_per_10_min":0, 390 | "damage_blocked_avg_per_10_min":23, 391 | "charge_kills_avg_per_10_min":0, 392 | "eliminations":11, 393 | "deaths":13, 394 | "final_blows":4, 395 | "solo_kill":1, 396 | "all_damage_done":6071, 397 | "objective_kills":2, 398 | "objective_time":229000, 399 | "time_spent_on_fire":33000, 400 | "hero_damage_done":5040, 401 | "barrier_damage_done":980, 402 | "offensive_assist":1, 403 | "offensive_assist_most_in_game":1, 404 | "offensive_assists_avg_per_10_min":0, 405 | "eliminations_most_in_life":8, 406 | "all_damage_done_most_in_life":3756, 407 | "kill_streak_best":8, 408 | "all_damage_done_most_in_game":3756, 409 | "eliminations_most_in_game":8, 410 | "final_blows_most_in_game":3, 411 | "objective_kill_most_in_game":1, 412 | "objective_time_most_in_game":205000, 413 | "solo_kill_most_in_game":1, 414 | "time_spent_on_fire_most_in_game":33, 415 | "hero_damage_done_most_in_game":3056, 416 | "hero_damage_done_most_in_life":3056, 417 | "barrier_damage_done_most_in_game":650, 418 | "barrier_damage_done_avg_per_10_min":1, 419 | "time_spent_on_fire_avg_per_10_min":0, 420 | "solo_kills_avg_per_10_min":0, 421 | "objective_time_avg_per_10_min":0, 422 | "objective_kills_avg_per_10_min":0, 423 | "final_blows_avg_per_10_min":0, 424 | "eliminations_avg_per_10_min":0, 425 | "deaths_avg_per_10_min":0, 426 | "hero_damage_done_avg_per_10_min":5, 427 | "eliminations_per_life":0.84, 428 | "all_damage_done_avg_per_10_min":5.82, 429 | "medals_bronze":0, 430 | "medals_silver":1, 431 | "medals_gold":0, 432 | "medals":1, 433 | "card":1, 434 | "time_played":1020000, 435 | "games_played":2, 436 | "games_won":0, 437 | "games_lost":1, 438 | "win_percentage":19 439 | }, 440 | "pharah":{ 441 | "rocket_direct_hits":33, 442 | "barrage_kill":1, 443 | "rocket_direct_hits_most_in_game":17, 444 | "barrage_kill_most_in_game":1, 445 | "rocket_direct_hits_avg_per_10_min":0, 446 | "barrage_kills_avg_per_10_min":0, 447 | "eliminations":3, 448 | "deaths":5, 449 | "final_blow":1, 450 | "all_damage_done":8390, 451 | "objective_kill":1, 452 | "hero_damage_done":4869, 453 | "barrier_damage_done":3471, 454 | "weapon_accuracy":51, 455 | "elimination_most_in_life":1, 456 | "all_damage_done_most_in_life":2681, 457 | "weapon_accuracy_best_in_game":57, 458 | "kill_streak_best":1, 459 | "all_damage_done_most_in_game":4528, 460 | "eliminations_most_in_game":2, 461 | "final_blow_most_in_game":1, 462 | "objective_kill_most_in_game":1, 463 | "hero_damage_done_most_in_game":2744, 464 | "hero_damage_done_most_in_life":1573, 465 | "barrier_damage_done_most_in_game":2403, 466 | "barrier_damage_done_avg_per_10_min":10, 467 | "objective_kills_avg_per_10_min":0, 468 | "final_blows_avg_per_10_min":0, 469 | "eliminations_avg_per_10_min":0, 470 | "deaths_avg_per_10_min":0, 471 | "hero_damage_done_avg_per_10_min":13, 472 | "eliminations_per_life":0.6, 473 | "all_damage_done_avg_per_10_min":23.11, 474 | "medals_silver":0, 475 | "medals_gold":1, 476 | "medals":1, 477 | "time_played":360000, 478 | "games_played":1, 479 | "games_won":0, 480 | "games_lost":0, 481 | "win_percentage":24 482 | }, 483 | "winston":{ 484 | "players_knocked_back":400, 485 | "damage_blocked":73539, 486 | "damage_blocked_most_in_game":9276, 487 | "players_knocked_back_most_in_game":67, 488 | "melee_kills":19, 489 | "melee_kills_most_in_game":5, 490 | "jump_pack_kills":25, 491 | "jump_pack_kills_most_in_game":4, 492 | "primal_rage_kills":19, 493 | "primal_rage_kills_most_in_game":6, 494 | "primal_rage_melee_accuracy":1, 495 | "tesla_cannon_accuracy":1, 496 | "primal_rage_kills__avg_per_10_min":0, 497 | "players_knocked_back_avg_per_10_min":0, 498 | "melee_kills_avg_per_10_min":0, 499 | "jump_pack_kills_avg_per_10_min":0, 500 | "damage_blocked_avg_per_10_min":11, 501 | "eliminations":164, 502 | "deaths":85, 503 | "final_blows":53, 504 | "solo_kills":3, 505 | "all_damage_done":65123, 506 | "objective_kills":79, 507 | "objective_time":869000, 508 | "time_spent_on_fire":75000, 509 | "hero_damage_done":51035, 510 | "barrier_damage_done":12514, 511 | "turrets_destroyed":15, 512 | "eliminations_most_in_life":12, 513 | "all_damage_done_most_in_life":3762, 514 | "kill_streak_best":12, 515 | "all_damage_done_most_in_game":10345, 516 | "eliminations_most_in_game":24, 517 | "final_blows_most_in_game":10, 518 | "objective_kills_most_in_game":16, 519 | "objective_time_most_in_game":126000, 520 | "solo_kill_most_in_game":1, 521 | "time_spent_on_fire_most_in_game":38, 522 | "hero_damage_done_most_in_game":7910, 523 | "hero_damage_done_most_in_life":2729, 524 | "barrier_damage_done_most_in_game":2285, 525 | "barrier_damage_done_avg_per_10_min":2, 526 | "time_spent_on_fire_avg_per_10_min":0, 527 | "solo_kills_avg_per_10_min":0, 528 | "objective_time_avg_per_10_min":0, 529 | "objective_kills_avg_per_10_min":0, 530 | "final_blows_avg_per_10_min":0, 531 | "eliminations_avg_per_10_min":0, 532 | "deaths_avg_per_10_min":0, 533 | "hero_damage_done_avg_per_10_min":8, 534 | "eliminations_per_life":1.92, 535 | "all_damage_done_avg_per_10_min":10.04, 536 | "medals_bronze":6, 537 | "medals_silver":8, 538 | "medals_gold":9, 539 | "medals":23, 540 | "time_played":3600000, 541 | "games_played":11, 542 | "games_won":3, 543 | "games_lost":8, 544 | "win_percentage":25, 545 | "jump_kills":25, 546 | "weapon_kills":152 547 | }, 548 | "widowmaker":{ 549 | "scoped_accuracy_best_in_game":55, 550 | "scoped_accuracy":55, 551 | "elimination":1, 552 | "death":1, 553 | "final_blow":1, 554 | "all_damage_done":1245, 555 | "hero_damage_done":558, 556 | "barrier_damage_done":687, 557 | "weapon_accuracy":35, 558 | "elimination_most_in_life":1, 559 | "all_damage_done_most_in_life":1245, 560 | "weapon_accuracy_best_in_game":20, 561 | "kill_streak_best":1, 562 | "all_damage_done_most_in_game":1245, 563 | "elimination_most_in_game":1, 564 | "final_blow_most_in_game":1, 565 | "hero_damage_done_most_in_game":558, 566 | "hero_damage_done_most_in_life":558, 567 | "barrier_damage_done_most_in_game":687, 568 | "barrier_damage_done_avg_per_10_min":9, 569 | "final_blows_avg_per_10_min":0, 570 | "eliminations_avg_per_10_min":0, 571 | "deaths_avg_per_10_min":0, 572 | "hero_damage_done_avg_per_10_min":7, 573 | "elimination_per_life":1, 574 | "all_damage_done_avg_per_10_min":16.54, 575 | "medals_bronze":0, 576 | "medals":0, 577 | "time_played":60000, 578 | "games_played":0, 579 | "games_lost":0 580 | }, 581 | "genji":{ 582 | "damage_reflected":191, 583 | "damage_reflected_most_in_game":98, 584 | "damage_reflected_avg_per_10_min":0, 585 | "eliminations":8, 586 | "deaths":8, 587 | "final_blow":1, 588 | "all_damage_done":4822, 589 | "objective_kills":3, 590 | "objective_time":5000, 591 | "critical_hits":3, 592 | "hero_damage_done":3650, 593 | "barrier_damage_done":1172, 594 | "critical_hit_accuracy":2, 595 | "weapon_accuracy":25, 596 | "eliminations_most_in_life":6, 597 | "all_damage_done_most_in_life":1545, 598 | "weapon_accuracy_best_in_game":30, 599 | "kill_streak_best":6, 600 | "all_damage_done_most_in_game":2748, 601 | "eliminations_most_in_game":6, 602 | "final_blow_most_in_game":1, 603 | "objective_kills_most_in_game":3, 604 | "objective_time_most_in_game":4000, 605 | "critical_hits_most_in_game":2, 606 | "critical_hit_most_in_life":1, 607 | "hero_damage_done_most_in_game":1886, 608 | "hero_damage_done_most_in_life":1114, 609 | "barrier_damage_done_most_in_game":862, 610 | "barrier_damage_done_avg_per_10_min":2, 611 | "critical_hits_avg_per_10_min":0, 612 | "objective_time_avg_per_10_min":0, 613 | "objective_kills_avg_per_10_min":0, 614 | "final_blows_avg_per_10_min":0, 615 | "eliminations_avg_per_10_min":0, 616 | "deaths_avg_per_10_min":0, 617 | "hero_damage_done_avg_per_10_min":8, 618 | "elimination_per_life":1, 619 | "all_damage_done_avg_per_10_min":10.14, 620 | "medals_bronze":3, 621 | "medals":3, 622 | "time_played":420000, 623 | "games_played":1, 624 | "games_lost":1 625 | }, 626 | "mccree":{ 627 | "eliminations":6, 628 | "deaths":9, 629 | "final_blows":4, 630 | "solo_kill":1, 631 | "all_damage_done":4472, 632 | "objective_kills":2, 633 | "objective_time":21000, 634 | "critical_hits":4, 635 | "hero_damage_done":2941, 636 | "barrier_damage_done":1531, 637 | "critical_hit_accuracy":7, 638 | "weapon_accuracy":34, 639 | "eliminations_most_in_life":2, 640 | "all_damage_done_most_in_life":932, 641 | "weapon_accuracy_best_in_game":37, 642 | "kill_streak_best":2, 643 | "all_damage_done_most_in_game":2094, 644 | "eliminations_most_in_game":4, 645 | "final_blows_most_in_game":3, 646 | "objective_kill_most_in_game":1, 647 | "objective_time_most_in_game":20000, 648 | "solo_kill_most_in_game":1, 649 | "critical_hits_most_in_game":3, 650 | "critical_hits_most_in_life":2, 651 | "hero_damage_done_most_in_game":2025, 652 | "hero_damage_done_most_in_life":863, 653 | "barrier_damage_done_most_in_game":619, 654 | "barrier_damage_done_avg_per_10_min":3, 655 | "critical_hits_avg_per_10_min":0, 656 | "solo_kills_avg_per_10_min":0, 657 | "objective_time_avg_per_10_min":0, 658 | "objective_kills_avg_per_10_min":0, 659 | "final_blows_avg_per_10_min":0, 660 | "eliminations_avg_per_10_min":0, 661 | "deaths_avg_per_10_min":0, 662 | "hero_damage_done_avg_per_10_min":6, 663 | "eliminations_per_life":0.66, 664 | "all_damage_done_avg_per_10_min":8.4, 665 | "medals_bronze":0, 666 | "medals_gold":0, 667 | "medals":0, 668 | "time_played":480000, 669 | "games_played":1, 670 | "games_lost":1 671 | }, 672 | "junkrat":{ 673 | "enemies_trapped_most_in_game":16, 674 | "enemies_trapped":104, 675 | "rip-tire_kills_most_in_game":11, 676 | "rip-tire_kills":110, 677 | "concussion_mine_kills":94, 678 | "concussion_mine_kills_most_in_game":10, 679 | "concussion_mine_kills_avg_per_10_min":0, 680 | "rip-tire_kills_avg_per_10_min":0, 681 | "enemies_trapped_avg_per_10_min":0, 682 | "eliminations":513, 683 | "deaths":288, 684 | "final_blows":304, 685 | "solo_kills":89, 686 | "all_damage_done":441334, 687 | "objective_kills":157, 688 | "objective_time":938000, 689 | "multikills":6, 690 | "environmental_kill":1, 691 | "time_spent_on_fire":808000, 692 | "hero_damage_done":268075, 693 | "barrier_damage_done":167696, 694 | "weapon_accuracy":23, 695 | "teleporter_pad_destroyed":1, 696 | "turrets_destroyed":6, 697 | "offensive_assists":23, 698 | "offensive_assists_most_in_game":3, 699 | "offensive_assists_avg_per_10_min":0, 700 | "eliminations_most_in_life":14, 701 | "all_damage_done_most_in_life":7774, 702 | "weapon_accuracy_best_in_game":33, 703 | "kill_streak_best":14, 704 | "all_damage_done_most_in_game":31970, 705 | "eliminations_most_in_game":32, 706 | "final_blows_most_in_game":22, 707 | "objective_kills_most_in_game":12, 708 | "objective_time_most_in_game":69000, 709 | "multikill_best":3, 710 | "solo_kills_most_in_game":12, 711 | "time_spent_on_fire_most_in_game":170, 712 | "hero_damage_done_most_in_game":20209, 713 | "hero_damage_done_most_in_life":5465, 714 | "barrier_damage_done_most_in_game":15226, 715 | "barrier_damage_done_avg_per_10_min":8, 716 | "time_spent_on_fire_avg_per_10_min":0, 717 | "solo_kills_avg_per_10_min":0, 718 | "objective_time_avg_per_10_min":0, 719 | "objective_kills_avg_per_10_min":0, 720 | "final_blows_avg_per_10_min":0, 721 | "eliminations_avg_per_10_min":0, 722 | "deaths_avg_per_10_min":0, 723 | "hero_damage_done_avg_per_10_min":12, 724 | "eliminations_per_life":1.78, 725 | "all_damage_done_avg_per_10_min":20.38, 726 | "medals_bronze":15, 727 | "medals_silver":16, 728 | "medals_gold":20, 729 | "medals":51, 730 | "cards":5, 731 | "time_played":21600000, 732 | "games_played":32, 733 | "games_won":17, 734 | "games_tied":2, 735 | "games_lost":13, 736 | "win_percentage":56 737 | }, 738 | "soldier:_76":{ 739 | "helix_rockets_kills_most_in_game":3, 740 | "helix_rockets_kills":9, 741 | "tactical_visor_kills":6, 742 | "tactical_visor_kills_most_in_game":4, 743 | "biotic_fields_deployed":26, 744 | "biotic_field_healing_done":1920, 745 | "self_healing":1841, 746 | "self_healing_most_in_game":583, 747 | "tactical_visor_kills_avg_per_10_min":0, 748 | "helix_rockets_kills_avg_per_10_min":0, 749 | "self_healing_avg_per_10_min":1, 750 | "eliminations":29, 751 | "deaths":24, 752 | "final_blows":15, 753 | "solo_kills":4, 754 | "all_damage_done":24408, 755 | "objective_kills":7, 756 | "objective_time":47000, 757 | "time_spent_on_fire":18000, 758 | "critical_hits":66, 759 | "hero_damage_done":15403, 760 | "barrier_damage_done":8985, 761 | "critical_hit_accuracy":9, 762 | "weapon_accuracy":23, 763 | "defensive_assists":3, 764 | "defensive_assist_most_in_game":1, 765 | "healing_done":1920, 766 | "healing_done_most_in_game":592, 767 | "healing_done_avg_per_10_min":1, 768 | "defensive_assists_avg_per_10_min":0, 769 | "eliminations_most_in_life":11, 770 | "all_damage_done_most_in_life":3550, 771 | "weapon_accuracy_best_in_game":40, 772 | "kill_streak_best":11, 773 | "all_damage_done_most_in_game":7792, 774 | "eliminations_most_in_game":11, 775 | "final_blows_most_in_game":7, 776 | "objective_kills_most_in_game":4, 777 | "objective_time_most_in_game":20000, 778 | "solo_kills_most_in_game":2, 779 | "critical_hits_most_in_game":18, 780 | "critical_hits_most_in_life":13, 781 | "time_spent_on_fire_most_in_game":19, 782 | "hero_damage_done_most_in_game":4463, 783 | "hero_damage_done_most_in_life":3445, 784 | "barrier_damage_done_most_in_game":3328, 785 | "barrier_damage_done_avg_per_10_min":6, 786 | "critical_hits_avg_per_10_min":0, 787 | "time_spent_on_fire_avg_per_10_min":0, 788 | "solo_kills_avg_per_10_min":0, 789 | "objective_time_avg_per_10_min":0, 790 | "objective_kills_avg_per_10_min":0, 791 | "final_blows_avg_per_10_min":0, 792 | "eliminations_avg_per_10_min":0, 793 | "deaths_avg_per_10_min":0, 794 | "hero_damage_done_avg_per_10_min":11, 795 | "eliminations_per_life":1.2, 796 | "all_damage_done_avg_per_10_min":16.7, 797 | "medals_bronze":1, 798 | "medals_silver":1, 799 | "medals_gold":0, 800 | "medals":2, 801 | "time_played":1440000, 802 | "games_played":3, 803 | "games_won":1, 804 | "games_lost":2, 805 | "win_percentage":31 806 | }, 807 | "lúcio":{ 808 | "sound_barriers_provided":45, 809 | "sound_barriers_provided_most_in_game":14, 810 | "self_healing":6863, 811 | "self_healing_most_in_game":2373, 812 | "self_healing_avg_per_10_min":4, 813 | "sound_barriers_provided_avg_per_10_min":0, 814 | "eliminations":27, 815 | "deaths":26, 816 | "final_blows":2, 817 | "all_damage_done":16773, 818 | "objective_kills":17, 819 | "objective_time":167000, 820 | "environmental_kill":1, 821 | "time_spent_on_fire":113000, 822 | "critical_hits":41, 823 | "hero_damage_done":11340, 824 | "barrier_damage_done":5415, 825 | "critical_hit_accuracy":7, 826 | "weapon_accuracy":24, 827 | "turrets_destroyed":2, 828 | "offensive_assist":1, 829 | "offensive_assist_most_in_game":1, 830 | "defensive_assists":28, 831 | "defensive_assists_most_in_game":12, 832 | "healing_done":28257, 833 | "healing_done_most_in_game":8485, 834 | "offensive_assists_avg_per_10_min":0, 835 | "healing_done_avg_per_10_min":15, 836 | "defensive_assists_avg_per_10_min":0, 837 | "eliminations_most_in_life":7, 838 | "all_damage_done_most_in_life":2450, 839 | "weapon_accuracy_best_in_game":26, 840 | "kill_streak_best":7, 841 | "all_damage_done_most_in_game":5397, 842 | "eliminations_most_in_game":13, 843 | "final_blows_most_in_game":2, 844 | "objective_kills_most_in_game":8, 845 | "objective_time_most_in_game":86000, 846 | "critical_hits_most_in_game":15, 847 | "critical_hits_most_in_life":5, 848 | "time_spent_on_fire_most_in_game":113, 849 | "hero_damage_done_most_in_game":4427, 850 | "hero_damage_done_most_in_life":1925, 851 | "barrier_damage_done_most_in_game":1600, 852 | "barrier_damage_done_avg_per_10_min":3, 853 | "critical_hits_avg_per_10_min":0, 854 | "time_spent_on_fire_avg_per_10_min":0, 855 | "objective_time_avg_per_10_min":0, 856 | "objective_kills_avg_per_10_min":0, 857 | "final_blows_avg_per_10_min":0, 858 | "eliminations_avg_per_10_min":0, 859 | "deaths_avg_per_10_min":0, 860 | "hero_damage_done_avg_per_10_min":6, 861 | "eliminations_per_life":1.03, 862 | "all_damage_done_avg_per_10_min":8.78, 863 | "medals_bronze":1, 864 | "medals_silver":2, 865 | "medals_gold":1, 866 | "medals":4, 867 | "time_played":1860000, 868 | "games_played":3, 869 | "games_tied":1, 870 | "games_lost":2 871 | }, 872 | "mei":{ 873 | "enemies_frozen":3, 874 | "enemies_frozen_most_in_game":3, 875 | "enemies_frozen_avg_per_10_min":0, 876 | "eliminations":2, 877 | "death":1, 878 | "all_damage_done":461, 879 | "objective_kills":2, 880 | "objective_time":9000, 881 | "hero_damage_done":398, 882 | "barrier_damage_done":63, 883 | "offensive_assist":1, 884 | "offensive_assist_most_in_game":1, 885 | "offensive_assists_avg_per_10_min":0, 886 | "eliminations_most_in_life":2, 887 | "all_damage_done_most_in_life":457, 888 | "kill_streak_best":2, 889 | "all_damage_done_most_in_game":461, 890 | "eliminations_most_in_game":2, 891 | "objective_kills_most_in_game":2, 892 | "objective_time_most_in_game":9000, 893 | "hero_damage_done_most_in_game":398, 894 | "hero_damage_done_most_in_life":398, 895 | "barrier_damage_done_most_in_game":63, 896 | "barrier_damage_done_avg_per_10_min":1, 897 | "objective_time_avg_per_10_min":0, 898 | "objective_kills_avg_per_10_min":0, 899 | "eliminations_avg_per_10_min":0, 900 | "deaths_avg_per_10_min":0, 901 | "hero_damage_done_avg_per_10_min":4, 902 | "eliminations_per_life":2, 903 | "all_damage_done_avg_per_10_min":4.57, 904 | "medals_bronze":0, 905 | "medals_gold":0, 906 | "medals":0, 907 | "time_played":60000, 908 | "games_played":0, 909 | "games_lost":0 910 | }, 911 | "doomfist":{ 912 | "ability_damage_done":313.89, 913 | "ability_damage_done_most_in_game":175, 914 | "shields_created":120, 915 | "shields_created_most_in_game":60, 916 | "shields_created_avg_per_10_min":0, 917 | "ability_damage_done_avg_per_10_min":1, 918 | "elimination":1, 919 | "deaths":6, 920 | "all_damage_done":1683, 921 | "objective_time":0, 922 | "hero_damage_done":697, 923 | "barrier_damage_done":986, 924 | "weapon_accuracy":13, 925 | "elimination_most_in_life":1, 926 | "all_damage_done_most_in_life":520, 927 | "weapon_accuracy_best_in_game":11, 928 | "kill_streak_best":1, 929 | "all_damage_done_most_in_game":1523, 930 | "elimination_most_in_game":1, 931 | "objective_time_most_in_game":0, 932 | "hero_damage_done_most_in_game":537, 933 | "hero_damage_done_most_in_life":226, 934 | "barrier_damage_done_most_in_game":986, 935 | "barrier_damage_done_avg_per_10_min":4, 936 | "objective_time_avg_per_10_min":0, 937 | "eliminations_avg_per_10_min":0, 938 | "deaths_avg_per_10_min":0, 939 | "hero_damage_done_avg_per_10_min":3, 940 | "eliminations_per_life":0.16, 941 | "all_damage_done_avg_per_10_min":6.28, 942 | "medals_gold":0, 943 | "medals":0, 944 | "time_played":240000, 945 | "games_played":1, 946 | "games_lost":1 947 | }, 948 | "ana":{ 949 | "scoped_accuracy_best_in_game":50, 950 | "self_healing":281, 951 | "self_healing_most_in_game":281, 952 | "enemy_slept":1, 953 | "nano_boosts_applied":2, 954 | "unscoped_accuracy_best_in_game":0, 955 | "enemy_slept_most_in_game":1, 956 | "nano_boosts_applied_most_in_game":2, 957 | "self_healing_avg_per_10_min":1, 958 | "nano_boosts_applied_avg_per_10_min":0, 959 | "enemies_slept_avg_per_10_min":0, 960 | "unscoped_accuracy":0, 961 | "scoped_accuracy":50, 962 | "deaths":3, 963 | "all_damage_done":1577, 964 | "objective_time":15000, 965 | "hero_damage_done":1028, 966 | "barrier_damage_done":400, 967 | "weapon_accuracy":27, 968 | "defensive_assists":2, 969 | "defensive_assists_most_in_game":2, 970 | "healing_done":2504, 971 | "healing_done_most_in_game":2504, 972 | "healing_done_avg_per_10_min":9, 973 | "defensive_assists_avg_per_10_min":0, 974 | "all_damage_done_most_in_life":679, 975 | "weapon_accuracy_best_in_game":16, 976 | "all_damage_done_most_in_game":1577, 977 | "objective_time_most_in_game":15000, 978 | "hero_damage_done_most_in_game":1028, 979 | "hero_damage_done_most_in_life":539, 980 | "barrier_damage_done_most_in_game":400, 981 | "barrier_damage_done_avg_per_10_min":1, 982 | "objective_time_avg_per_10_min":0, 983 | "deaths_avg_per_10_min":0, 984 | "hero_damage_done_avg_per_10_min":4, 985 | "all_damage_done_avg_per_10_min":5.54, 986 | "medals_silver":0, 987 | "medals":0, 988 | "time_played":240000, 989 | "games_played":0, 990 | "games_lost":0 991 | }, 992 | "brigitte":{ 993 | "death":1, 994 | "all_damage_done":70, 995 | "hero_damage_done":70, 996 | "defensive_assist":1, 997 | "healing_done":244, 998 | "healing_done_avg_per_10_min":6, 999 | "defensive_assists_avg_per_10_min":0, 1000 | "all_damage_done_most_in_life":70, 1001 | "all_damage_done_most_in_game":70, 1002 | "hero_damage_done_most_in_game":70, 1003 | "hero_damage_done_most_in_life":70, 1004 | "deaths_avg_per_10_min":0, 1005 | "hero_damage_done_avg_per_10_min":2, 1006 | "all_damage_done_avg_per_10_min":1.7, 1007 | "time_played":41.0617693066597, 1008 | "games_played":0, 1009 | "games_lost":0, 1010 | "damage_blocked":25, 1011 | "damage_blocked_most_in_game":25, 1012 | "damage_blocked_avg_per_10_min":1 1013 | } 1014 | } 1015 | }, 1016 | "quickplay":{ 1017 | "global":{ 1018 | "all_damage_done_avg_per_10_min":11, 1019 | "masteringHeroe":"reaper", 1020 | "environmental_kills":8, 1021 | "time_spent_on_fire":12508000, 1022 | "solo_kills":846, 1023 | "multikills":27, 1024 | "barrier_damage_done":9313, 1025 | "deaths":1815, 1026 | "hero_damage_done":25689, 1027 | "objective_time":6997000, 1028 | "objective_kills":1264, 1029 | "final_blows":2148, 1030 | "eliminations":3702, 1031 | "all_damage_done":1532434, 1032 | "defensive_assists":72, 1033 | "healing_done":187013, 1034 | "recon_assists":17, 1035 | "offensive_assists":13, 1036 | "eliminations_most_in_game":36, 1037 | "final_blows_most_in_game":24, 1038 | "all_damage_done_most_in_game":27803, 1039 | "healing_done_most_in_game":13510, 1040 | "defensive_assists_most_in_game":13, 1041 | "offensive_assists_most_in_game":5, 1042 | "objective_kills_most_in_game":20, 1043 | "objective_time_most_in_game":150000, 1044 | "multikill_best":4, 1045 | "solo_kills_most_in_game":24, 1046 | "time_spent_on_fire_most_in_game":455000, 1047 | "turrets_destroyed_most_in_game":2, 1048 | "kill_streak_best":17, 1049 | "hero_damage_done_most_in_game":5329, 1050 | "barrier_damage_done_most_in_game":5226, 1051 | "recon_assists_most_in_game":11, 1052 | "barrier_damage_done_avg_per_10_min":0, 1053 | "deaths_avg_per_10_min":0, 1054 | "hero_damage_done_avg_per_10_min":8, 1055 | "time_spent_on_fire_avg_per_10_min":0, 1056 | "solo_kills_avg_per_10_min":0, 1057 | "objective_time_avg_per_10_min":0, 1058 | "objective_kills_avg_per_10_min":0, 1059 | "healing_done_avg_per_10_min":1, 1060 | "final_blows_avg_per_10_min":0, 1061 | "eliminations_avg_per_10_min":0, 1062 | "cards":94, 1063 | "medals_silver":281, 1064 | "medals_bronze":275, 1065 | "medals":834, 1066 | "medals_gold":278, 1067 | "time_played":136800000, 1068 | "games_won":149, 1069 | "turrets_destroyed":153, 1070 | "damage_done":25689 1071 | }, 1072 | "heroes":{ 1073 | "quickplay":{ 1074 | 1075 | }, 1076 | "reaper":{ 1077 | "death_blossom_kills":125, 1078 | "death_blossom_kills_most_in_game":7, 1079 | "self_healing":25950, 1080 | "self_healing_most_in_game":1005, 1081 | "death_blossom_kills_avg_per_10_min":0, 1082 | "self_healing_avg_per_10_min":1, 1083 | "eliminations":840, 1084 | "deaths":403, 1085 | "final_blows":533, 1086 | "solo_kills":246, 1087 | "all_damage_done":273816, 1088 | "objective_kills":263, 1089 | "objective_time":1517000, 1090 | "multikills":8, 1091 | "time_spent_on_fire":3323000, 1092 | "critical_hits":4061, 1093 | "hero_damage_done":2286, 1094 | "critical_hit_accuracy":10, 1095 | "weapon_accuracy":21, 1096 | "turrets_destroyed":24, 1097 | "eliminations_most_in_life":22, 1098 | "all_damage_done_most_in_life":7885, 1099 | "weapon_accuracy_best_in_game":54, 1100 | "kill_streak_best":22, 1101 | "all_damage_done_most_in_game":11863, 1102 | "eliminations_most_in_game":29, 1103 | "final_blows_most_in_game":19, 1104 | "objective_kills_most_in_game":20, 1105 | "objective_time_most_in_game":85000, 1106 | "multikill_best":4, 1107 | "solo_kills_most_in_game":10, 1108 | "critical_hits_most_in_game":143, 1109 | "critical_hits_most_in_life":74, 1110 | "hero_damage_done_most_in_game":2286, 1111 | "hero_damage_done_most_in_life":1826, 1112 | "critical_hits_avg_per_10_min":0, 1113 | "time_spent_on_fire_avg_per_10_min":0, 1114 | "solo_kills_avg_per_10_min":0, 1115 | "objective_time_avg_per_10_min":0, 1116 | "objective_kills_avg_per_10_min":0, 1117 | "final_blows_avg_per_10_min":0, 1118 | "eliminations_avg_per_10_min":0, 1119 | "deaths_avg_per_10_min":0, 1120 | "hero_damage_done_avg_per_10_min":10, 1121 | "eliminations_per_life":2.08, 1122 | "all_damage_done_avg_per_10_min":9.63, 1123 | "medals_bronze":69, 1124 | "medals_silver":71, 1125 | "medals_gold":54, 1126 | "medals":193, 1127 | "cards":15, 1128 | "time_played":25200000, 1129 | "games_won":25 1130 | }, 1131 | "tracer":{ 1132 | "self_healing":23, 1133 | "self_healing_most_in_game":23, 1134 | "self_healing_avg_per_10_min":0, 1135 | "deaths":2, 1136 | "all_damage_done":200, 1137 | "critical_hits":3, 1138 | "critical_hit_accuracy":7, 1139 | "weapon_accuracy":26, 1140 | "all_damage_done_most_in_life":200, 1141 | "all_damage_done_most_in_game":200, 1142 | "critical_hits_most_in_game":3, 1143 | "critical_hits_most_in_life":3, 1144 | "critical_hits_avg_per_10_min":0, 1145 | "deaths_avg_per_10_min":0, 1146 | "all_damage_done_avg_per_10_min":2.8, 1147 | "medals_bronze":0, 1148 | "medals_silver":0, 1149 | "medals":1, 1150 | "time_played":60000, 1151 | "games_won":0 1152 | }, 1153 | "mercy":{ 1154 | "players_resurrected":4, 1155 | "players_resurrected_most_in_game":2, 1156 | "self_healing":2026, 1157 | "self_healing_most_in_game":1089, 1158 | "self_healing_avg_per_10_min":1, 1159 | "players_resurrected_avg_per_10_min":0, 1160 | "deaths":21, 1161 | "all_damage_done":210, 1162 | "objective_time":65000, 1163 | "time_spent_on_fire":42000, 1164 | "critical_hits":2, 1165 | "critical_hit_accuracy":18, 1166 | "weapon_accuracy":16, 1167 | "offensive_assists":8, 1168 | "offensive_assists_most_in_game":5, 1169 | "defensive_assists":23, 1170 | "defensive_assists_most_in_game":13, 1171 | "healing_done":12118, 1172 | "healing_done_most_in_game":135, 1173 | "offensive_assists_avg_per_10_min":0, 1174 | "healing_done_avg_per_10_min":8, 1175 | "defensive_assists_avg_per_10_min":0, 1176 | "all_damage_done_most_in_life":190, 1177 | "weapon_accuracy_best_in_game":2, 1178 | "all_damage_done_most_in_game":190, 1179 | "objective_time_most_in_game":30000, 1180 | "critical_hits_most_in_game":2, 1181 | "critical_hits_most_in_life":2, 1182 | "critical_hits_avg_per_10_min":0, 1183 | "time_spent_on_fire_avg_per_10_min":0, 1184 | "objective_time_avg_per_10_min":0, 1185 | "deaths_avg_per_10_min":0, 1186 | "all_damage_done_avg_per_10_min":0.13, 1187 | "medals_bronze":0, 1188 | "medals_silver":1, 1189 | "medals_gold":2, 1190 | "medals":4, 1191 | "card":1, 1192 | "time_played":1560000, 1193 | "games_won":0 1194 | }, 1195 | "hanzo":{ 1196 | "dragonstrike_kills":22, 1197 | "dragonstrike_kills_most_in_game":3, 1198 | "scatter_arrow_kills":30, 1199 | "scatter_arrow_kills_most_in_game":4, 1200 | "scatter_arrow_kills_avg_per_10_min":0, 1201 | "dragonstrike_kills_avg_per_10_min":0, 1202 | "eliminations":193, 1203 | "deaths":110, 1204 | "final_blows":121, 1205 | "solo_kills":36, 1206 | "all_damage_done":83223, 1207 | "objective_kills":74, 1208 | "objective_time":311000, 1209 | "multikill":1, 1210 | "time_spent_on_fire":372000, 1211 | "critical_hits":52, 1212 | "critical_hit_accuracy":6, 1213 | "weapon_accuracy":18, 1214 | "recon_assists_most_in_game":6, 1215 | "turrets_destroyed":14, 1216 | "eliminations_most_in_life":12, 1217 | "all_damage_done_most_in_life":3184, 1218 | "weapon_accuracy_best_in_game":46, 1219 | "kill_streak_best":12, 1220 | "all_damage_done_most_in_game":5718, 1221 | "eliminations_most_in_game":18, 1222 | "final_blows_most_in_game":10, 1223 | "objective_kills_most_in_game":15, 1224 | "objective_time_most_in_game":43000, 1225 | "multikill_best":3, 1226 | "solo_kills_most_in_game":6, 1227 | "critical_hits_most_in_game":5, 1228 | "critical_hits_most_in_life":4, 1229 | "critical_hits_avg_per_10_min":0, 1230 | "time_spent_on_fire_avg_per_10_min":0, 1231 | "solo_kills_avg_per_10_min":0, 1232 | "objective_time_avg_per_10_min":0, 1233 | "objective_kills_avg_per_10_min":0, 1234 | "final_blows_avg_per_10_min":0, 1235 | "eliminations_avg_per_10_min":0, 1236 | "deaths_avg_per_10_min":0, 1237 | "eliminations_per_life":1.75, 1238 | "all_damage_done_avg_per_10_min":8.97, 1239 | "medals_bronze":17, 1240 | "medals_silver":17, 1241 | "medals_gold":9, 1242 | "medals":44, 1243 | "card":1, 1244 | "time_played":7200000, 1245 | "games_won":7 1246 | }, 1247 | "torbjörn":{ 1248 | "armor_packs_created":189, 1249 | "torbjörn_kills":124, 1250 | "turret_kills":323, 1251 | "torbjörn_kills_most_in_game":10, 1252 | "armor_packs_created_most_in_game":13, 1253 | "turret_kills_most_in_game":5, 1254 | "molten_core_kills":62, 1255 | "molten_core_kills_most_in_game":8, 1256 | "turret_kills_avg_per_10_min":0, 1257 | "torbjörn_kills_avg_per_10_min":0, 1258 | "molten_core_kills_avg_per_10_min":0, 1259 | "armor_packs_created_avg_per_10_min":0, 1260 | "eliminations":371, 1261 | "deaths":151, 1262 | "final_blows":172, 1263 | "solo_kills":65, 1264 | "all_damage_done":153789, 1265 | "objective_kills":124, 1266 | "objective_time":240000, 1267 | "multikills":3, 1268 | "time_spent_on_fire":725000, 1269 | "critical_hits":129, 1270 | "hero_damage_done":3043, 1271 | "critical_hit_accuracy":6, 1272 | "weapon_accuracy":24, 1273 | "turrets_destroyed":9, 1274 | "eliminations_most_in_life":21, 1275 | "all_damage_done_most_in_life":5338, 1276 | "weapon_accuracy_best_in_game":43, 1277 | "kill_streak_best":21, 1278 | "all_damage_done_most_in_game":14023, 1279 | "eliminations_most_in_game":36, 1280 | "final_blows_most_in_game":18, 1281 | "objective_kills_most_in_game":17, 1282 | "objective_time_most_in_game":51000, 1283 | "multikill_best":3, 1284 | "solo_kills_most_in_game":9, 1285 | "critical_hits_most_in_game":19, 1286 | "critical_hits_most_in_life":9, 1287 | "hero_damage_done_most_in_game":3043, 1288 | "hero_damage_done_most_in_life":2243, 1289 | "critical_hits_avg_per_10_min":0, 1290 | "time_spent_on_fire_avg_per_10_min":0, 1291 | "solo_kills_avg_per_10_min":0, 1292 | "objective_time_avg_per_10_min":0, 1293 | "objective_kills_avg_per_10_min":0, 1294 | "final_blows_avg_per_10_min":0, 1295 | "eliminations_avg_per_10_min":0, 1296 | "deaths_avg_per_10_min":0, 1297 | "hero_damage_done_avg_per_10_min":7, 1298 | "eliminations_per_life":2.45, 1299 | "all_damage_done_avg_per_10_min":11.78, 1300 | "medals_bronze":23, 1301 | "medals_silver":22, 1302 | "medals_gold":34, 1303 | "medals":79, 1304 | "cards":16, 1305 | "time_played":10800000, 1306 | "games_won":15 1307 | }, 1308 | "reinhardt":{ 1309 | "damage_blocked":80851, 1310 | "damage_blocked_most_in_game":12812, 1311 | "charge_kills":13, 1312 | "charge_kills_most_in_game":2, 1313 | "fire_strike_kills":6, 1314 | "fire_strike_kills_most_in_game":3, 1315 | "earthshatter_kills":2, 1316 | "earthshatter_kills_most_in_game":2, 1317 | "rocket_hammer_melee_accuracy":1, 1318 | "fire_strike_kills_avg_per_10_min":0, 1319 | "earthshatter_kills_avg_per_10_min":0, 1320 | "damage_blocked_avg_per_10_min":25, 1321 | "charge_kills_avg_per_10_min":0, 1322 | "eliminations":27, 1323 | "deaths":50, 1324 | "final_blows":19, 1325 | "solo_kills":7, 1326 | "all_damage_done":12427, 1327 | "objective_kills":8, 1328 | "objective_time":262000, 1329 | "time_spent_on_fire":70000, 1330 | "hero_damage_done":3428, 1331 | "barrier_damage_done":475, 1332 | "eliminations_most_in_life":2, 1333 | "all_damage_done_most_in_life":1286, 1334 | "kill_streak_best":2, 1335 | "all_damage_done_most_in_game":3903, 1336 | "eliminations_most_in_game":5, 1337 | "final_blows_most_in_game":4, 1338 | "objective_kills_most_in_game":3, 1339 | "objective_time_most_in_game":74000, 1340 | "solo_kills_most_in_game":2, 1341 | "hero_damage_done_most_in_game":3428, 1342 | "hero_damage_done_most_in_life":1211, 1343 | "barrier_damage_done_most_in_game":475, 1344 | "barrier_damage_done_avg_per_10_min":1, 1345 | "time_spent_on_fire_avg_per_10_min":0, 1346 | "solo_kills_avg_per_10_min":0, 1347 | "objective_time_avg_per_10_min":0, 1348 | "objective_kills_avg_per_10_min":0, 1349 | "final_blows_avg_per_10_min":0, 1350 | "eliminations_avg_per_10_min":0, 1351 | "deaths_avg_per_10_min":0, 1352 | "hero_damage_done_avg_per_10_min":6, 1353 | "eliminations_per_life":0.54, 1354 | "all_damage_done_avg_per_10_min":3.77, 1355 | "medals_bronze":3, 1356 | "medals_silver":2, 1357 | "medals_gold":4, 1358 | "medals":9, 1359 | "cards":3, 1360 | "time_played":3240000, 1361 | "games_won":3 1362 | }, 1363 | "pharah":{ 1364 | "rocket_direct_hits":626, 1365 | "barrage_kills":32, 1366 | "rocket_direct_hits_most_in_game":48, 1367 | "barrage_kills_most_in_game":3, 1368 | "rocket_direct_hits_avg_per_10_min":0, 1369 | "barrage_kills_avg_per_10_min":0, 1370 | "eliminations":206, 1371 | "deaths":107, 1372 | "final_blows":118, 1373 | "solo_kills":44, 1374 | "all_damage_done":113807, 1375 | "objective_kills":67, 1376 | "objective_time":322000, 1377 | "multikill":1, 1378 | "environmental_kill":1, 1379 | "time_spent_on_fire":223000, 1380 | "hero_damage_done":2364, 1381 | "barrier_damage_done":4001, 1382 | "weapon_accuracy":38, 1383 | "turrets_destroyed":24, 1384 | "eliminations_most_in_life":16, 1385 | "all_damage_done_most_in_life":9767, 1386 | "weapon_accuracy_best_in_game":68, 1387 | "kill_streak_best":16, 1388 | "all_damage_done_most_in_game":9767, 1389 | "eliminations_most_in_game":19, 1390 | "final_blows_most_in_game":12, 1391 | "objective_kills_most_in_game":10, 1392 | "objective_time_most_in_game":72000, 1393 | "multikill_best":3, 1394 | "solo_kills_most_in_game":5, 1395 | "hero_damage_done_most_in_game":1422, 1396 | "hero_damage_done_most_in_life":1141, 1397 | "barrier_damage_done_most_in_game":3761, 1398 | "barrier_damage_done_avg_per_10_min":14, 1399 | "time_spent_on_fire_avg_per_10_min":0, 1400 | "solo_kills_avg_per_10_min":0, 1401 | "objective_time_avg_per_10_min":0, 1402 | "objective_kills_avg_per_10_min":0, 1403 | "final_blows_avg_per_10_min":0, 1404 | "eliminations_avg_per_10_min":0, 1405 | "deaths_avg_per_10_min":0, 1406 | "hero_damage_done_avg_per_10_min":8, 1407 | "eliminations_per_life":1.92, 1408 | "all_damage_done_avg_per_10_min":14.08, 1409 | "medals_bronze":18, 1410 | "medals_silver":14, 1411 | "medals_gold":11, 1412 | "medals":42, 1413 | "cards":6, 1414 | "time_played":7200000, 1415 | "games_won":8 1416 | }, 1417 | "winston":{ 1418 | "players_knocked_back":87, 1419 | "damage_blocked":15708, 1420 | "damage_blocked_most_in_game":5686, 1421 | "players_knocked_back_most_in_game":60, 1422 | "melee_kills":7, 1423 | "melee_kills_most_in_game":7, 1424 | "jump_pack_kills":9, 1425 | "jump_pack_kills_most_in_game":7, 1426 | "primal_rage_kills":4, 1427 | "primal_rage_kills_most_in_game":3, 1428 | "primal_rage_melee_accuracy":1, 1429 | "tesla_cannon_accuracy":0, 1430 | "primal_rage_kills__avg_per_10_min":0, 1431 | "players_knocked_back_avg_per_10_min":0, 1432 | "melee_kills_avg_per_10_min":0, 1433 | "jump_pack_kills_avg_per_10_min":0, 1434 | "damage_blocked_avg_per_10_min":14, 1435 | "eliminations":23, 1436 | "deaths":19, 1437 | "final_blows":8, 1438 | "solo_kills":2, 1439 | "all_damage_done":10230, 1440 | "objective_kills":14, 1441 | "objective_time":95000, 1442 | "environmental_kills":2, 1443 | "time_spent_on_fire":44000, 1444 | "hero_damage_done":4297, 1445 | "barrier_damage_done":610, 1446 | "turrets_destroyed":8, 1447 | "eliminations_most_in_life":8, 1448 | "all_damage_done_most_in_life":1559, 1449 | "kill_streak_best":8, 1450 | "all_damage_done_most_in_game":5036, 1451 | "eliminations_most_in_game":17, 1452 | "final_blows_most_in_game":5, 1453 | "objective_kills_most_in_game":12, 1454 | "objective_time_most_in_game":71000, 1455 | "solo_kills_most_in_game":2, 1456 | "time_spent_on_fire_most_in_game":45, 1457 | "hero_damage_done_most_in_game":4297, 1458 | "hero_damage_done_most_in_life":1323, 1459 | "barrier_damage_done_most_in_game":610, 1460 | "barrier_damage_done_avg_per_10_min":1, 1461 | "time_spent_on_fire_avg_per_10_min":0, 1462 | "solo_kills_avg_per_10_min":0, 1463 | "objective_time_avg_per_10_min":0, 1464 | "objective_kills_avg_per_10_min":0, 1465 | "final_blows_avg_per_10_min":0, 1466 | "eliminations_avg_per_10_min":0, 1467 | "deaths_avg_per_10_min":0, 1468 | "hero_damage_done_avg_per_10_min":9, 1469 | "eliminations_per_life":1.21, 1470 | "all_damage_done_avg_per_10_min":8.82, 1471 | "medals_bronze":3, 1472 | "medals_silver":3, 1473 | "medals_gold":2, 1474 | "medals":8, 1475 | "time_played":1140000, 1476 | "games_won":1, 1477 | "jump_kills":7, 1478 | "weapon_kills":14 1479 | }, 1480 | "widowmaker":{ 1481 | "venom_mine_kills":8, 1482 | "scoped_critical_hits":94, 1483 | "scoped_critical_hits_most_in_game":7, 1484 | "venom_mine_kills_most_in_game":3, 1485 | "scoped_accuracy_best_in_game":100, 1486 | "venom_mine_kills_avg_per_10_min":0, 1487 | "scoped_critical_hits_avg_per_10_min":0, 1488 | "scoped_accuracy":52, 1489 | "eliminations":222, 1490 | "deaths":100, 1491 | "final_blows":147, 1492 | "solo_kills":80, 1493 | "all_damage_done":83009, 1494 | "objective_kills":54, 1495 | "objective_time":131000, 1496 | "time_spent_on_fire":453000, 1497 | "critical_hits":204, 1498 | "hero_damage_done":2103, 1499 | "critical_hit_accuracy":13, 1500 | "weapon_accuracy":34, 1501 | "recon_assists":6, 1502 | "recon_assists_most_in_game":11, 1503 | "turrets_destroyed":13, 1504 | "recon_assists_avg_per_10_min":0, 1505 | "eliminations_most_in_life":9, 1506 | "all_damage_done_most_in_life":3145, 1507 | "weapon_accuracy_best_in_game":100, 1508 | "kill_streak_best":9, 1509 | "all_damage_done_most_in_game":6784, 1510 | "eliminations_most_in_game":21, 1511 | "final_blows_most_in_game":16, 1512 | "objective_kills_most_in_game":8, 1513 | "objective_time_most_in_game":36000, 1514 | "solo_kills_most_in_game":11, 1515 | "critical_hits_most_in_game":20, 1516 | "critical_hits_most_in_life":14, 1517 | "hero_damage_done_most_in_game":2103, 1518 | "hero_damage_done_most_in_life":916, 1519 | "critical_hits_avg_per_10_min":0, 1520 | "time_spent_on_fire_avg_per_10_min":0, 1521 | "solo_kills_avg_per_10_min":0, 1522 | "objective_time_avg_per_10_min":0, 1523 | "objective_kills_avg_per_10_min":0, 1524 | "final_blows_avg_per_10_min":0, 1525 | "eliminations_avg_per_10_min":0, 1526 | "deaths_avg_per_10_min":0, 1527 | "hero_damage_done_avg_per_10_min":6, 1528 | "eliminations_per_life":2.22, 1529 | "all_damage_done_avg_per_10_min":8.88, 1530 | "medals_bronze":18, 1531 | "medals_silver":12, 1532 | "medals_gold":10, 1533 | "medals":39, 1534 | "cards":3, 1535 | "time_played":7200000, 1536 | "games_won":11 1537 | }, 1538 | "bastion":{ 1539 | "recon_kills":94, 1540 | "sentry_kills":349, 1541 | "tank_kills":74, 1542 | "sentry_kills_most_in_game":23, 1543 | "recon_kills_most_in_game":7, 1544 | "tank_kills_most_in_game":9, 1545 | "self_healing":19140, 1546 | "self_healing_most_in_game":1199, 1547 | "self_healing_avg_per_10_min":1, 1548 | "tank_kills_avg_per_10_min":0, 1549 | "sentry_kills_avg_per_10_min":0, 1550 | "recon_kills_avg_per_10_min":0, 1551 | "eliminations":517, 1552 | "deaths":214, 1553 | "final_blows":334, 1554 | "solo_kills":130, 1555 | "all_damage_done":253381, 1556 | "objective_kills":185, 1557 | "objective_time":390000, 1558 | "multikills":6, 1559 | "time_spent_on_fire":1489000, 1560 | "critical_hits":1268, 1561 | "critical_hit_accuracy":7, 1562 | "weapon_accuracy":22, 1563 | "turrets_destroyed":7, 1564 | "eliminations_most_in_life":12, 1565 | "all_damage_done_most_in_life":11811, 1566 | "weapon_accuracy_best_in_game":46, 1567 | "kill_streak_best":12, 1568 | "all_damage_done_most_in_game":13132, 1569 | "eliminations_most_in_game":29, 1570 | "final_blows_most_in_game":20, 1571 | "objective_kills_most_in_game":19, 1572 | "objective_time_most_in_game":87000, 1573 | "multikill_best":4, 1574 | "solo_kills_most_in_game":10, 1575 | "critical_hits_most_in_game":106, 1576 | "critical_hits_most_in_life":51, 1577 | "critical_hits_avg_per_10_min":0, 1578 | "time_spent_on_fire_avg_per_10_min":0, 1579 | "solo_kills_avg_per_10_min":0, 1580 | "objective_time_avg_per_10_min":0, 1581 | "objective_kills_avg_per_10_min":0, 1582 | "final_blows_avg_per_10_min":0, 1583 | "eliminations_avg_per_10_min":0, 1584 | "deaths_avg_per_10_min":0, 1585 | "eliminations_per_life":2.41, 1586 | "all_damage_done_avg_per_10_min":15.96, 1587 | "medals_bronze":31, 1588 | "medals_silver":35, 1589 | "medals_gold":46, 1590 | "medals":113, 1591 | "cards":12, 1592 | "time_played":14400000, 1593 | "games_won":18 1594 | }, 1595 | "symmetra":{ 1596 | "sentry_turret_kills":4, 1597 | "sentry_turret_kills_most_in_game":3, 1598 | "teleporter_uptime":1, 1599 | "teleporter_uptime_best_in_game":0, 1600 | "damage_blocked":60, 1601 | "damage_blocked_most_in_game":60, 1602 | "sentry_turret_kills_avg_per_10_min":0, 1603 | "damage_blocked_avg_per_10_min":0, 1604 | "teleporter_uptime_average":0, 1605 | "eliminations":6, 1606 | "deaths":5, 1607 | "final_blows":5, 1608 | "solo_kills":2, 1609 | "all_damage_done":2383, 1610 | "objective_kill":1, 1611 | "objective_time":17000, 1612 | "eliminations_most_in_life":4, 1613 | "all_damage_done_most_in_life":1230, 1614 | "kill_streak_best":4, 1615 | "all_damage_done_most_in_game":1484, 1616 | "eliminations_most_in_game":5, 1617 | "final_blows_most_in_game":5, 1618 | "objective_kill_most_in_game":1, 1619 | "objective_time_most_in_game":14000, 1620 | "solo_kills_most_in_game":2, 1621 | "solo_kills_avg_per_10_min":0, 1622 | "objective_time_avg_per_10_min":0, 1623 | "objective_kills_avg_per_10_min":0, 1624 | "final_blows_avg_per_10_min":0, 1625 | "eliminations_avg_per_10_min":0, 1626 | "deaths_avg_per_10_min":0, 1627 | "eliminations_per_life":1.2, 1628 | "all_damage_done_avg_per_10_min":8.01, 1629 | "medals_bronze":1, 1630 | "medals_silver":1, 1631 | "medals":2, 1632 | "time_played":240000 1633 | }, 1634 | "genji":{ 1635 | "dragonblade_kills":14, 1636 | "dragonblade_kills_most_in_game":3, 1637 | "damage_reflected":2818, 1638 | "damage_reflected_most_in_game":481, 1639 | "dragonblade_kills_avg_per_10_min":0, 1640 | "damage_reflected_avg_per_10_min":1, 1641 | "eliminations":75, 1642 | "deaths":61, 1643 | "final_blows":49, 1644 | "solo_kills":20, 1645 | "all_damage_done":25032, 1646 | "objective_kills":12, 1647 | "objective_time":139000, 1648 | "critical_hits":64, 1649 | "critical_hit_accuracy":9, 1650 | "weapon_accuracy":21, 1651 | "turret_destroyed":1, 1652 | "eliminations_most_in_life":6, 1653 | "all_damage_done_most_in_life":1356, 1654 | "weapon_accuracy_best_in_game":31, 1655 | "kill_streak_best":6, 1656 | "all_damage_done_most_in_game":3930, 1657 | "eliminations_most_in_game":15, 1658 | "final_blows_most_in_game":10, 1659 | "objective_kills_most_in_game":4, 1660 | "objective_time_most_in_game":33000, 1661 | "solo_kills_most_in_game":5, 1662 | "critical_hits_most_in_game":13, 1663 | "critical_hits_most_in_life":6, 1664 | "critical_hits_avg_per_10_min":0, 1665 | "solo_kills_avg_per_10_min":0, 1666 | "objective_time_avg_per_10_min":0, 1667 | "objective_kills_avg_per_10_min":0, 1668 | "final_blows_avg_per_10_min":0, 1669 | "eliminations_avg_per_10_min":0, 1670 | "deaths_avg_per_10_min":0, 1671 | "eliminations_per_life":1.22, 1672 | "all_damage_done_avg_per_10_min":6.53, 1673 | "medals_bronze":8, 1674 | "medals_silver":6, 1675 | "medals_gold":0, 1676 | "medals":15, 1677 | "time_played":3600000, 1678 | "games_won":1 1679 | }, 1680 | "roadhog":{ 1681 | "enemies_hooked_most_in_game":13, 1682 | "enemies_hooked":54, 1683 | "hooks_attempted":117, 1684 | "whole_hog_kills_most_in_game":3, 1685 | "whole_hog_kills":7, 1686 | "hook_accuracy_best_in_game":85, 1687 | "self_healing":14973, 1688 | "self_healing_most_in_game":4458, 1689 | "whole_hog_kills_avg_per_10_min":0, 1690 | "enemies_hooked_avg_per_10_min":0, 1691 | "self_healing_avg_per_10_min":5, 1692 | "hook_accuracy":46, 1693 | "eliminations":68, 1694 | "deaths":33, 1695 | "final_blows":37, 1696 | "solo_kills":11, 1697 | "all_damage_done":28097, 1698 | "objective_kills":33, 1699 | "objective_time":226000, 1700 | "critical_hits":338, 1701 | "critical_hit_accuracy":16, 1702 | "weapon_accuracy":28, 1703 | "eliminations_most_in_life":7, 1704 | "all_damage_done_most_in_life":4335, 1705 | "weapon_accuracy_best_in_game":45, 1706 | "kill_streak_best":7, 1707 | "all_damage_done_most_in_game":11069, 1708 | "eliminations_most_in_game":25, 1709 | "final_blows_most_in_game":11, 1710 | "objective_kills_most_in_game":13, 1711 | "objective_time_most_in_game":95000, 1712 | "solo_kills_most_in_game":2, 1713 | "critical_hits_most_in_game":132, 1714 | "critical_hits_most_in_life":37, 1715 | "critical_hits_avg_per_10_min":0, 1716 | "solo_kills_avg_per_10_min":0, 1717 | "objective_time_avg_per_10_min":0, 1718 | "objective_kills_avg_per_10_min":0, 1719 | "final_blows_avg_per_10_min":0, 1720 | "eliminations_avg_per_10_min":0, 1721 | "deaths_avg_per_10_min":0, 1722 | "eliminations_per_life":2.06, 1723 | "all_damage_done_avg_per_10_min":9.73, 1724 | "medals_bronze":9, 1725 | "medals_silver":5, 1726 | "medals_gold":2, 1727 | "medals":16, 1728 | "card":1, 1729 | "time_played":2880000, 1730 | "games_won":4 1731 | }, 1732 | "mccree":{ 1733 | "deadeye_kills":3, 1734 | "deadeye_kill_most_in_game":1, 1735 | "fan_the_hammer_kills":36, 1736 | "fan_the_hammer_kills_most_in_game":11, 1737 | "fan_the_hammer_kills_avg_per_10_min":0, 1738 | "deadeye_kills_avg_per_10_min":0, 1739 | "eliminations":75, 1740 | "deaths":49, 1741 | "final_blows":46, 1742 | "solo_kills":19, 1743 | "all_damage_done":32962, 1744 | "objective_kills":12, 1745 | "objective_time":140000, 1746 | "time_spent_on_fire":194000, 1747 | "critical_hits":40, 1748 | "hero_damage_done":301, 1749 | "critical_hit_accuracy":7, 1750 | "weapon_accuracy":35, 1751 | "turrets_destroyed":2, 1752 | "eliminations_most_in_life":6, 1753 | "all_damage_done_most_in_life":1518, 1754 | "weapon_accuracy_best_in_game":47, 1755 | "kill_streak_best":6, 1756 | "all_damage_done_most_in_game":6630, 1757 | "eliminations_most_in_game":16, 1758 | "final_blows_most_in_game":9, 1759 | "objective_kills_most_in_game":4, 1760 | "objective_time_most_in_game":51000, 1761 | "solo_kills_most_in_game":5, 1762 | "critical_hits_most_in_game":9, 1763 | "critical_hits_most_in_life":3, 1764 | "hero_damage_done_most_in_game":301, 1765 | "hero_damage_done_most_in_life":301, 1766 | "critical_hits_avg_per_10_min":0, 1767 | "time_spent_on_fire_avg_per_10_min":0, 1768 | "solo_kills_avg_per_10_min":0, 1769 | "objective_time_avg_per_10_min":0, 1770 | "objective_kills_avg_per_10_min":0, 1771 | "final_blows_avg_per_10_min":0, 1772 | "eliminations_avg_per_10_min":0, 1773 | "deaths_avg_per_10_min":0, 1774 | "hero_damage_done_avg_per_10_min":5, 1775 | "eliminations_per_life":1.53, 1776 | "all_damage_done_avg_per_10_min":9.81, 1777 | "medals_bronze":7, 1778 | "medals_silver":3, 1779 | "medals_gold":7, 1780 | "medals":16, 1781 | "card":1, 1782 | "time_played":3300000, 1783 | "games_won":3 1784 | }, 1785 | "junkrat":{ 1786 | "enemies_trapped_most_in_game":11, 1787 | "enemies_trapped":127, 1788 | "rip-tire_kills_most_in_game":6, 1789 | "rip-tire_kills":65, 1790 | "concussion_mine_kill":1, 1791 | "concussion_mine_kill_most_in_game":1, 1792 | "concussion_mine_kills_avg_per_10_min":0, 1793 | "rip-tire_kills_avg_per_10_min":0, 1794 | "enemies_trapped_avg_per_10_min":0, 1795 | "eliminations":363, 1796 | "deaths":164, 1797 | "final_blows":220, 1798 | "solo_kills":83, 1799 | "all_damage_done":203857, 1800 | "objective_kills":136, 1801 | "objective_time":513000, 1802 | "multikills":2, 1803 | "environmental_kill":1, 1804 | "time_spent_on_fire":640000, 1805 | "hero_damage_done":5948, 1806 | "barrier_damage_done":3321, 1807 | "weapon_accuracy":18, 1808 | "turrets_destroyed":5, 1809 | "offensive_assists":4, 1810 | "offensive_assists_most_in_game":3, 1811 | "offensive_assists_avg_per_10_min":0, 1812 | "eliminations_most_in_life":13, 1813 | "all_damage_done_most_in_life":5657, 1814 | "weapon_accuracy_best_in_game":71, 1815 | "kill_streak_best":13, 1816 | "all_damage_done_most_in_game":14088, 1817 | "eliminations_most_in_game":32, 1818 | "final_blows_most_in_game":18, 1819 | "objective_kills_most_in_game":15, 1820 | "objective_time_most_in_game":58000, 1821 | "multikill_best":3, 1822 | "solo_kills_most_in_game":7, 1823 | "hero_damage_done_most_in_game":3500, 1824 | "hero_damage_done_most_in_life":1536, 1825 | "barrier_damage_done_most_in_game":2668, 1826 | "barrier_damage_done_avg_per_10_min":5, 1827 | "time_spent_on_fire_avg_per_10_min":0, 1828 | "solo_kills_avg_per_10_min":0, 1829 | "objective_time_avg_per_10_min":0, 1830 | "objective_kills_avg_per_10_min":0, 1831 | "final_blows_avg_per_10_min":0, 1832 | "eliminations_avg_per_10_min":0, 1833 | "deaths_avg_per_10_min":0, 1834 | "hero_damage_done_avg_per_10_min":9, 1835 | "eliminations_per_life":2.21, 1836 | "all_damage_done_avg_per_10_min":15.61, 1837 | "medals_bronze":20, 1838 | "medals_silver":29, 1839 | "medals_gold":27, 1840 | "medals":76, 1841 | "cards":10, 1842 | "time_played":10800000, 1843 | "games_won":18 1844 | }, 1845 | "zarya":{ 1846 | "damage_blocked":2125, 1847 | "damage_blocked_most_in_game":960, 1848 | "projected_barriers_applied":4, 1849 | "average_energy_best_in_game":0, 1850 | "projected_barriers_applied_most_in_game":3, 1851 | "projected_barriers_applied_avg_per_10_min":0, 1852 | "damage_blocked_avg_per_10_min":3, 1853 | "average_energy":0.08, 1854 | "eliminations":7, 1855 | "deaths":10, 1856 | "final_blows":2, 1857 | "solo_kill":1, 1858 | "all_damage_done":4670, 1859 | "objective_kills":4, 1860 | "objective_time":14000, 1861 | "weapon_accuracy":41, 1862 | "turrets_destroyed":4, 1863 | "eliminations_most_in_life":5, 1864 | "all_damage_done_most_in_life":1003, 1865 | "kill_streak_best":5, 1866 | "all_damage_done_most_in_game":1888, 1867 | "eliminations_most_in_game":5, 1868 | "final_blows_most_in_game":2, 1869 | "objective_kills_most_in_game":4, 1870 | "objective_time_most_in_game":12000, 1871 | "solo_kill_most_in_game":1, 1872 | "solo_kills_avg_per_10_min":0, 1873 | "objective_time_avg_per_10_min":0, 1874 | "objective_kills_avg_per_10_min":0, 1875 | "final_blows_avg_per_10_min":0, 1876 | "eliminations_avg_per_10_min":0, 1877 | "deaths_avg_per_10_min":0, 1878 | "eliminations_per_life":0.7, 1879 | "all_damage_done_avg_per_10_min":7.54, 1880 | "medals_bronze":1, 1881 | "medals_silver":1, 1882 | "medals":2, 1883 | "time_played":600000, 1884 | "games_won":0 1885 | }, 1886 | "soldier:_76":{ 1887 | "helix_rockets_kills_most_in_game":10, 1888 | "helix_rockets_kills":160, 1889 | "tactical_visor_kills":100, 1890 | "tactical_visor_kills_most_in_game":8, 1891 | "biotic_fields_deployed":324, 1892 | "biotic_field_healing_done":31466, 1893 | "self_healing":23106, 1894 | "self_healing_most_in_game":1839, 1895 | "tactical_visor_kills_avg_per_10_min":0, 1896 | "helix_rockets_kills_avg_per_10_min":0, 1897 | "self_healing_avg_per_10_min":2, 1898 | "eliminations":514, 1899 | "deaths":203, 1900 | "final_blows":277, 1901 | "solo_kills":85, 1902 | "all_damage_done":197326, 1903 | "objective_kills":188, 1904 | "objective_time":1357000, 1905 | "multikills":5, 1906 | "time_spent_on_fire":3024000, 1907 | "critical_hits":707, 1908 | "hero_damage_done":631, 1909 | "barrier_damage_done":905, 1910 | "critical_hit_accuracy":7, 1911 | "weapon_accuracy":31, 1912 | "turrets_destroyed":36, 1913 | "healing_done":31466, 1914 | "healing_done_most_in_game":1347, 1915 | "healing_done_avg_per_10_min":2, 1916 | "eliminations_most_in_life":11, 1917 | "all_damage_done_most_in_life":5793, 1918 | "weapon_accuracy_best_in_game":47, 1919 | "kill_streak_best":11, 1920 | "all_damage_done_most_in_game":9895, 1921 | "eliminations_most_in_game":32, 1922 | "final_blows_most_in_game":19, 1923 | "objective_kills_most_in_game":20, 1924 | "objective_time_most_in_game":150000, 1925 | "multikill_best":4, 1926 | "solo_kills_most_in_game":8, 1927 | "critical_hits_most_in_game":44, 1928 | "critical_hits_most_in_life":18, 1929 | "hero_damage_done_most_in_game":631, 1930 | "hero_damage_done_most_in_life":603, 1931 | "barrier_damage_done_most_in_game":905, 1932 | "barrier_damage_done_avg_per_10_min":9, 1933 | "critical_hits_avg_per_10_min":0, 1934 | "time_spent_on_fire_avg_per_10_min":0, 1935 | "solo_kills_avg_per_10_min":0, 1936 | "objective_time_avg_per_10_min":0, 1937 | "objective_kills_avg_per_10_min":0, 1938 | "final_blows_avg_per_10_min":0, 1939 | "eliminations_avg_per_10_min":0, 1940 | "deaths_avg_per_10_min":0, 1941 | "hero_damage_done_avg_per_10_min":6, 1942 | "eliminations_per_life":2.53, 1943 | "all_damage_done_avg_per_10_min":13.92, 1944 | "medals_bronze":29, 1945 | "medals_silver":42, 1946 | "medals_gold":46, 1947 | "medals":118, 1948 | "cards":13, 1949 | "time_played":10800000, 1950 | "games_won":23 1951 | }, 1952 | "lúcio":{ 1953 | "sound_barriers_provided":109, 1954 | "sound_barriers_provided_most_in_game":23, 1955 | "self_healing":20728, 1956 | "self_healing_most_in_game":2731, 1957 | "self_healing_avg_per_10_min":3, 1958 | "sound_barriers_provided_avg_per_10_min":0, 1959 | "eliminations":108, 1960 | "deaths":68, 1961 | "final_blows":28, 1962 | "solo_kills":5, 1963 | "all_damage_done":28839, 1964 | "objective_kills":62, 1965 | "objective_time":996000, 1966 | "environmental_kills":4, 1967 | "time_spent_on_fire":1887000, 1968 | "critical_hits":122, 1969 | "critical_hit_accuracy":7, 1970 | "weapon_accuracy":21, 1971 | "turrets_destroyed":4, 1972 | "offensive_assist":1, 1973 | "offensive_assist_most_in_game":1, 1974 | "defensive_assists":48, 1975 | "defensive_assists_most_in_game":12, 1976 | "healing_done":80839, 1977 | "offensive_assists_avg_per_10_min":0, 1978 | "healing_done_avg_per_10_min":13, 1979 | "defensive_assists_avg_per_10_min":0, 1980 | "eliminations_most_in_life":9, 1981 | "all_damage_done_most_in_life":2095, 1982 | "weapon_accuracy_best_in_game":38, 1983 | "kill_streak_best":9, 1984 | "all_damage_done_most_in_game":4459, 1985 | "eliminations_most_in_game":19, 1986 | "final_blows_most_in_game":6, 1987 | "objective_kills_most_in_game":12, 1988 | "objective_time_most_in_game":148000, 1989 | "solo_kills_most_in_game":2, 1990 | "critical_hits_most_in_game":27, 1991 | "critical_hits_most_in_life":10, 1992 | "critical_hits_avg_per_10_min":0, 1993 | "time_spent_on_fire_avg_per_10_min":0, 1994 | "solo_kills_avg_per_10_min":0, 1995 | "objective_time_avg_per_10_min":0, 1996 | "objective_kills_avg_per_10_min":0, 1997 | "final_blows_avg_per_10_min":0, 1998 | "eliminations_avg_per_10_min":0, 1999 | "deaths_avg_per_10_min":0, 2000 | "eliminations_per_life":1.58, 2001 | "all_damage_done_avg_per_10_min":4.77, 2002 | "medals_bronze":10, 2003 | "medals_silver":8, 2004 | "medals_gold":20, 2005 | "medals":38, 2006 | "cards":9, 2007 | "time_played":3600000, 2008 | "games_won":7 2009 | }, 2010 | "d.va":{ 2011 | "self-destruct_kills":5, 2012 | "self-destruct_kills_most_in_game":2, 2013 | "mechs_called":14, 2014 | "mechs_called_most_in_game":6, 2015 | "damage_blocked_most_in_game":2911, 2016 | "damage_blocked":3965, 2017 | "mech_deaths":22, 2018 | "self-destruct_kills_avg_per_10_min":0, 2019 | "mechs_called_avg_per_10_min":0, 2020 | "damage_blocked_avg_per_10_min":2, 2021 | "eliminations":43, 2022 | "deaths":14, 2023 | "final_blows":12, 2024 | "solo_kills":6, 2025 | "all_damage_done":14650, 2026 | "objective_kills":8, 2027 | "objective_time":127000, 2028 | "time_spent_on_fire":15000, 2029 | "critical_hits":544, 2030 | "critical_hit_accuracy":11, 2031 | "weapon_accuracy":22, 2032 | "eliminations_most_in_life":13, 2033 | "all_damage_done_most_in_life":4301, 2034 | "weapon_accuracy_best_in_game":18, 2035 | "kill_streak_best":13, 2036 | "all_damage_done_most_in_game":4861, 2037 | "eliminations_most_in_game":13, 2038 | "final_blows_most_in_game":4, 2039 | "objective_kills_most_in_game":6, 2040 | "objective_time_most_in_game":50000, 2041 | "solo_kills_most_in_game":2, 2042 | "critical_hits_most_in_game":241, 2043 | "critical_hits_most_in_life":241, 2044 | "critical_hits_avg_per_10_min":0, 2045 | "time_spent_on_fire_avg_per_10_min":0, 2046 | "solo_kills_avg_per_10_min":0, 2047 | "objective_time_avg_per_10_min":0, 2048 | "objective_kills_avg_per_10_min":0, 2049 | "final_blows_avg_per_10_min":0, 2050 | "eliminations_avg_per_10_min":0, 2051 | "deaths_avg_per_10_min":0, 2052 | "eliminations_per_life":3.07, 2053 | "all_damage_done_avg_per_10_min":8.82, 2054 | "medals_bronze":3, 2055 | "medals_silver":6, 2056 | "medals_gold":2, 2057 | "medals":12, 2058 | "cards":2, 2059 | "time_played":1620000, 2060 | "games_won":2 2061 | }, 2062 | "mei":{ 2063 | "enemies_frozen":30, 2064 | "enemies_frozen_most_in_game":12, 2065 | "blizzard_kills_most_in_game":3, 2066 | "blizzard_kills":5, 2067 | "damage_blocked_most_in_game":926, 2068 | "damage_blocked":3403, 2069 | "self_healing":1955, 2070 | "self_healing_most_in_game":986, 2071 | "self_healing_avg_per_10_min":1, 2072 | "enemies_frozen_avg_per_10_min":0, 2073 | "damage_blocked_avg_per_10_min":2, 2074 | "blizzard_kills_avg_per_10_min":0, 2075 | "eliminations":32, 2076 | "deaths":21, 2077 | "final_blows":13, 2078 | "solo_kills":4, 2079 | "all_damage_done":7576, 2080 | "objective_kills":11, 2081 | "objective_time":92000, 2082 | "multikill":1, 2083 | "critical_hits":7, 2084 | "critical_hit_accuracy":17, 2085 | "weapon_accuracy":31, 2086 | "turrets_destroyed":2, 2087 | "eliminations_most_in_life":5, 2088 | "all_damage_done_most_in_life":898, 2089 | "weapon_accuracy_best_in_game":45, 2090 | "kill_streak_best":5, 2091 | "all_damage_done_most_in_game":2860, 2092 | "eliminations_most_in_game":14, 2093 | "final_blows_most_in_game":6, 2094 | "objective_kills_most_in_game":6, 2095 | "objective_time_most_in_game":27000, 2096 | "multikill_best":3, 2097 | "solo_kills_most_in_game":3, 2098 | "critical_hits_most_in_game":4, 2099 | "critical_hits_most_in_life":3, 2100 | "critical_hits_avg_per_10_min":0, 2101 | "solo_kills_avg_per_10_min":0, 2102 | "objective_time_avg_per_10_min":0, 2103 | "objective_kills_avg_per_10_min":0, 2104 | "final_blows_avg_per_10_min":0, 2105 | "eliminations_avg_per_10_min":0, 2106 | "deaths_avg_per_10_min":0, 2107 | "eliminations_per_life":1.52, 2108 | "all_damage_done_avg_per_10_min":4.39, 2109 | "medals_bronze":3, 2110 | "medals_silver":2, 2111 | "medals_gold":2, 2112 | "medals":7, 2113 | "time_played":1680000, 2114 | "games_won":2 2115 | }, 2116 | "doomfist":{ 2117 | "ability_damage_done":1005.7, 2118 | "ability_damage_done_most_in_game":1005.7, 2119 | "shields_created":345, 2120 | "shields_created_most_in_game":345, 2121 | "shields_created_avg_per_10_min":2, 2122 | "ability_damage_done_avg_per_10_min":6, 2123 | "eliminations":3, 2124 | "deaths":2, 2125 | "final_blows":2, 2126 | "all_damage_done":1348, 2127 | "objective_kills":2, 2128 | "objective_time":13000, 2129 | "hero_damage_done":1288, 2130 | "weapon_accuracy":17, 2131 | "eliminations_most_in_life":2, 2132 | "all_damage_done_most_in_life":1017, 2133 | "weapon_accuracy_best_in_game":17, 2134 | "kill_streak_best":2, 2135 | "all_damage_done_most_in_game":1348, 2136 | "eliminations_most_in_game":3, 2137 | "final_blows_most_in_game":2, 2138 | "objective_kills_most_in_game":2, 2139 | "objective_time_most_in_game":13000, 2140 | "hero_damage_done_most_in_game":1288, 2141 | "hero_damage_done_most_in_life":957, 2142 | "objective_time_avg_per_10_min":0, 2143 | "objective_kills_avg_per_10_min":0, 2144 | "final_blows_avg_per_10_min":0, 2145 | "eliminations_avg_per_10_min":0, 2146 | "deaths_avg_per_10_min":0, 2147 | "hero_damage_done_avg_per_10_min":8, 2148 | "eliminations_per_life":1.5, 2149 | "all_damage_done_avg_per_10_min":8.15, 2150 | "time_played":120000, 2151 | "games_won":0 2152 | }, 2153 | "ana":{ 2154 | "unscoped_accuracy":1, 2155 | "scoped_accuracy":55, 2156 | "death":1, 2157 | "all_damage_done":320, 2158 | "weapon_accuracy":16, 2159 | "defensive_assist":1, 2160 | "defensive_assist_most_in_game":1, 2161 | "defensive_assists_avg_per_10_min":0, 2162 | "all_damage_done_most_in_life":320, 2163 | "all_damage_done_most_in_game":320, 2164 | "deaths_avg_per_10_min":0, 2165 | "all_damage_done_avg_per_10_min":4.33, 2166 | "medals_bronze":0, 2167 | "medals_silver":0, 2168 | "medals":0, 2169 | "time_played":60000 2170 | }, 2171 | "orisa":{ 2172 | "damage_blocked":3260, 2173 | "damage_blocked_most_in_game":2646, 2174 | "damage_blocked_avg_per_10_min":7, 2175 | "eliminations":9, 2176 | "deaths":7, 2177 | "final_blows":5, 2178 | "all_damage_done":1281, 2179 | "objective_kills":6, 2180 | "objective_time":21000, 2181 | "weapon_accuracy":11, 2182 | "eliminations_most_in_life":4, 2183 | "all_damage_done_most_in_life":300, 2184 | "weapon_accuracy_best_in_game":20, 2185 | "kill_streak_best":4, 2186 | "all_damage_done_most_in_game":1161, 2187 | "eliminations_most_in_game":9, 2188 | "final_blows_most_in_game":5, 2189 | "objective_kills_most_in_game":6, 2190 | "objective_time_most_in_game":21000, 2191 | "objective_time_avg_per_10_min":0, 2192 | "objective_kills_avg_per_10_min":0, 2193 | "final_blows_avg_per_10_min":0, 2194 | "eliminations_avg_per_10_min":0, 2195 | "deaths_avg_per_10_min":0, 2196 | "eliminations_per_life":1.28, 2197 | "all_damage_done_avg_per_10_min":2.86, 2198 | "medals_bronze":1, 2199 | "medals_gold":1, 2200 | "medals":2, 2201 | "card":1, 2202 | "time_played":420000 2203 | } 2204 | } 2205 | }, 2206 | "achievements":[ 2207 | { 2208 | "acquired":true, 2209 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000156.png", 2210 | "title":"Centenary", 2211 | "description":"Win 100 games in Quick or Competitive Play.", 2212 | "category":"general" 2213 | }, 2214 | { 2215 | "acquired":true, 2216 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000157.png", 2217 | "title":"Level 10", 2218 | "description":"Reach level 10.", 2219 | "category":"general" 2220 | }, 2221 | { 2222 | "acquired":true, 2223 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000158.png", 2224 | "title":"Level 25", 2225 | "description":"Reach level 25.", 2226 | "category":"general" 2227 | }, 2228 | { 2229 | "acquired":true, 2230 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000159.png", 2231 | "title":"Level 50", 2232 | "description":"Reach level 50.", 2233 | "category":"general" 2234 | }, 2235 | { 2236 | "acquired":true, 2237 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000015D.png", 2238 | "title":"Undying", 2239 | "description":"Get a 20 player kill streak in Quick or Competitive Play.", 2240 | "category":"general" 2241 | }, 2242 | { 2243 | "acquired":true, 2244 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000015F.png", 2245 | "title":"Survival Expert", 2246 | "description":"Use health packs to heal 900 health in a single life in Quick or Competitive Play.", 2247 | "category":"general" 2248 | }, 2249 | { 2250 | "acquired":true, 2251 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000160.png", 2252 | "title":"Decorated", 2253 | "description":"Earn 50 postgame medals in Quick or Competitive Play.", 2254 | "category":"general" 2255 | }, 2256 | { 2257 | "acquired":true, 2258 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000161.png", 2259 | "title":"Blackjack", 2260 | "description":"Earn 21 postgame cards in Quick or Competitive Play.", 2261 | "category":"general" 2262 | }, 2263 | { 2264 | "acquired":true, 2265 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000192.png", 2266 | "title":"The Friend Zone", 2267 | "description":"Play a Quick or Competitive Play game in a group with a friend.", 2268 | "category":"general" 2269 | }, 2270 | { 2271 | "acquired":false, 2272 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000015E.png", 2273 | "title":"The Path Is Closed", 2274 | "description":"Destroy 3 of Symmetra's Teleporters in a single Quick or Competitive Play game.", 2275 | "category":"general" 2276 | }, 2277 | { 2278 | "acquired":false, 2279 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000162.png", 2280 | "title":"Decked Out", 2281 | "description":"Collect 50 unlocks for a single hero.", 2282 | "category":"general" 2283 | }, 2284 | { 2285 | "acquired":true, 2286 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000002.png", 2287 | "title":"Die Die Die... Die", 2288 | "description":"Kill 4 enemies with a single use of Reaper's Death Blossom in Quick or Competitive Play.", 2289 | "category":"offense" 2290 | }, 2291 | { 2292 | "acquired":true, 2293 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000165.png", 2294 | "title":"Whoa There!", 2295 | "description":"Interrupt an enemy ultimate ability with McCree's Flashbang in Quick or Competitive Play.", 2296 | "category":"offense" 2297 | }, 2298 | { 2299 | "acquired":true, 2300 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000168.png", 2301 | "title":"Clearing the Area", 2302 | "description":"Knock an enemy to their death using Pharah's Concussive Blast in Quick or Competitive Play.", 2303 | "category":"offense" 2304 | }, 2305 | { 2306 | "acquired":true, 2307 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000169.png", 2308 | "title":"Rocket Man", 2309 | "description":"Get 2 killing blows with a single use of Soldier: 76's Helix Rockets in Quick or Competitive Play.", 2310 | "category":"offense" 2311 | }, 2312 | { 2313 | "acquired":true, 2314 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000016A.png", 2315 | "title":"Target Rich Environment", 2316 | "description":"Kill 4 enemies with a single use of Soldier: 76's Tactical Visor in Quick or Competitive Play.", 2317 | "category":"offense" 2318 | }, 2319 | { 2320 | "acquired":false, 2321 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000015B.png", 2322 | "title":"Slice and Dice", 2323 | "description":"Kill 4 enemies with a single use of Genji's Dragonblade in Quick or Competitive Play.", 2324 | "category":"offense" 2325 | }, 2326 | { 2327 | "acquired":false, 2328 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000163.png", 2329 | "title":"Their Own Worst Enemy", 2330 | "description":"Kill 2 enemies with a single use of Genji's Deflection in Quick or Competitive Play.", 2331 | "category":"offense" 2332 | }, 2333 | { 2334 | "acquired":false, 2335 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000164.png", 2336 | "title":"Waste Not, Want Not", 2337 | "description":"Get 3 solo kills with a single clip of Reaper's shotguns in Quick or Competitive Play.", 2338 | "category":"offense" 2339 | }, 2340 | { 2341 | "acquired":false, 2342 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000166.png", 2343 | "title":"It's High Noon", 2344 | "description":"Get 4 killing blows with a single use of McCree's Deadeye in Quick or Competitive Play.", 2345 | "category":"offense" 2346 | }, 2347 | { 2348 | "acquired":false, 2349 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000167.png", 2350 | "title":"Death From Above", 2351 | "description":"Kill 4 enemies in a row without touching the ground as Pharah in Quick or Competitive Play.", 2352 | "category":"offense" 2353 | }, 2354 | { 2355 | "acquired":false, 2356 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000016B.png", 2357 | "title":"Total Recall", 2358 | "description":"Recover 400 health using Tracer's Recall without dying in Quick or Competitive Play.", 2359 | "category":"offense" 2360 | }, 2361 | { 2362 | "acquired":false, 2363 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000016C.png", 2364 | "title":"Special Delivery", 2365 | "description":"Stick 4 of Tracer's Pulse Bombs onto enemies in a single Quick or Competitive Play game.", 2366 | "category":"offense" 2367 | }, 2368 | { 2369 | "acquired":false, 2370 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001A9.png", 2371 | "title":"Hack the Planet", 2372 | "description":"Hack 15 enemies without dying as Sombra in Quick or Competitive Play.", 2373 | "category":"offense" 2374 | }, 2375 | { 2376 | "acquired":false, 2377 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001AA.png", 2378 | "title":"Power Outage", 2379 | "description":"Hack 6 enemies at once as Sombra in Quick or Competitive Play.", 2380 | "category":"offense" 2381 | }, 2382 | { 2383 | "acquired":false, 2384 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001BB.png", 2385 | "title":"Air Strike", 2386 | "description":"Get a killing blow with Doomfist's full-power Seismic Slam in Quick or Competitive Play.", 2387 | "category":"offense" 2388 | }, 2389 | { 2390 | "acquired":false, 2391 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001BC.png", 2392 | "title":"Cratered", 2393 | "description":"Hit 6 enemies with a single use of Doomfist's Meteor Strike in Quick or Competitive Play.", 2394 | "category":"offense" 2395 | }, 2396 | { 2397 | "acquired":true, 2398 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000016D.png", 2399 | "title":"Triple Threat", 2400 | "description":"Kill 2 enemies in each of Bastion's configurations without dying in Quick or Competitive Play.", 2401 | "category":"defense" 2402 | }, 2403 | { 2404 | "acquired":true, 2405 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000016E.png", 2406 | "title":"Charge!", 2407 | "description":"Kill 4 enemies with a single use of Bastion's Configuration: Tank in Quick or Competitive Play.", 2408 | "category":"defense" 2409 | }, 2410 | { 2411 | "acquired":true, 2412 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000016F.png", 2413 | "title":"Simple Geometry", 2414 | "description":"Get 3 killing blows with a single use of Hanzo's Storm Arrows in Quick or Competitive Play.", 2415 | "category":"defense" 2416 | }, 2417 | { 2418 | "acquired":true, 2419 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000171.png", 2420 | "title":"Mine Like a Steel Trap", 2421 | "description":"Knock an enemy into your Steel Trap using Junkrat's Concussion Mine in Quick or Competitive Play.", 2422 | "category":"defense" 2423 | }, 2424 | { 2425 | "acquired":true, 2426 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000172.png", 2427 | "title":"Roadkill", 2428 | "description":"Kill 4 enemies with a single use of Junkrat's RIP-Tire in Quick or Competitive Play.", 2429 | "category":"defense" 2430 | }, 2431 | { 2432 | "acquired":true, 2433 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000175.png", 2434 | "title":"Raid Wipe", 2435 | "description":"Kill 4 enemies during a single use of Torbjörn's Molten Core in Quick or Competitive Play.", 2436 | "category":"defense" 2437 | }, 2438 | { 2439 | "acquired":true, 2440 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000179.png", 2441 | "title":"Smooth as Silk", 2442 | "description":"Kill an enemy with a scoped headshot while airborne as Widowmaker in Quick or Competitive Play.", 2443 | "category":"defense" 2444 | }, 2445 | { 2446 | "acquired":false, 2447 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000170.png", 2448 | "title":"The Dragon Is Sated", 2449 | "description":"Kill 4 enemies with one of Hanzo's Spirit Dragons in Quick or Competitive Play.", 2450 | "category":"defense" 2451 | }, 2452 | { 2453 | "acquired":false, 2454 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000173.png", 2455 | "title":"Ice Blocked", 2456 | "description":"Block 1200 damage with a single use of Mei's Ice Wall in Quick or Competitive Play.", 2457 | "category":"defense" 2458 | }, 2459 | { 2460 | "acquired":false, 2461 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000174.png", 2462 | "title":"Cold Snap", 2463 | "description":"Freeze 4 enemies at once with Mei in Quick or Competitive Play.", 2464 | "category":"defense" 2465 | }, 2466 | { 2467 | "acquired":false, 2468 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000177.png", 2469 | "title":"Armor Up!", 2470 | "description":"Have one of Torbjörn's Armor Packs on 5 allies at the same time in Quick or Competitive Play.", 2471 | "category":"defense" 2472 | }, 2473 | { 2474 | "acquired":false, 2475 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000178.png", 2476 | "title":"Did That Sting?", 2477 | "description":"Kill 4 enemies using Widowmaker's Venom Mine during a single Quick or Competitive Play game.", 2478 | "category":"defense" 2479 | }, 2480 | { 2481 | "acquired":true, 2482 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000017C.png", 2483 | "title":"I Am Your Shield", 2484 | "description":"Block 8000 damage with Reinhardt's Barrier Field without dying in Quick or Competitive Play.", 2485 | "category":"tank" 2486 | }, 2487 | { 2488 | "acquired":true, 2489 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000017E.png", 2490 | "title":"Giving You the Hook", 2491 | "description":"Interrupt an enemy ultimate ability with Roadhog's Hook in Quick or Competitive Play.", 2492 | "category":"tank" 2493 | }, 2494 | { 2495 | "acquired":true, 2496 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000181.png", 2497 | "title":"Anger Management", 2498 | "description":"Damage 6 enemies during a single use of Winston's Primal Rage in Quick or Competitive Play.", 2499 | "category":"tank" 2500 | }, 2501 | { 2502 | "acquired":false, 2503 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000017A.png", 2504 | "title":"Shot Down", 2505 | "description":"Prevent 1500 damage with a single use of D.va's Defense Matrix in Quick or Competitive Play.", 2506 | "category":"tank" 2507 | }, 2508 | { 2509 | "acquired":false, 2510 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000017B.png", 2511 | "title":"Game Over", 2512 | "description":"Kill 4 enemies with a single use of D.va's Self Destruct in Quick or Competitive Play.", 2513 | "category":"tank" 2514 | }, 2515 | { 2516 | "acquired":false, 2517 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000017D.png", 2518 | "title":"Storm, Earth and Fire", 2519 | "description":"Land Reinhardt's Fire Strike and Charge after an Earthshatter stun in Quick or Competitive Play.", 2520 | "category":"tank" 2521 | }, 2522 | { 2523 | "acquired":false, 2524 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000017F.png", 2525 | "title":"Hog Wild", 2526 | "description":"Knock 2 enemies to their deaths with one use of Roadhog's Whole Hog in Quick or Competitive Play.", 2527 | "category":"tank" 2528 | }, 2529 | { 2530 | "acquired":false, 2531 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000180.png", 2532 | "title":"Mine Sweeper", 2533 | "description":"Destroy 10 turrets or traps using Winston's Tesla Cannon without dying in Quick or Competitive Play.", 2534 | "category":"tank" 2535 | }, 2536 | { 2537 | "acquired":false, 2538 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000182.png", 2539 | "title":"Power Overwhelming", 2540 | "description":"Keep Zarya's particle cannon above 70 power for 60 seconds in Quick or Competitive Play.", 2541 | "category":"tank" 2542 | }, 2543 | { 2544 | "acquired":false, 2545 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000183.png", 2546 | "title":"The Power of Attraction", 2547 | "description":"Capture 5 enemies in a single use of Zarya's Graviton Surge in Quick or Competitive Play.", 2548 | "category":"tank" 2549 | }, 2550 | { 2551 | "acquired":false, 2552 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B1.png", 2553 | "title":"Halt State", 2554 | "description":"Pull enemies into 1000 damage with a single use of Orisa's Halt! in Quick or Competitive Play.", 2555 | "category":"tank" 2556 | }, 2557 | { 2558 | "acquired":false, 2559 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B2.png", 2560 | "title":"Overclocked", 2561 | "description":"Amplify 900 damage with a single use of Orisa's Supercharger in Quick or Competitive Play.", 2562 | "category":"tank" 2563 | }, 2564 | { 2565 | "acquired":true, 2566 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000186.png", 2567 | "title":"Group Health Plan", 2568 | "description":"Restore 200 health for 5 players without dying as Mercy in Quick or Competitive Play.", 2569 | "category":"support" 2570 | }, 2571 | { 2572 | "acquired":true, 2573 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000188.png", 2574 | "title":"The Car Wash", 2575 | "description":"Hit an enemy with 6 beams simultaneously as Symmetra in Quick or Competitive Play.", 2576 | "category":"support" 2577 | }, 2578 | { 2579 | "acquired":false, 2580 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000184.png", 2581 | "title":"The Floor Is Lava", 2582 | "description":"Get 3 killing blows while wall riding as Lúcio without dying in Quick or Competitive Play.", 2583 | "category":"support" 2584 | }, 2585 | { 2586 | "acquired":false, 2587 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000185.png", 2588 | "title":"Supersonic", 2589 | "description":"Block 1000 damage with a single use of Lúcio's Sound Barrier in Quick or Competitive Play.", 2590 | "category":"support" 2591 | }, 2592 | { 2593 | "acquired":false, 2594 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000187.png", 2595 | "title":"Huge Rez", 2596 | "description":"Resurrect 6 players without dying as Mercy in Quick or Competitive Play.", 2597 | "category":"support" 2598 | }, 2599 | { 2600 | "acquired":false, 2601 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000189.png", 2602 | "title":"Huge Success", 2603 | "description":"Teleport 20 players in a single Quick or Competitive Play game as Symmetra.", 2604 | "category":"support" 2605 | }, 2606 | { 2607 | "acquired":false, 2608 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000018A.png", 2609 | "title":"Rapid Discord", 2610 | "description":"Get 4 kills or assists with Zenyatta's Orb of Discord within 6 seconds in Quick or Competitive Play.", 2611 | "category":"support" 2612 | }, 2613 | { 2614 | "acquired":false, 2615 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000018B.png", 2616 | "title":"The Iris Embraces You", 2617 | "description":"Restore 1500 health with a single use of Zenyatta's Transcendence in Quick or Competitive Play.", 2618 | "category":"support" 2619 | }, 2620 | { 2621 | "acquired":false, 2622 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000195.png", 2623 | "title":"Naptime", 2624 | "description":"Interrupt an enemy ultimate ability with Ana's Sleep Dart in Quick or Competitive Play.", 2625 | "category":"support" 2626 | }, 2627 | { 2628 | "acquired":false, 2629 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000196.png", 2630 | "title":"Enabler", 2631 | "description":"Get 4 kills or assists with a single use of Ana's Nano Boost in Quick or Competitive Play.", 2632 | "category":"support" 2633 | }, 2634 | { 2635 | "acquired":false, 2636 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C6.png", 2637 | "title":"Antipode", 2638 | "description":"Hit 7 targets simultaneously with Moira's Coalescence in Quick or Competitive Play.", 2639 | "category":"support" 2640 | }, 2641 | { 2642 | "acquired":false, 2643 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C7.png", 2644 | "title":"Simple Trigonometry", 2645 | "description":"Fully deplete both types of Moira's Biotic Orb without dying in Quick or Competitive Play.", 2646 | "category":"support" 2647 | }, 2648 | { 2649 | "acquired":false, 2650 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001CB.png", 2651 | "title":"Grounded", 2652 | "description":"Kill an airborne enemy with Brigitte's Whip Shot in Quick or Competitive Play.", 2653 | "category":"support" 2654 | }, 2655 | { 2656 | "acquired":false, 2657 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001CC.png", 2658 | "title":"Excuse Me", 2659 | "description":"Interrupt an enemy ultimate ability with Brigitte's Shield Bash in Quick or Competitive Play.", 2660 | "category":"support" 2661 | }, 2662 | { 2663 | "acquired":true, 2664 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000018C.png", 2665 | "title":"Lockdown", 2666 | "description":"Win a Capture map on defense without losing the first objective in Quick or Competitive Play.", 2667 | "category":"maps" 2668 | }, 2669 | { 2670 | "acquired":true, 2671 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000018D.png", 2672 | "title":"Double Cap", 2673 | "description":"Capture both objectives on a Capture map without dying in Quick or Competitive Play.", 2674 | "category":"maps" 2675 | }, 2676 | { 2677 | "acquired":true, 2678 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000018E.png", 2679 | "title":"Escort Duty", 2680 | "description":"Push a payload 100 meters without leaving it in Quick or Competitive Play.", 2681 | "category":"maps" 2682 | }, 2683 | { 2684 | "acquired":true, 2685 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000018F.png", 2686 | "title":"Can't Touch This", 2687 | "description":"Prevent the attacking team from touching the payload for 1 minute in Quick or Competitive Play.", 2688 | "category":"maps" 2689 | }, 2690 | { 2691 | "acquired":true, 2692 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000190.png", 2693 | "title":"Shutout", 2694 | "description":"Win a Control map without the enemy capturing an objective in Quick or Competitive Play.", 2695 | "category":"maps" 2696 | }, 2697 | { 2698 | "acquired":true, 2699 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000191.png", 2700 | "title":"World Traveler", 2701 | "description":"Win a Quick or Competitive Play game on 12 different maps.", 2702 | "category":"maps" 2703 | }, 2704 | { 2705 | "acquired":false, 2706 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000197.png", 2707 | "title":"Survived the Night", 2708 | "description":"Win Junkenstein's Revenge on Hard difficulty.", 2709 | "category":"special" 2710 | }, 2711 | { 2712 | "acquired":false, 2713 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000198.png", 2714 | "title":"Not a Scratch", 2715 | "description":"Win Junkenstein's Revenge on Hard difficulty with no damage to the door.", 2716 | "category":"special" 2717 | }, 2718 | { 2719 | "acquired":false, 2720 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E60000000000199.png", 2721 | "title":"Four They Were", 2722 | "description":"Win Junkenstein's Revenge using each of the 4 heroes.", 2723 | "category":"special" 2724 | }, 2725 | { 2726 | "acquired":false, 2727 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E6000000000019C.png", 2728 | "title":"Held The Door", 2729 | "description":"Win Junkenstein's Revenge on Legendary difficulty.", 2730 | "category":"special" 2731 | }, 2732 | { 2733 | "acquired":false, 2734 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001AB.png", 2735 | "title":"Snowed In", 2736 | "description":"Win Mei's Snowball Offensive without losing a round.", 2737 | "category":"special" 2738 | }, 2739 | { 2740 | "acquired":false, 2741 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001AC.png", 2742 | "title":"Cool As Ice", 2743 | "description":"Kill 4 enemies without missing in Mei's Snowball Offensive.", 2744 | "category":"special" 2745 | }, 2746 | { 2747 | "acquired":false, 2748 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001AD.png", 2749 | "title":"Whap!", 2750 | "description":"Kill an enemy with a snowball from 25 meters away in Mei's Snowball Offensive.", 2751 | "category":"special" 2752 | }, 2753 | { 2754 | "acquired":false, 2755 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001AE.png", 2756 | "title":"Ambush!", 2757 | "description":"Kill 3 enemies while they are picking up snow in a game of Mei's Snowball Offensive.", 2758 | "category":"special" 2759 | }, 2760 | { 2761 | "acquired":false, 2762 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001AF.png", 2763 | "title":"Flagbearer", 2764 | "description":"Win Capture the Flag with a score of 3 to 0.", 2765 | "category":"special" 2766 | }, 2767 | { 2768 | "acquired":false, 2769 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B0.png", 2770 | "title":"Cleanup Duty", 2771 | "description":"Recover a flag in a game of Capture the Flag.", 2772 | "category":"special" 2773 | }, 2774 | { 2775 | "acquired":false, 2776 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B3.png", 2777 | "title":"Mission Complete", 2778 | "description":"Complete Uprising on Hard difficulty.", 2779 | "category":"special" 2780 | }, 2781 | { 2782 | "acquired":false, 2783 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B4.png", 2784 | "title":"Unit Commendation", 2785 | "description":"Complete Uprising on Expert difficulty.", 2786 | "category":"special" 2787 | }, 2788 | { 2789 | "acquired":false, 2790 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B5.png", 2791 | "title":"Distinguished Service", 2792 | "description":"Complete Uprising on Legendary difficulty.", 2793 | "category":"special" 2794 | }, 2795 | { 2796 | "acquired":false, 2797 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B6.png", 2798 | "title":"Handle With Care", 2799 | "description":"Deliver the payload with over 80% health in Uprising on Hard difficulty.", 2800 | "category":"special" 2801 | }, 2802 | { 2803 | "acquired":false, 2804 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B7.png", 2805 | "title":"Strike Team", 2806 | "description":"Complete Uprising with each of the 4 heroes.", 2807 | "category":"special" 2808 | }, 2809 | { 2810 | "acquired":false, 2811 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001B8.png", 2812 | "title":"Replacements", 2813 | "description":"Complete Uprising (All Heroes) with 8 different heroes.", 2814 | "category":"special" 2815 | }, 2816 | { 2817 | "acquired":false, 2818 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001BD.png", 2819 | "title":"Volley", 2820 | "description":"Score a goal in Lúcioball with a shot taken from at least 4 meters in the air.", 2821 | "category":"special" 2822 | }, 2823 | { 2824 | "acquired":false, 2825 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001BE.png", 2826 | "title":"Safe Hands", 2827 | "description":"Score 3 saves in a row in Lúcioball.", 2828 | "category":"special" 2829 | }, 2830 | { 2831 | "acquired":false, 2832 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001BF.png", 2833 | "title":"Lúcio Hat Trick", 2834 | "description":"Score a goal, a save, and an assist in a game of Lúcioball.", 2835 | "category":"special" 2836 | }, 2837 | { 2838 | "acquired":false, 2839 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C2.png", 2840 | "title":"Dawn Breaks", 2841 | "description":"Win Junkenstein's Revenge on Expert difficulty.", 2842 | "category":"special" 2843 | }, 2844 | { 2845 | "acquired":false, 2846 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C3.png", 2847 | "title":"Six They Were", 2848 | "description":"Win Junkenstein Endless with 6 different heroes.", 2849 | "category":"special" 2850 | }, 2851 | { 2852 | "acquired":false, 2853 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C4.png", 2854 | "title":"Unscathed", 2855 | "description":"Win Junkenstein Endless on Hard difficulty with no damage to the door.", 2856 | "category":"special" 2857 | }, 2858 | { 2859 | "acquired":false, 2860 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C5.png", 2861 | "title":"Survivor", 2862 | "description":"Survive 4 bonus waves in Junkenstein Endless on Expert difficulty.", 2863 | "category":"special" 2864 | }, 2865 | { 2866 | "acquired":false, 2867 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C8.png", 2868 | "title":"Thinking With Your Stomach", 2869 | "description":"Eat 4 meat as the Yeti in Yeti Hunter.", 2870 | "category":"special" 2871 | }, 2872 | { 2873 | "acquired":false, 2874 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001C9.png", 2875 | "title":"Yeti Catcher", 2876 | "description":"Trap the Yeti as a Hunter in Yeti Hunter.", 2877 | "category":"special" 2878 | }, 2879 | { 2880 | "acquired":false, 2881 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001CD.png", 2882 | "title":"The Venice Incident", 2883 | "description":"Complete Retribution with each of the 4 heroes.", 2884 | "category":"special" 2885 | }, 2886 | { 2887 | "acquired":false, 2888 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001CE.png", 2889 | "title":"Redacted", 2890 | "description":"Complete Retribution (All Heroes) with 8 different heroes.", 2891 | "category":"special" 2892 | }, 2893 | { 2894 | "acquired":false, 2895 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001CF.png", 2896 | "title":"Into the Shadows", 2897 | "description":"Complete Retribution on Hard difficulty.", 2898 | "category":"special" 2899 | }, 2900 | { 2901 | "acquired":false, 2902 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001D0.png", 2903 | "title":"A Quiet Night", 2904 | "description":"Complete Retribution on Expert difficulty.", 2905 | "category":"special" 2906 | }, 2907 | { 2908 | "acquired":false, 2909 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001D1.png", 2910 | "title":"Plausible Deniability", 2911 | "description":"Complete Retribution on Legendary difficulty.", 2912 | "category":"special" 2913 | }, 2914 | { 2915 | "acquired":false, 2916 | "thumbnail":"https://d1u1mce87gyfbn.cloudfront.net/game/achievements/0x0E600000000001D2.png", 2917 | "title":"Clean Getaway", 2918 | "description":"Complete Retribution on Expert difficulty with no incapacitations.", 2919 | "category":"special" 2920 | } 2921 | ] 2922 | } 2923 | ``` 2924 | 2925 | ## License 2926 | MIT 2927 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | "use strict"; 3 | 4 | /** 5 | * Node.js : overwatch-js 6 | * Access overwatch heroes and profile informations 7 | * 8 | **/ 9 | 10 | module.exports = require('./lib/overwatch.js'); -------------------------------------------------------------------------------- /lib/overwatch.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | "use strict"; 3 | 4 | /** 5 | * Node.js : overwatch-js 6 | * Access overwatch heroes and profile informations 7 | * 8 | **/ 9 | 10 | const cheerio = require('cheerio'); 11 | const rp = require('request-promise'); 12 | const _ = require('lodash/core'); 13 | 14 | const url = 'https://playoverwatch.com/%LANG%/career/'; 15 | const searchUrl = 'https://playoverwatch.com/%LANG%/search/account-by-name/'; 16 | 17 | const GAMETYPES = ['competitive', 'quickplay']; 18 | const PLATFORMS = { 19 | XboxLive: "xbl", 20 | Playstation: "psn", 21 | PC: "pc" 22 | } 23 | const LOCALES = [ 24 | "de-de", 25 | "en-us", 26 | "en-gb", 27 | "es-es", 28 | "es-mx", 29 | "fr-fr", 30 | "it-it", 31 | "pt-br", 32 | "pt-pt", 33 | "pl-pl", 34 | "ru-ru", 35 | "ko-kr", 36 | "ja-jp", 37 | "zh-tw", 38 | "zh-cn" 39 | ] 40 | 41 | const RANKS = { 42 | "1" : [], //// Season 1 43 | "2" : [ //// Season 2 44 | 'Bronze', 45 | 'Silver', 46 | 'Gold', 47 | 'Platinum', 48 | 'Diamond', 49 | 'Master', 50 | 'Grandmaster', 51 | 'Top500' 52 | ] 53 | } 54 | 55 | const TIERS = require('./registry/ranking'); 56 | 57 | let OverwatchProvider = function () { 58 | var self = this; 59 | 60 | String.prototype.sanitize = function () { 61 | return this.trim().replace(" - ", "_").replace(/\s/g, "_").toLowerCase(); 62 | } 63 | 64 | String.prototype.toTimestamp = function () { 65 | if (this.indexOf(':') > 0) { 66 | let intervals = this.split(':').reverse(); 67 | intervals.at0 = (idx) => intervals[idx] || 0; 68 | // UTC date gives us milliseconds since the unix epoch 69 | return Date.UTC(1970, 0, intervals.at0(3) + 1, intervals.at0(2), intervals.at0(1), intervals.at0(0)); 70 | } 71 | 72 | var swap = this; 73 | if (swap.endsWith('s')) swap = this.substr(0, this.length - 1); // remove trailing s 74 | if (swap.endsWith("second")) return parseInt(swap) * 1000; 75 | if (swap.endsWith("minute")) return parseInt(swap) * 60000; 76 | if (swap.endsWith("hour")) return parseInt(swap) * 3600000; 77 | if (swap.endsWith("day")) return parseInt(swap) * 86400000; 78 | 79 | return parseInt(swap); 80 | } 81 | 82 | String.prototype.cast = function () { 83 | if (this.indexOf('.') > 0 && this.indexOf(',') > 0) return parseFloat(this.replace(',','')); 84 | if (this.indexOf('.') > 0) return parseFloat(this); 85 | if (this.indexOf(':') > 0 || this.split(' ').length > 1) return this.toTimestamp(); 86 | return parseInt(this.replace(/,/g, '')); 87 | } 88 | 89 | let getAvailableLocales = () => { return LOCALES; } 90 | 91 | let getUrl = (platform, region, tag, lang = 'en-us') => { 92 | 93 | if(! LOCALES.includes(lang)) 94 | throw new Error(`${lang}_INVALID_LOCALE`); 95 | 96 | switch (platform) { 97 | case PLATFORMS.PC: 98 | region = "/" + region 99 | break; 100 | case PLATFORMS.Playstation: 101 | case PLATFORMS.XboxLive: 102 | default: 103 | //// No region must be specified 104 | region = ""; 105 | break; 106 | } 107 | 108 | return url.replace('%LANG%', lang) + `${platform}${region}/${encodeURIComponent(tag)}`; 109 | }; 110 | 111 | let getSearchUrl = (nickname, lang = "en-us", encode = false) => { 112 | 113 | if(! LOCALES.includes(lang)) 114 | throw new Error(`${lang}_INVALID_LOCALE`); 115 | 116 | return searchUrl.replace('%LANG%', lang) + (encode ? encodeURIComponent(nickname) : nickname); 117 | }; 118 | 119 | let parseTiers = (img) => { 120 | if(!img) 121 | return ''; 122 | 123 | var m = img.match(/playerlevelrewards\/(.*)_Border.png/); 124 | 125 | if(!m || m.length <= 1) 126 | return ''; 127 | 128 | return TIERS[m[1]]; 129 | } 130 | 131 | let parseProfile = ($) => { 132 | var stats = {}; 133 | stats.nick = $('.header-masthead').text(); 134 | stats.level = parseInt($('div.player-level div').first().text()); 135 | stats.avatar = $('.player-portrait').attr('src'); 136 | stats.rank = parseInt($('div.competitive-rank > div').first().text()); 137 | stats.tier = parseTiers($('.player-level').attr('style').replace(/^url|[\(\)]/g, '')); 138 | 139 | if (stats.rank) 140 | stats.rankPicture = $('div.competitive-rank > img').attr('src'); 141 | 142 | stats.platform = $('#profile-platforms > a').text(); 143 | 144 | return stats; 145 | }; 146 | 147 | let parseFeaturedStats = ($, gameType) => { 148 | var stats = {}; 149 | 150 | stats.masteringHeroe = $('[data-js="heroMastheadImage"]').attr(`data-hero-${gameType}`); 151 | 152 | return stats; 153 | } 154 | 155 | let parseHeroesStats = ($, gametype, overallOnly = false) => { 156 | var heroesMap = []; 157 | var featuredMap = []; 158 | var stats = {}; 159 | 160 | //// Master stats 161 | _.each($(`#${gametype} select[data-group-id='stats'] option`), (item) => { 162 | heroesMap.push({ name: item.attribs['option-id'].toLowerCase().sanitize(), value: item.attribs['value'] }); 163 | 164 | if (overallOnly) 165 | return false; 166 | }); 167 | 168 | //// Featured stats 169 | _.each($(`#${gametype} select[data-group-id='comparisons'] option`), (item) => { 170 | featuredMap.push({ name: item.attribs['option-id'].toLowerCase().sanitize(), value: item.attribs['value'] }); 171 | }); 172 | 173 | //// Seeking heroe datas 174 | _.each(heroesMap, (map) => { 175 | stats[map.name] = {}; 176 | 177 | //// Carreer 178 | _.each($(`#${gametype} [data-category-id="${map.value}"]`), (slide) => { 179 | var e = $(slide); 180 | _.each(e.find('tbody > tr'), (stat) => { 181 | stats[map.name][stat.children[0].children[0].data.sanitize()] = stat.children[1].children[0].data.cast(); 182 | }); 183 | }); 184 | 185 | //// Featured 186 | _.each(featuredMap, (feat) => { 187 | _.each($(`#${gametype} [data-group-id="comparisons"][data-category-id="overwatch.guid.${feat.value}"]`), (slide) => { 188 | var value = $(slide).find(`div [data-hero-guid="${map.value}"] .description`); 189 | stats[map.name][feat.name.sanitize()] = value; 190 | }); 191 | }); 192 | 193 | if (overallOnly) 194 | return false; 195 | }); 196 | 197 | return stats; 198 | } 199 | 200 | let parseAchievements = ($) => { 201 | var categories = []; 202 | var stats = {}; 203 | var achievements = []; 204 | _.each($(`select[data-group-id="achievements"] option`), (item) => { 205 | categories.push({ name: item.attribs['option-id'].toLowerCase(), value: item.attribs['value'] }); 206 | }); 207 | 208 | // Seeking achievements stats 209 | _.each(categories, (category) => { 210 | var ctns = $(`[data-category-id="${category.value}"] > ul > div`); 211 | 212 | _.each(ctns, (ctn) => { 213 | var ctn = $(ctn); 214 | achievements.push({ 215 | acquired : ctn.find('.achievement-card').attr('class').indexOf('m-disabled') < 0, 216 | thumbnail : ctn.find('.media-card-fill').attr('src'), 217 | title : ctn.find('.tooltip-tip > .h5').text(), 218 | description : ctn.find('.tooltip-tip > .h6').text(), 219 | category : category.name 220 | }) 221 | }); 222 | }); 223 | 224 | return achievements; 225 | } 226 | 227 | let handle = (err) => { 228 | 229 | if (!err.response && err instanceof (Error)) 230 | throw err; 231 | 232 | switch (err.response.statusCode) { 233 | case 404: 234 | throw new Error('PROFILE_NOT_FOUND'); 235 | case 500: 236 | throw new Error('TECHNICAL_EXCEPTION_HTML_STRUCTURE_MAY_HAVE_CHANGED') 237 | case 502: 238 | throw new Error('TECHNICAL_EXCEPTION_NOT_REACHABLE') 239 | default: 240 | throw new Error('TECHNICAL_EXCEPTION_NOT_IDENTIFIED') 241 | } 242 | } 243 | 244 | self.getOverall = (platform, region, tag, lang = 'en-us') => { 245 | return self.get(platform, region, tag, true, lang); 246 | } 247 | 248 | self.getAll = (platform, region, tag, overallOnly, lang = 'en-us') => { 249 | return self.get(platform, region, tag, false, lang); 250 | } 251 | 252 | self.get = (platform, region, tag, overallOnly, lang = 'en-us') => { 253 | var baseurl = getUrl(platform, region, tag, lang); 254 | 255 | return rp(baseurl).then((context) => { 256 | 257 | var result = {}; 258 | var promises = []; 259 | const $ = cheerio.load(context); 260 | 261 | //// Seeking if profile exists 262 | if (context.indexOf('Profile Not Found') > 0) 263 | throw new Error('PROFILE_NOT_FOUND'); 264 | 265 | //// Getting profile 266 | var p = new Promise((resolve, reject) => { 267 | result.profile = parseProfile($); 268 | result.profile.url = baseurl; 269 | 270 | resolve(result); 271 | }); 272 | promises.push(p); 273 | 274 | //// Getting stats 275 | _.each(GAMETYPES, (type) => { 276 | var p = new Promise((resolve, reject) => { 277 | result[type] = {}; 278 | result[type].global = parseFeaturedStats($, type); 279 | result[type].heroes = parseHeroesStats($, type, overallOnly); 280 | result[type].global = Object.assign(result[type].global, result[type].heroes['all_heroes']); 281 | delete result[type].heroes.all_heroes; 282 | 283 | resolve(result); 284 | }); 285 | promises.push(p); 286 | }); 287 | 288 | promises.push(new Promise((resolve, reject) => { 289 | result.achievements = parseAchievements($); 290 | resolve(result); 291 | })); 292 | 293 | return Promise.all(promises).then(() => { 294 | return result; 295 | }); 296 | }) 297 | .catch(handle); 298 | }; 299 | 300 | self.search = (username, lang = "en-us") => { 301 | 302 | //// Sanitize for new UI version 303 | username = username.replace("-", "#"); 304 | 305 | var options = { 306 | uri: getSearchUrl(username, lang, true), 307 | headers: { 308 | 'User-Agent': 'Overwatch-JS' 309 | }, 310 | json: true 311 | }; 312 | 313 | return rp(options).then((datas) => { 314 | _.each(datas, (player) => { 315 | //// Region is not longer provided in the result 316 | player.region = ""; 317 | player.tier = (player.level - player.level % 100) / 100; 318 | player.level = player.level % 100; 319 | }); 320 | 321 | return datas; 322 | }) 323 | .catch(handle); 324 | } 325 | }; 326 | 327 | module.exports = new OverwatchProvider(); 328 | -------------------------------------------------------------------------------- /lib/registry/ranking.js: -------------------------------------------------------------------------------- 1 | module.exports = PRESTIGE = { 2 | "0x0250000000000918": 0, 3 | "0x0250000000000919": 0, 4 | "0x025000000000091A": 0, 5 | "0x025000000000091B": 0, 6 | "0x025000000000091C": 0, 7 | "0x025000000000091D": 0, 8 | "0x025000000000091E": 0, 9 | "0x025000000000091F": 0, 10 | "0x0250000000000920": 0, 11 | "0x0250000000000921": 0, 12 | "0x0250000000000922": 1, 13 | "0x0250000000000924": 1, 14 | "0x0250000000000925": 1, 15 | "0x0250000000000926": 1, 16 | "0x025000000000094C": 1, 17 | "0x0250000000000927": 1, 18 | "0x0250000000000928": 1, 19 | "0x0250000000000929": 1, 20 | "0x025000000000092B": 1, 21 | "0x0250000000000950": 1, 22 | "0x025000000000092A": 2, 23 | "0x025000000000092C": 2, 24 | "0x0250000000000937": 2, 25 | "0x025000000000093B": 2, 26 | "0x0250000000000933": 2, 27 | "0x0250000000000923": 2, 28 | "0x0250000000000944": 2, 29 | "0x0250000000000948": 2, 30 | "0x025000000000093F": 2, 31 | "0x0250000000000951": 2, 32 | "0x025000000000092D": 3, 33 | "0x0250000000000930": 3, 34 | "0x0250000000000934": 3, 35 | "0x0250000000000938": 3, 36 | "0x0250000000000940": 3, 37 | "0x0250000000000949": 3, 38 | "0x0250000000000952": 3, 39 | "0x025000000000094D": 3, 40 | "0x0250000000000945": 3, 41 | "0x025000000000093C": 3, 42 | "0x025000000000092E": 4, 43 | "0x0250000000000931": 4, 44 | "0x0250000000000935": 4, 45 | "0x025000000000093D": 4, 46 | "0x0250000000000946": 4, 47 | "0x025000000000094A": 4, 48 | "0x0250000000000953": 4, 49 | "0x025000000000094E": 4, 50 | "0x0250000000000939": 4, 51 | "0x0250000000000941": 4, 52 | "0x025000000000092F": 5, 53 | "0x0250000000000932": 5, 54 | "0x025000000000093E": 5, 55 | "0x0250000000000936": 5, 56 | "0x025000000000093A": 5, 57 | "0x0250000000000942": 5, 58 | "0x0250000000000947": 5, 59 | "0x025000000000094F": 5, 60 | "0x025000000000094B": 5, 61 | "0x0250000000000954": 5, 62 | "0x0250000000000956": 6, 63 | "0x025000000000095C": 6, 64 | "0x025000000000095D": 6, 65 | "0x025000000000095E": 6, 66 | "0x025000000000095F": 6, 67 | "0x0250000000000960": 6, 68 | "0x0250000000000961": 6, 69 | "0x0250000000000962": 6, 70 | "0x0250000000000963": 6, 71 | "0x0250000000000964": 6, 72 | "0x0250000000000957": 7, 73 | "0x0250000000000965": 7, 74 | "0x0250000000000966": 7, 75 | "0x0250000000000967": 7, 76 | "0x0250000000000968": 7, 77 | "0x0250000000000969": 7, 78 | "0x025000000000096A": 7, 79 | "0x025000000000096B": 7, 80 | "0x025000000000096C": 7, 81 | "0x025000000000096D": 7, 82 | "0x0250000000000958": 8, 83 | "0x025000000000096E": 8, 84 | "0x025000000000096F": 8, 85 | "0x0250000000000970": 8, 86 | "0x0250000000000971": 8, 87 | "0x0250000000000972": 8, 88 | "0x0250000000000973": 8, 89 | "0x0250000000000974": 8, 90 | "0x0250000000000975": 8, 91 | "0x0250000000000976": 8, 92 | "0x0250000000000959": 9, 93 | "0x0250000000000977": 9, 94 | "0x0250000000000978": 9, 95 | "0x0250000000000979": 9, 96 | "0x025000000000097A": 9, 97 | "0x025000000000097B": 9, 98 | "0x025000000000097C": 9, 99 | "0x025000000000097D": 9, 100 | "0x025000000000097E": 9, 101 | "0x025000000000097F": 9, 102 | "0x025000000000095A": 10, 103 | "0x0250000000000980": 10, 104 | "0x0250000000000981": 10, 105 | "0x0250000000000982": 10, 106 | "0x0250000000000983": 10, 107 | "0x0250000000000984": 10, 108 | "0x0250000000000985": 10, 109 | "0x0250000000000986": 10, 110 | "0x0250000000000987": 10, 111 | "0x0250000000000988": 10, 112 | "0x025000000000095B": 11, 113 | "0x0250000000000989": 11, 114 | "0x025000000000098A": 11, 115 | "0x025000000000098B": 11, 116 | "0x025000000000098C": 11, 117 | "0x025000000000098D": 11, 118 | "0x025000000000098E": 11, 119 | "0x025000000000098F": 11, 120 | "0x0250000000000991": 11, 121 | "0x0250000000000990": 11, 122 | "0x0250000000000992": 12, 123 | "0x0250000000000993": 12, 124 | "0x0250000000000994": 12, 125 | "0x0250000000000995": 12, 126 | "0x0250000000000996": 12, 127 | "0x0250000000000997": 12, 128 | "0x0250000000000998": 12, 129 | "0x0250000000000999": 12, 130 | "0x025000000000099A": 12, 131 | "0x025000000000099B": 12, 132 | "0x025000000000099C": 13, 133 | "0x025000000000099D": 13, 134 | "0x025000000000099E": 13, 135 | "0x025000000000099F": 13, 136 | "0x02500000000009A0": 13, 137 | "0x02500000000009A1": 13, 138 | "0x02500000000009A2": 13, 139 | "0x02500000000009A3": 13, 140 | "0x02500000000009A4": 13, 141 | "0x02500000000009A5": 13, 142 | "0x02500000000009A6": 14, 143 | "0x02500000000009A7": 14, 144 | "0x02500000000009A8": 14, 145 | "0x02500000000009A9": 14, 146 | "0x02500000000009AA": 14, 147 | "0x02500000000009AB": 14, 148 | "0x02500000000009AC": 14, 149 | "0x02500000000009AD": 14, 150 | "0x02500000000009AE": 14, 151 | "0x02500000000009AF": 14, 152 | "0x02500000000009B0": 15, 153 | "0x02500000000009B1": 15, 154 | "0x02500000000009B2": 15, 155 | "0x02500000000009B3": 15, 156 | "0x02500000000009B4": 15, 157 | "0x02500000000009B5": 15, 158 | "0x02500000000009B6": 15, 159 | "0x02500000000009B7": 15, 160 | "0x02500000000009B8": 15, 161 | "0x02500000000009B9": 15, 162 | "0x02500000000009BA": 16, 163 | "0x02500000000009BB": 16, 164 | "0x02500000000009BC": 16, 165 | "0x02500000000009BD": 16, 166 | "0x02500000000009BE": 16, 167 | "0x02500000000009BF": 16, 168 | "0x02500000000009C0": 16, 169 | "0x02500000000009C1": 16, 170 | "0x02500000000009C2": 16, 171 | "0x02500000000009C3": 16, 172 | "0x02500000000009C4": 17, 173 | "0x02500000000009C5": 17, 174 | "0x02500000000009C6": 17, 175 | "0x02500000000009C7": 17, 176 | "0x02500000000009C8": 17, 177 | "0x02500000000009C9": 17, 178 | "0x02500000000009CA": 17, 179 | "0x02500000000009CB": 17, 180 | "0x02500000000009CC": 17, 181 | "0x02500000000009CD": 17 182 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "overwatch-js", 3 | "version": "1.8.0", 4 | "description": "NodeJS Overwatch API : Retrieve informations about heroes/players from Overwatch Official Website", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/gclem/overwatch-js.git" 12 | }, 13 | "keywords": [ 14 | "overwatch" 15 | ], 16 | "author": "gclem", 17 | "license": "MIT", 18 | "bugs": { 19 | "url": "https://github.com/gclem/overwatch-js/issues" 20 | }, 21 | "homepage": "https://github.com/gclem/overwatch-js#readme", 22 | "dependencies": { 23 | "cheerio": "^0.22.0", 24 | "lodash": "^4.17.4", 25 | "request": "^2.79.0", 26 | "request-promise": "^4.1.1" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /specs/mocktest.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | "use strict"; 3 | 4 | var ow = require('../index.js'); 5 | 6 | ow.search('DanIV-21904') 7 | .then((data) => console.dir(data, {depth : 3, colors : true}) ); 8 | 9 | ow.getAll('pc', 'eu', 'DanIV-21904', true, 'de-de') 10 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 11 | 12 | //// Special characters 13 | ow.getAll('pc', 'us', 'DanIV-21904') 14 | .then((data) => console.dir(data, {depth : 2, colors : true}) ); 15 | --------------------------------------------------------------------------------