bnet_scraper 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. data/CHANGELOG.md +9 -0
  2. data/Gemfile +1 -1
  3. data/LICENSE +1 -1
  4. data/README.md +51 -31
  5. data/bnet_scraper.gemspec +3 -1
  6. data/fixtures/vcr_cassettes/demon_achievements.yml +246 -0
  7. data/fixtures/vcr_cassettes/demon_leagues.yml +359 -0
  8. data/fixtures/vcr_cassettes/demon_match_history.yml +241 -0
  9. data/fixtures/vcr_cassettes/demon_matches.yml +240 -0
  10. data/fixtures/vcr_cassettes/demon_profile.yml +1428 -0
  11. data/fixtures/vcr_cassettes/demon_profile_leagues.yml +1291 -0
  12. data/fixtures/vcr_cassettes/full_demon_scrape.yml +5449 -0
  13. data/fixtures/vcr_cassettes/invalid_achievement.yml +199 -0
  14. data/fixtures/vcr_cassettes/invalid_leagues.yml +199 -0
  15. data/fixtures/vcr_cassettes/invalid_matches.yml +199 -0
  16. data/fixtures/vcr_cassettes/invalid_profile.yml +199 -0
  17. data/fixtures/vcr_cassettes/new_league.yml +595 -0
  18. data/fixtures/vcr_cassettes/profile_invalid.yml +199 -0
  19. data/fixtures/vcr_cassettes/profile_not_laddered.yml +443 -0
  20. data/fixtures/vcr_cassettes/realm_status.yml +578 -0
  21. data/lib/bnet_scraper/starcraft2.rb +7 -8
  22. data/lib/bnet_scraper/starcraft2/achievement_scraper.rb +5 -5
  23. data/lib/bnet_scraper/starcraft2/league.rb +54 -0
  24. data/lib/bnet_scraper/starcraft2/league_scraper.rb +3 -1
  25. data/lib/bnet_scraper/starcraft2/match.rb +15 -0
  26. data/lib/bnet_scraper/starcraft2/match_history_scraper.rb +9 -18
  27. data/lib/bnet_scraper/starcraft2/profile.rb +45 -0
  28. data/lib/bnet_scraper/starcraft2/profile_scraper.rb +68 -44
  29. data/spec/spec_helper.rb +14 -0
  30. data/spec/starcraft2/achievement_scraper_spec.rb +67 -83
  31. data/spec/starcraft2/league_scraper_spec.rb +25 -59
  32. data/spec/starcraft2/league_spec.rb +43 -0
  33. data/spec/starcraft2/match_history_scraper_spec.rb +19 -39
  34. data/spec/starcraft2/profile_scraper_spec.rb +36 -141
  35. data/spec/starcraft2/profile_spec.rb +46 -0
  36. data/spec/starcraft2/status_scraper_spec.rb +12 -5
  37. data/spec/starcraft2_spec.rb +19 -36
  38. data/spec/support/shared/sc2_scraper.rb +28 -13
  39. metadata +57 -42
  40. data/spec/support/achievements.html +0 -1156
  41. data/spec/support/failure.html +0 -565
  42. data/spec/support/initial_league.html +0 -1082
  43. data/spec/support/initial_leagues.html +0 -3598
  44. data/spec/support/league.html +0 -8310
  45. data/spec/support/leagues.html +0 -3810
  46. data/spec/support/load_fakeweb.rb +0 -42
  47. data/spec/support/matches.html +0 -1228
  48. data/spec/support/no_ladder.html +0 -967
  49. data/spec/support/no_ladder_leagues.html +0 -664
  50. data/spec/support/profile.html +0 -1074
  51. data/spec/support/status.html +0 -1
