bnet_scraper 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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
-