@@ -1,1082 +0,0 @@
1
-
2
-
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" class="en-us">
4
- <head xmlns:og="http://ogp.me/ns#" xmlns:fb="http://ogp.me/ns/fb#">
5
- <title>Heritic - StarCraft II</title>
6
- <meta content="false" http-equiv="imagetoolbar" />
7
- <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
8
- <link rel="shortcut icon" href="/sc2/static/local-common/images/favicons/sc2.ico" type="image/x-icon"/>
9
- <link rel="search" type="application/opensearchdescription+xml" href="http://us.battle.net/en-us/data/opensearch" title="Battle.net Search" />
10
- <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common.css?v42" />
11
- <!--[if IE]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common-ie.css?v42" />
12
- <![endif]-->
13
- <!--[if IE 6]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common-ie6.css?v42" />
14
- <![endif]-->
15
- <!--[if IE 7]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common-ie7.css?v42" />
16
- <![endif]-->
17
- <link title="StarCraft II™ - News" href="/sc2/en/feed/news" type="application/atom+xml" rel="alternate"/>
18
- <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2.css?v21" />
19
- <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/profile/profile.css?v21" />
20
- <!--[if IE 6]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/profile/profile-ie6.css?v21" />
21
- <![endif]-->
22
- <!--[if IE]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2-ie.css?v21" />
23
- <![endif]-->
24
- <!--[if IE 6]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2-ie6.css?v21" />
25
- <![endif]-->
26
- <!--[if IE 7]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2-ie7.css?v21" />
27
- <![endif]-->
28
- <script type="text/javascript" src="/sc2/static/local-common/js/third-party/jquery.js?v42"></script>
29
- <script type="text/javascript" src="/sc2/static/local-common/js/core.js?v42"></script>
30
- <script type="text/javascript" src="/sc2/static/local-common/js/tooltip.js?v42"></script>
31
- <!--[if IE 6]> <script type="text/javascript">
32
- //<![CDATA[
33
- try { document.execCommand('BackgroundImageCache', false, true) } catch(e) {}
34
- //]]>
35
- </script>
36
- <![endif]-->
37
- <script type="text/javascript">
38
- //<![CDATA[
39
- Core.staticUrl = '/sc2/static';
40
- Core.sharedStaticUrl= '/sc2/static/local-common';
41
- Core.baseUrl = '/sc2/en';
42
- Core.projectUrl = '/sc2';
43
- Core.cdnUrl = 'http://us.media.blizzard.com';
44
- Core.supportUrl = 'http://us.battle.net/support/';
45
- Core.secureSupportUrl= 'https://us.battle.net/support/';
46
- Core.project = 'sc2';
47
- Core.locale = 'en-us';
48
- Core.language = 'en';
49
- Core.buildRegion = 'us';
50
- Core.region = 'us';
51
- Core.shortDateFormat= 'MM/dd/yyyy';
52
- Core.dateTimeFormat = 'MM/dd/yyyy hh:mm a';
53
- Core.loggedIn = false;
54
- Flash.videoPlayer = 'http://us.media.blizzard.com/global-video-player/themes/sc2/video-player.swf';
55
- Flash.videoBase = 'http://us.media.blizzard.com/sc2/media/videos';
56
- Flash.ratingImage = 'http://us.media.blizzard.com/global-video-player/ratings/sc2/en-us.jpg';
57
- Flash.expressInstall= 'http://us.media.blizzard.com/global-video-player/expressInstall.swf';
58
- var _gaq = _gaq || [];
59
- _gaq.push(['_setAccount', 'UA-544112-16']);
60
- _gaq.push(['_setDomainName', '.battle.net']);
61
- _gaq.push(['_setAllowLinker', true]);
62
- _gaq.push(['_trackPageview']);
63
- _gaq.push(['_trackPageLoadTime']);
64
- //]]>
65
- </script>
66
- <meta property="og:site_name" content="StarCraft II™" />
67
- <meta property="og:title" content="Heritic - StarCraft II" />
68
- <meta property="og:image" content="http://us.media.blizzard.com/battle.net/logos/og-sc2.png" />
69
- <meta property="og:url" content="http://us.battle.net/sc2/en/profile/3513522/1/Heritic/" />
70
- <meta property="og:type" content="website" />
71
- <meta property="og:locale" content="en_US" />
72
- <meta property="fb:admins" content="470332842321,433163104416"/>
73
- </head>
74
- <body class=""><div id="wrapper">
75
- <div id="header">
76
- <div class="search-bar">
77
- <form action="/sc2/en/search" method="get" autocomplete="off">
78
- <div>
79
- <input type="text" class="search-field input" name="q" id="search-field" maxlength="200" tabindex="40" alt="Search StarCraft II" value="Search StarCraft II" />
80
- <input type="submit" class="search-button" value="" tabindex="41" />
81
- </div>
82
- </form>
83
- </div>
84
- <h1 id="logo"><a href="/sc2/en/">Battle.net</a></h1>
85
- <div id="header-plate">
86
- <ul class="menu" id="menu">
87
- <li class="menu-home">
88
- <a href="/sc2/en/">
89
- <span>Home</span>
90
- </a>
91
- </li>
92
- <li class="menu-game">
93
- <a href="/sc2/en/game/">
94
- <span>Game Guide</span>
95
- </a>
96
- </li>
97
- <li class="menu-esports">
98
- <a href="/sc2/en/esports/">
99
- <span>eSports</span>
100
- </a>
101
- </li>
102
- <li class="menu-media">
103
- <a href="/sc2/en/media/">
104
- <span>Media</span>
105
- </a>
106
- </li>
107
- <li class="menu-forums">
108
- <a href="/sc2/en/forum/">
109
- <span>Forums</span>
110
- </a>
111
- </li>
112
- <li class="menu-buy-now">
113
- <a href="/sc2/en/buy-now/">
114
- <span>Buy Now</span>
115
- </a>
116
- </li>
117
- </ul>
118
- <div id="user-plate" class="ajax-update">
119
- <div id="user-empty">
120
- <a href="?login" onclick="return Login.open('https://us.battle.net/login/login.frag')"><strong>Log in</strong></a> with your Battle.net account to post comments and personalize your site content.
121
- </div>
122
- </div>
123
- <ol class="ui-breadcrumb">
124
- <li>
125
- <a href="/sc2/en/" rel="np">
126
- StarCraft II
127
- </a>
128
- <span class="breadcrumb-arrow"></span>
129
- </li>
130
- <li class="last">
131
- <a href="/sc2/en/profile/3513522/1/Heritic/" rel="np">
132
- Heritic
133
- </a>
134
- </li>
135
- </ol>
136
- </div>
137
- </div>
138
- <div id="content">
139
- <div id="content-top">
140
- <div id="content-bot"> <div id="profile-wrapper">
141
- <div id="profile-header">
142
- <div id="portrait" onclick="Core.goTo('/sc2/en/profile/3513522/1/Heritic/');">
143
-
144
-
145
- <span class="icon-frame "
146
- style="background: url('/sc2/static/local-common/images/sc2/portraits/3-90.jpg?v42') -180px -450px no-repeat; width: 90px; height: 90px;">
147
-
148
- </span>
149
-
150
- <div id="portrait-frame">&#160;</div>
151
- </div>
152
-
153
- <div id="current-decals">
154
- <div class="current-decal" data-tooltip="Zerg Decal">
155
-
156
-
157
- <span class="icon-frame "
158
- style="background: url('/sc2/static/local-common/images/sc2/decals/0-45.jpg?v42') -90px -270px no-repeat; width: 45px; height: 45px;">
159
-
160
- <a href="/sc2/en/profile/3513522/1/Heritic/rewards/zerg-decals#reward-2359737029" style="height: 45px"> </a>
161
- </span>
162
- </div>
163
-
164
- <div class="current-decal" data-tooltip="Protoss Decal">
165
-
166
-
167
- <span class="icon-frame "
168
- style="background: url('/sc2/static/local-common/images/sc2/decals/0-45.jpg?v42') -45px -135px no-repeat; width: 45px; height: 45px;">
169
-
170
- <a href="/sc2/en/profile/3513522/1/Heritic/rewards/protoss-decals#reward-2009110693" style="height: 45px"> </a>
171
- </span>
172
- </div>
173
-
174
- <div class="current-decal" data-tooltip="Terran Decal">
175
-
176
-
177
- <span class="icon-frame "
178
- style="background: url('/sc2/static/local-common/images/sc2/decals/0-45.jpg?v42') -0px -270px no-repeat; width: 45px; height: 45px;">
179
-
180
- <a href="/sc2/en/profile/3513522/1/Heritic/rewards/terran-decals#reward-985481741" style="height: 45px"> </a>
181
- </span>
182
- </div>
183
- </div>
184
-
185
- <h2><a href="/sc2/en/profile/3513522/1/Heritic/">Heritic</a></h2>
186
- <h3>415</h3>
187
- </div>
188
-
189
- <div id="profile-left">
190
- <ul id="profile-menu">
191
- <li class="active">
192
- <a href="/sc2/en/profile/3513522/1/Heritic/">
193
-
194
-
195
- Profile
196
- </a>
197
- </li>
198
- <li>
199
- <a href="achievements/">
200
- <span class="forward"></span>
201
-
202
- Achievements
203
- </a>
204
- </li>
205
- <li>
206
- <a href="matches">
207
-
208
-
209
- Match History
210
- </a>
211
- </li>
212
- <li>
213
- <a href="rewards/">
214
- <span class="forward"></span>
215
-
216
- Rewards
217
- </a>
218
- </li>
219
- <li>
220
- <a href="ladder/">
221
- <span class="forward"></span>
222
-
223
- Leagues &amp; Ladders
224
- </a>
225
- </li>
226
- </ul>
227
-
228
-
229
- </div>
230
-
231
- <div id="profile-right">
232
-
233
- <div class="profile-module">
234
-
235
- <div class="module-top">
236
- <div class="module-bot">
237
- <div class="module-left" id="season-snapshot">
238
- <div class="module-title">
239
- <h3 class="title-globe">Player Stats</h3>
240
- </div>
241
-
242
- <div class="module-body snapshot-terran">
243
-
244
- <div class="stat-block">
245
- <h3>Games Played This Season</h3>
246
- <h2>150</h2>
247
- </div>
248
-
249
- <div class="stat-block">
250
- <h3>Most Played Mode</h3>
251
- <h2>1v1</h2>
252
- </div>
253
-
254
- <div class="stat-block">
255
- <h3>Total Career Games</h3>
256
- <h2>150</h2>
257
- </div>
258
-
259
- <div class="stat-block">
260
- <h3>Most Played Race</h3>
261
- <h2 class="race">Terran</h2>
262
- </div>
263
-
264
- </div>
265
- </div>
266
-
267
- <div class="module-right" id="career-stats">
268
- <div class="module-title"></div>
269
-
270
- <div class="module-body">
271
-
272
-
273
-
274
-
275
- <div class="badge-item" data-tooltip="#best-finish-SOLO">
276
-
277
- <div class="badge">
278
-
279
- <span class="badge badge-bronze badge-medium-1">
280
- </span>
281
- </div>
282
- <div class="mode">1V1</div>
283
- <div class="league-name">
284
- Bronze
285
- </div>
286
-
287
- <div id="best-finish-SOLO" style="display: none">
288
- <div>
289
- <strong>Highest Career Finish:</strong> Bronze<br />
290
-
291
-
292
-
293
- <strong>Current League:</strong> Bronze<br />
294
- </div>
295
- </div>
296
- </div>
297
-
298
-
299
-
300
-
301
-
302
- <div class="badge-item" data-tooltip="#best-finish-TEAM">
303
-
304
- <div class="badge">
305
-
306
- <span class="badge badge-silver badge-medium-1">
307
- </span>
308
- </div>
309
- <div class="mode">TEAM</div>
310
- <div class="league-name">
311
- Silver
312
- </div>
313
-
314
- <div id="best-finish-TEAM" style="display: none">
315
- <div>
316
- <strong>Highest Career Finish:</strong> Silver<br />
317
-
318
-
319
-
320
- <strong>Current League:</strong> Silver<br />
321
- </div>
322
- </div>
323
- </div>
324
-
325
- <br />
326
-
327
-
328
-
329
- <div class="badge-item campaign">
330
- <div class="badge unearned"></div>
331
- <div class="mode">Wings of Liberty</div>
332
- <div class="rank">Campaign Not Complete</div>
333
- </div>
334
-
335
- <span class="clear"><!-- --></span>
336
- </div>
337
- </div>
338
-
339
- <span class="clear"><!-- --></span>
340
- </div>
341
- </div>
342
- </div>
343
-
344
- <div class="profile-module single">
345
- <div class="module-top">
346
- <div class="module-bot">
347
- <div class="module-left">
348
- <div class="module-title">
349
- <h3 class="title-shield">Achievements</h3>
350
- </div>
351
-
352
- <div class="module-body" id="top-achievements">
353
-
354
-
355
-
356
- <div class="progress-tile">
357
- <a href="achievements/category/3211280" class="progress-link">
358
- <span class="portrait-a">
359
-
360
-
361
-
362
-
363
-
364
-
365
- <span class="icon-frame "
366
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v42') -600px -375px no-repeat; width: 75px; height: 75px;">
367
-
368
- </span>
369
-
370
- <span class="clear"><!-- --></span>
371
- </span>
372
-
373
- Liberty Campaign
374
- </a>
375
-
376
-
377
-
378
- <div class="achievements-progress">
379
- <div class="progress-wrapper">
380
- <div class="progress-bar" style="width: 11.0062893082%"></div>
381
- </div>
382
-
383
- <span>175</span>
384
- </div>
385
- </div>
386
-
387
-
388
- <div class="progress-tile">
389
- <a href="achievements/category/4325398" class="progress-link">
390
- <span class="portrait-a">
391
-
392
-
393
-
394
-
395
-
396
-
397
- <span class="icon-frame "
398
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v42') -300px -375px no-repeat; width: 75px; height: 75px;">
399
-
400
- </span>
401
-
402
- <span class="clear"><!-- --></span>
403
- </span>
404
-
405
- Exploration
406
- </a>
407
-
408
-
409
-
410
- <div class="achievements-progress">
411
- <div class="progress-wrapper">
412
- <div class="progress-bar" style="width: 10.4166666667%"></div>
413
- </div>
414
-
415
- <span>50</span>
416
- </div>
417
- </div>
418
-
419
-
420
- <div class="progress-tile">
421
- <a href="achievements/category/4325392" class="progress-link">
422
- <span class="portrait-a">
423
-
424
-
425
-
426
-
427
-
428
-
429
- <span class="icon-frame "
430
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v42') -150px -525px no-repeat; width: 75px; height: 75px;">
431
-
432
- </span>
433
-
434
- <span class="clear"><!-- --></span>
435
- </span>
436
-
437
- Custom Game
438
- </a>
439
-
440
-
441
-
442
- <div class="achievements-progress">
443
- <div class="progress-wrapper">
444
- <div class="progress-bar" style="width: 0%"></div>
445
- </div>
446
-
447
- <span>0</span>
448
- </div>
449
- </div>
450
-
451
-
452
- <div class="progress-tile">
453
- <a href="achievements/category/4325386" class="progress-link">
454
- <span class="portrait-a">
455
-
456
-
457
-
458
-
459
-
460
-
461
- <span class="icon-frame "
462
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v42') -525px -450px no-repeat; width: 75px; height: 75px;">
463
-
464
- </span>
465
-
466
- <span class="clear"><!-- --></span>
467
- </span>
468
-
469
- Cooperative
470
- </a>
471
-
472
-
473
-
474
- <div class="achievements-progress">
475
- <div class="progress-wrapper">
476
- <div class="progress-bar" style="width: 0%"></div>
477
- </div>
478
-
479
- <span>0</span>
480
- </div>
481
- </div>
482
-
483
-
484
- <div class="progress-tile">
485
- <a href="achievements/category/4325378" class="progress-link">
486
- <span class="portrait-a">
487
-
488
-
489
-
490
-
491
-
492
-
493
- <span class="icon-frame "
494
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v42') -225px -450px no-repeat; width: 75px; height: 75px;">
495
-
496
- </span>
497
-
498
- <span class="clear"><!-- --></span>
499
- </span>
500
-
501
- Quick Match
502
- </a>
503
-
504
-
505
-
506
- <div class="achievements-progress">
507
- <div class="progress-wrapper">
508
- <div class="progress-bar" style="width: 5.7471264368%"></div>
509
- </div>
510
-
511
- <span>50</span>
512
- </div>
513
- </div>
514
-
515
- <span class="clear"><!-- --></span>
516
- </div>
517
- </div>
518
-
519
- <div class="module-right">
520
- <div class="module-title">
521
- <h3 class="title-trophy">Showcase</h3>
522
- </div>
523
-
524
- <div class="module-body" id="achievement-showcase">
525
-
526
- <div id="showcase-wrapper">
527
-
528
- <div class="showcase-tile">
529
- <a class="showcase-image" href="/sc2/en/profile/3513522/1/Heritic/achievements/category/4325378">
530
- <span class="portrait-a">
531
-
532
-
533
- <span class="icon-frame "
534
- style="background: url('/sc2/static/local-common/images/sc2/achievements/4-75.jpg?v42') -75px -450px no-repeat; width: 75px; height: 75px;">
535
-
536
- </span>
537
-
538
- <span class="clear"><!-- --></span>
539
- </span>
540
- Solo Hot Streak 3
541
- </a>
542
-
543
- <p>Win 3 1v1 league Quick Match games in a row.</p>
544
- </div>
545
-
546
- <div class="showcase-tile" style="display: none">
547
- <a class="showcase-image" href="/sc2/en/profile/3513522/1/Heritic/achievements/category/4325400">
548
- <span class="portrait-a">
549
-
550
-
551
- <span class="icon-frame "
552
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v42') -75px -375px no-repeat; width: 75px; height: 75px;">
553
-
554
- </span>
555
-
556
- <span class="clear"><!-- --></span>
557
- </span>
558
- Flying Solo
559
- </a>
560
-
561
- <p>Win 5 1v1 league Quick Match games.</p>
562
- </div>
563
-
564
- <div class="showcase-tile" style="display: none">
565
- <a class="showcase-image" href="/sc2/en/profile/3513522/1/Heritic/achievements/category/4325399">
566
- <span class="portrait-a">
567
-
568
-
569
- <span class="icon-frame "
570
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v42') -375px -300px no-repeat; width: 75px; height: 75px;">
571
-
572
- </span>
573
-
574
- <span class="clear"><!-- --></span>
575
- </span>
576
- Qualified For Action
577
- </a>
578
-
579
- <p>Play enough qualifying games to get placed in a Quick Match league.</p>
580
- </div>
581
-
582
- <div class="showcase-tile" style="display: none">
583
- <a class="showcase-image" href="/sc2/en/profile/3513522/1/Heritic/achievements/category/3211271">
584
- <span class="portrait-a">
585
-
586
-
587
- <span class="icon-frame "
588
- style="background: url('/sc2/static/local-common/images/sc2/achievements/3-75.jpg?v42') -0px -225px no-repeat; width: 75px; height: 75px;">
589
-
590
- </span>
591
-
592
- <span class="clear"><!-- --></span>
593
- </span>
594
- Meatgrinder
595
- </a>
596
-
597
- <p>Kill 50 supply worth of units within 15 seconds in a Melee game.</p>
598
- </div>
599
-
600
- <div class="showcase-tile" style="display: none">
601
- <a class="showcase-image" href="/sc2/en/profile/3513522/1/Heritic/achievements/category/4325399">
602
- <span class="portrait-a">
603
-
604
-
605
-
606
- <span class="icon-frame "
607
- style="background: url('/sc2/static/local-common/images/sc2/achievements/1-75.jpg?v42') -300px 0px no-repeat; width: 75px; height: 75px;">
608
-
609
- </span>
610
-
611
- <span class="clear"><!-- --></span>
612
- </span>
613
- Custom Game Terran
614
- </a>
615
-
616
- <p>Win 3 solo evenly matched Custom Games as Terran against any A.I. opponents.</p>
617
- </div>
618
- </div>
619
-
620
- <a href="javascript:;" class="showcase-arrow left" onclick="return Sc2.rotateShowcase(-1);">&#160;</a>
621
- <a href="javascript:;" class="showcase-arrow right" onclick="return Sc2.rotateShowcase(1);">&#160;</a>
622
-
623
- <script type="text/javascript">
624
- //<![CDATA[
625
- $(function() {
626
- Sc2.beginShowcaseRotation();
627
- });
628
- //]]>
629
- </script>
630
- </div>
631
- </div>
632
-
633
- <span class="clear"><!-- --></span>
634
-
635
- <div class="module-footer">
636
- <a href="achievements/">More Achievements</a>
637
- </div>
638
- </div>
639
- </div>
640
- </div>
641
-
642
- <span class="clear"><!-- --></span>
643
-
644
- </div>
645
-
646
- <span class="clear"><!-- --></span>
647
- </div>
648
- </div>
649
- </div>
650
- </div>
651
- <div id="footer">
652
- <div id="sitemap" class="promotions">
653
- <div class="column">
654
- <h3 class="bnet">
655
- <a href="http://us.battle.net/" tabindex="100">Battle.net Home</a>
656
- </h3>
657
- <ul>
658
- <li><a href="http://us.battle.net/what-is/">What is Battle.net?</a></li>
659
- <li><a href="https://us.battle.net/account/management/get-a-game.html">Buy Games</a></li>
660
- <li><a href="https://us.battle.net/account/management/">Account</a></li>
661
- <li><a href="http://us.battle.net/support/">Support</a></li>
662
- <li><a href="http://us.battle.net/realid/">Real ID</a></li>
663
- <li><a href="http://us.battle.net/battletag/">BattleTag</a></li>
664
- </ul>
665
- </div>
666
- <div class="column">
667
- <h3 class="games">
668
- <a href="http://us.battle.net/" tabindex="100">Games</a>
669
- </h3>
670
- <ul>
671
- <li><a href="http://us.battle.net/sc2/">StarCraft II™</a></li>
672
- <li><a href="http://us.battle.net/wow/">World of Warcraft™</a></li>
673
- <li><a href="http://us.battle.net/d3/">Diablo III™</a></li>
674
- <li><a href="http://us.battle.net/games/classic">Classic Games</a></li>
675
- <li><a href="https://us.battle.net/account/download/">Game Client Downloads</a></li>
676
- </ul>
677
- </div>
678
- <div class="column">
679
- <h3 class="account">
680
- <a href="https://us.battle.net/account/management/" tabindex="100">Account</a>
681
- </h3>
682
- <ul>
683
- <li><a href="https://us.battle.net/account/support/login-support.html">Can’t log in?</a></li>
684
- <li><a href="https://us.battle.net/account/creation/tos.html">Create Account</a></li>
685
- <li><a href="https://us.battle.net/account/management/">Account Summary</a></li>
686
- <li><a href="https://us.battle.net/account/management/authenticator.html">Account Security</a></li>
687
- <li><a href="https://us.battle.net/account/management/add-game.html">Add a Game</a></li>
688
- <li><a href="https://us.battle.net/account/management/redemption/redeem.html">Redeem Promo Codes</a></li>
689
- </ul>
690
- </div>
691
- <div class="column">
692
- <h3 class="support">
693
- <a href="http://us.battle.net/support/" tabindex="100">Support</a>
694
- </h3>
695
- <ul>
696
- <li><a href="http://us.battle.net/support/">Support Articles</a></li>
697
- <li><a href="https://us.battle.net/account/parental-controls/index.html">Parental Controls</a></li>
698
- <li><a href="http://us.battle.net/security/">Protect Your Account</a></li>
699
- <li><a href="http://us.battle.net/security/help">Help! I got hacked!</a></li>
700
- </ul>
701
- </div>
702
- <div id="footer-promotions">
703
- <div class="sidebar-content"></div>
704
- <div id="sidebar-marketing" class="sidebar-module">
705
- <div class="bnet-offer">
706
- <!-- -->
707
- <div class="bnet-offer-bg">
708
- <a href="https://us.battle.net/account/activation/landing.html?product=S2&amp;key&amp;purchase" target="_blank" id="ad5207109" class="bnet-offer-image" onclick="BnetAds.trackEvent('5207109', 'SCIIdig', 'sc2', true);">
709
- <img src="http://us.media2.battle.net/cms/ad_300x100/ZNB918LXVJ251309281567042.jpg" width="300" height="100" alt=""/>
710
- </a>
711
- </div>
712
- <script type="text/javascript">
713
- //<![CDATA[
714
- if(typeof (BnetAds.addEvent) != "undefined" )
715
- BnetAds.addEvent(window, 'load', function(){ BnetAds.trackEvent('5207109', 'SCIIdig', 'sc2'); } );
716
- else
717
- BnetAds.trackEvent('5207109', 'SCIIdig', 'sc2');
718
- //]]>
719
- </script>
720
- </div>
721
- </div>
722
- </div>
723
- <span class="clear"><!-- --></span>
724
- </div>
725
- <div id="copyright">
726
- <a href="javascript:;" tabindex="100" id="change-language">
727
- <span>Americas - English (US)</span>
728
- </a>
729
- <span>©2012 Blizzard Entertainment, Inc. All rights reserved</span>
730
- <a target="_blank" href="http://us.blizzard.com/company/about/termsofuse.html" tabindex="100">Terms of Use</a>
731
- <a target="_blank" href="http://us.blizzard.com/company/legal/" tabindex="100">Legal</a>
732
- <a target="_blank" href="http://us.blizzard.com/company/about/privacy.html" tabindex="100">Privacy Policy</a>
733
- <a target="_blank" href="http://us.blizzard.com/company/about/infringementnotice.html" tabindex="100">Copyright Infringement</a>
734
- </div>
735
- <div id="international"></div>
736
- <div id="legal">
737
- <div id="legal-ratings" class="png-fix">
738
- <a rel="nofollow" class="truste-link" href="//privacy-policy.truste.com/click-with-confidence/ctv/en/us.battle.net/seal_m" target="_blank">
739
- <img class="legal-image" src="//privacy-policy.truste.com/certified-seal/wps/en/us.battle.net/seal_m.png" alt="Validate TRUSTe privacy certification"/>
740
- </a>
741
- <a rel="nofollow" target="_blank" href="http://www.esrb.org/ratings/ratings_guide.jsp">
742
- <img class="legal-image" alt="" src="/sc2/static/local-common/images/legal/us/esrb-teen-sc2.png" />
743
- </a>
744
- </div>
745
- <div id="blizzard" class="png-fix">
746
- <a href="http://blizzard.com" tabindex="100"><img src="/sc2/static/local-common/images/logos/blizz-sc2.png" alt="" /></a>
747
- </div>
748
- <span class="clear"><!-- --></span>
749
- </div>
750
- </div>
751
- <div id="service">
752
- <ul class="service-bar">
753
- <li class="service-cell service-home"><a href="http://us.battle.net/" tabindex="50" accesskey="1" title="Battle.net Home"> </a></li>
754
- <li class="service-cell service-welcome">
755
- <a href="?login" onclick="return Login.open()">Log in</a> or <a href="https://us.battle.net/account/creation/tos.html">Create an Account</a>
756
- </li>
757
- <li class="service-cell service-account"><a href="https://us.battle.net/account/management/" class="service-link" tabindex="50" accesskey="3">Account</a></li>
758
- <li class="service-cell service-support service-support-enhanced">
759
- <a href="#support" class="service-link service-link-dropdown" tabindex="50" accesskey="4" id="support-link" onclick="return false" style="cursor: progress" rel="javascript">Support<span class="no-support-tickets" id="support-ticket-count"></span></a>
760
- <div class="support-menu" id="support-menu" style="display:none;">
761
- <div class="support-primary">
762
- <ul class="support-nav">
763
- <li>
764
- <a href="http://us.battle.net/support/" tabindex="55" class="support-category">
765
- <strong class="support-caption">Knowledge Center</strong>
766
- Browse our support articles
767
- </a>
768
- </li>
769
- <li>
770
- <a href="https://us.battle.net/support/ticket/status" tabindex="55" class="support-category">
771
- <strong class="support-caption">Your Support Tickets</strong>
772
- View your active tickets (login required).
773
- </a>
774
- </li>
775
- </ul>
776
- <span class="clear"><!-- --></span>
777
- </div>
778
- <div class="support-secondary"></div>
779
- <!--[if IE 6]> <iframe id="support-shim" src="javascript:false;" frameborder="0" scrolling="no" style="display: block; position: absolute; top: 0; left: 9px; width: 297px; height: 400px; z-index: -1;"></iframe>
780
- <script type="text/javascript">
781
- //<![CDATA[
782
- (function(){
783
- var doc = document;
784
- var shim = doc.getElementById('support-shim');
785
- shim.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
786
- shim.style.display = 'block';
787
- })();
788
- //]]>
789
- </script>
790
- <![endif]-->
791
- </div>
792
- </li>
793
- <li class="service-cell service-explore">
794
- <a href="#explore" tabindex="50" accesskey="5" class="dropdown" id="explore-link" onclick="return false" style="cursor: progress" rel="javascript">Explore</a>
795
- <div class="explore-menu" id="explore-menu" style="display:none;">
796
- <div class="explore-primary">
797
- <ul class="explore-nav">
798
- <li>
799
- <a href="http://us.battle.net/" tabindex="55" data-label="Home">
800
- <strong class="explore-caption">Battle.net Home</strong>
801
- Connect. Play. Unite.
802
- </a>
803
- </li>
804
- <li>
805
- <a href="https://us.battle.net/account/management/" tabindex="55" data-label="Account">
806
- <strong class="explore-caption">Account</strong>
807
- Manage your Account
808
- </a>
809
- </li>
810
- <li>
811
- <a href="http://us.battle.net/support/" tabindex="55" data-label="Support">
812
- <strong class="explore-caption">Support</strong>
813
- Get Support and explore the knowledgebase.
814
- </a>
815
- </li>
816
- <li>
817
- <a href="https://us.battle.net/account/management/get-a-game.html" tabindex="55" data-label="Buy Games">
818
- <strong class="explore-caption">Buy Games</strong>
819
- Digital Games for Download
820
- </a>
821
- </li>
822
- </ul>
823
- <div class="explore-links">
824
- <h2 class="explore-caption">More</h2>
825
- <ul>
826
- <li><a href="http://us.battle.net/what-is/" tabindex="55" data-label="More">What is Battle.net?</a></li>
827
- <li><a href="https://us.battle.net/account/parental-controls/index.html" tabindex="55" data-label="More">Parental Controls</a></li>
828
- <li><a href="http://us.battle.net/security/" tabindex="55" data-label="More">Account Security</a></li>
829
- <li><a href="https://us.battle.net/account/management/add-game.html" tabindex="55" data-label="More">Add a Game</a></li>
830
- <li><a href="https://us.battle.net/account/support/password-reset.html" tabindex="55" data-label="More">Can’t log in?</a></li>
831
- <li><a href="https://us.battle.net/account/download/" tabindex="55" data-label="More">Game Client Downloads</a></li>
832
- <li><a href="https://us.battle.net/account/management/redemption/redeem.html" tabindex="55" data-label="More">Redeem Promo Codes</a></li>
833
- <li><a href="http://us.battle.net/games/classic" tabindex="55" data-label="More">Classic Games</a></li>
834
- </ul>
835
- </div>
836
- <span class="clear"><!-- --></span>
837
- <!--[if IE 6]> <iframe id="explore-shim" src="javascript:false;" frameborder="0" scrolling="no" style="display: block; position: absolute; top: 0; left: 9px; width: 409px; height: 400px; z-index: -1;"></iframe>
838
- <script type="text/javascript">
839
- //<![CDATA[
840
- (function(){
841
- var doc = document;
842
- var shim = doc.getElementById('explore-shim');
843
- shim.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
844
- shim.style.display = 'block';
845
- })();
846
- //]]>
847
- </script>
848
- <![endif]-->
849
- </div>
850
- <ul class="explore-secondary">
851
- <li class="explore-game explore-game-sc2">
852
- <a href="http://us.battle.net/sc2/" tabindex="55" data-label="Game - sc2">
853
- <span class="explore-game-inner">
854
- <strong class="explore-caption">StarCraft II™</strong>
855
- <span>News &amp; Forums</span> <span>Beginner’s Guide</span> <span>Player Profiles</span>
856
- </span>
857
- </a>
858
- </li>
859
- <li class="explore-game explore-game-wow">
860
- <a href="http://us.battle.net/wow/" tabindex="55" data-label="Game - wow">
861
- <span class="explore-game-inner">
862
- <strong class="explore-caption">World of Warcraft™</strong>
863
- <span>Character Profiles</span> <span>News &amp; Forums</span> <span>Game Guide</span>
864
- </span>
865
- </a>
866
- </li>
867
- <li class="explore-game explore-game-d3">
868
- <a href="http://us.battle.net/d3/" tabindex="55" data-label="Game - d3">
869
- <span class="explore-game-inner">
870
- <strong class="explore-caption">Diablo III™</strong>
871
- <span>Game Guide</span> <span>News</span> <span>Forums</span>
872
- </span>
873
- </a>
874
- </li>
875
- </ul>
876
- </div>
877
- </li>
878
- </ul>
879
- <div id="warnings-wrapper">
880
- <script type="text/javascript">
881
- //<![CDATA[
882
- $(function() {
883
- App.saveCookie('html5Warning');
884
- App.resetCookie('browserWarning');
885
- });
886
- //]]>
887
- </script>
888
- <!--[if lt IE 8]> <div id="browser-warning" class="warning warning-red">
889
- <div class="warning-inner2">
890
- You are using an outdated web browser.<br />
891
- <a href="http://us.blizzard.com/support/article/browserupdate">Upgrade</a> or <a href="http://www.google.com/chromeframe/?hl=en-US" id="chrome-frame-link">install Google Chrome Frame</a>.
892
- <a href="#close" class="warning-close" onclick="App.closeWarning('#browser-warning', 'browserWarning'); return false;"></a>
893
- </div>
894
- </div>
895
- <![endif]-->
896
- <!--[if lt IE 8]> <script type="text/javascript" src="/sc2/static/local-common/js/third-party/CFInstall.min.js?v42"></script>
897
- <script type="text/javascript">
898
- //<![CDATA[
899
- $(function() {
900
- var age = 365 * 24 * 60 * 60 * 1000;
901
- var src = 'https://www.google.com/chromeframe/?hl=en-US';
902
- if ('http:' == document.location.protocol) {
903
- src = 'http://www.google.com/chromeframe/?hl=en-US';
904
- }
905
- document.cookie = "disableGCFCheck=0;path=/;max-age="+age;
906
- $('#chrome-frame-link').bind({
907
- 'click': function() {
908
- App.closeWarning('#browser-warning');
909
- CFInstall.check({
910
- mode: 'overlay',
911
- url: src
912
- });
913
- return false;
914
- }
915
- });
916
- });
917
- //]]>
918
- </script>
919
- <![endif]-->
920
- <noscript>
921
- <div id="javascript-warning" class="warning warning-red">
922
- <div class="warning-inner2">
923
- JavaScript must be enabled to use this site.
924
- </div>
925
- </div>
926
- </noscript>
927
- </div>
928
- </div>
929
- </div><script type="text/javascript" src="/sc2/static/local-common/js/search.js?v42"></script>
930
- <script type="text/javascript">
931
- //<![CDATA[
932
- var xsToken = '';
933
- var supportToken = '';
934
- var Msg = {
935
- support: {
936
- ticketNew: 'Ticket {0} was created.',
937
- ticketStatus: 'Ticket {0}’s status changed to {1}.',
938
- ticketOpen: 'Open',
939
- ticketAnswered: 'Answered',
940
- ticketResolved: 'Resolved',
941
- ticketCanceled: 'Canceled',
942
- ticketArchived: 'Archived',
943
- ticketInfo: 'Need Info',
944
- ticketAll: 'View All Tickets'
945
- },
946
- cms: {
947
- requestError: 'Your request cannot be completed.',
948
- ignoreNot: 'Not ignoring this user',
949
- ignoreAlready: 'Already ignoring this user',
950
- stickyRequested: 'Sticky requested',
951
- stickyHasBeenRequested: 'You have already sent a sticky request for this topic.',
952
- postAdded: 'Post added to tracker',
953
- postRemoved: 'Post removed from tracker',
954
- userAdded: 'User added to tracker',
955
- userRemoved: 'User removed from tracker',
956
- validationError: 'A required field is incomplete',
957
- characterExceed: 'The post body exceeds XXXXXX characters.',
958
- searchFor: "Search for",
959
- searchTags: "Articles tagged:",
960
- characterAjaxError: "You may have become logged out. Please refresh the page and try again.",
961
- ilvl: "Level {0}",
962
- shortQuery: "Search requests must be at least three characters long."
963
- },
964
- bml: {
965
- bold: 'Bold',
966
- italics: 'Italics',
967
- underline: 'Underline',
968
- list: 'Unordered List',
969
- listItem: 'List Item',
970
- quote: 'Quote',
971
- quoteBy: 'Posted by {0}',
972
- unformat: 'Remove Formating',
973
- cleanup: 'Fix Linebreaks',
974
- code: 'Code Blocks',
975
- item: 'WoW Item',
976
- itemPrompt: 'Item ID:',
977
- url: 'URL',
978
- urlPrompt: 'URL Address:'
979
- },
980
- ui: {
981
- submit: 'Submit',
982
- cancel: 'Cancel',
983
- reset: 'Reset',
984
- viewInGallery: 'View in gallery',
985
- loading: 'Loading…',
986
- unexpectedError: 'An error has occurred',
987
- fansiteFind: 'Find this on…',
988
- fansiteFindType: 'Find {0} on…',
989
- fansiteNone: 'No fansites available.'
990
- },
991
- grammar: {
992
- colon: '{0}:',
993
- first: 'First',
994
- last: 'Last'
995
- },
996
- fansite: {
997
- achievement: 'achievement',
998
- character: 'character',
999
- faction: 'faction',
1000
- 'class': 'class',
1001
- object: 'object',
1002
- talentcalc: 'talents',
1003
- skill: 'profession',
1004
- quest: 'quest',
1005
- spell: 'spell',
1006
- event: 'event',
1007
- title: 'title',
1008
- arena: 'arena team',
1009
- guild: 'guild',
1010
- zone: 'zone',
1011
- item: 'item',
1012
- race: 'race',
1013
- npc: 'NPC',
1014
- pet: 'pet'
1015
- },
1016
- search: {
1017
- kb: 'Support',
1018
- post: 'Forums',
1019
- article: 'Blog Articles',
1020
- static: 'General Content',
1021
- wowcharacter: 'Characters',
1022
- wowitem: 'Items',
1023
- wowguild: 'Guilds',
1024
- wowarenateam: 'Arena Teams',
1025
- url: 'Suggested Links',
1026
- other: 'Other'
1027
- }
1028
- };
1029
- //]]>
1030
- </script>
1031
- <script type="text/javascript">
1032
- //<![CDATA[
1033
- Core.load("/sc2/static/local-common/js/third-party/jquery-ui-1.8.6.custom.min.js?v42");
1034
- Core.load("/sc2/static/local-common/js/login.js?v42", false, function() {
1035
- Login.embeddedUrl = 'https://us.battle.net/login/login.frag';
1036
- });
1037
- //]]>
1038
- </script>
1039
- <script type="text/javascript" src="/sc2/static/local-common/js/menu.js?v42"></script>
1040
- <script type="text/javascript" src="/sc2/static/js/sc2.js?v21"></script>
1041
- <!--[if IE 6]> <script type="text/javascript" src="/sc2/static/local-common/js/third-party/DD_belatedPNG.js?v42"></script>
1042
- <script type="text/javascript">
1043
- //<![CDATA[
1044
- DD_belatedPNG.fix('.icon');
1045
- //]]>
1046
- </script>
1047
- <![endif]-->
1048
- <script type="text/javascript">
1049
- //<![CDATA[
1050
- $(function(){
1051
- Menu.initialize('/data/menu.json?v42');
1052
- Search.initialize('/sc2/en/search/ta');
1053
- Tooltip.options.useTable = true;
1054
- });
1055
- //]]>
1056
- </script>
1057
- <!--[if lt IE 8]> <script type="text/javascript" src="/sc2/static/local-common/js/third-party/jquery.pngFix.pack.js?v42"></script>
1058
- <script type="text/javascript">
1059
- //<![CDATA[
1060
- $('.png-fix').pngFix(); //]]>
1061
- </script>
1062
- <![endif]-->
1063
- <script type="text/javascript">
1064
- //<![CDATA[
1065
- (function() {
1066
- var ga = document.createElement('script');
1067
- var src = "https://ssl.google-analytics.com/ga.js";
1068
- if ('http:' == document.location.protocol) {
1069
- src = "http://www.google-analytics.com/ga.js";
1070
- }
1071
- ga.type = 'text/javascript';
1072
- ga.setAttribute('async', 'true');
1073
- ga.src = src;
1074
- var s = document.getElementsByTagName('script');
1075
- s = s[s.length-1];
1076
- s.parentNode.insertBefore(ga, s.nextSibling);
1077
- })();
1078
- //]]>
1079
- </script>
1080
- </body>
1081
- </html>
1082
-