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
@@ -3,14 +3,21 @@ require 'spec_helper'
3
3
  describe BnetScraper::Starcraft2::Status do
4
4
  describe 'Each supported region' do
5
5
  it 'should be online' do
6
- BnetScraper::Starcraft2::Status.na.should == 'Online'
7
- BnetScraper::Starcraft2::Status.eu.should == 'Online'
8
- BnetScraper::Starcraft2::Status.sea.should == 'Online'
9
- BnetScraper::Starcraft2::Status.fea.should == 'Online'
6
+ VCR.use_cassette('realm_status') do
7
+ BnetScraper::Starcraft2::Status.na.should == 'Online'
8
+ BnetScraper::Starcraft2::Status.eu.should == 'Offline'
9
+ BnetScraper::Starcraft2::Status.sea.should == 'Online'
10
+ BnetScraper::Starcraft2::Status.fea.should == 'Online'
11
+ end
10
12
  end
11
13
  end
12
14
 
15
+
13
16
  describe 'China' do
14
- BnetScraper::Starcraft2::Status.cn.should == nil
17
+ it 'should be nil' do
18
+ VCR.use_cassette('realm_status') do
19
+ BnetScraper::Starcraft2::Status.cn.should == nil
20
+ end
21
+ end
15
22
  end
16
23
  end
@@ -2,50 +2,33 @@ require 'spec_helper'
2
2
 
3
3
  describe BnetScraper::Starcraft2 do
4
4
  describe '#full_profile_scrape' do
5
- it 'should return the fully scraped profile with league data' do
6
- expected = {
7
- :bnet_id=>"2377239",
8
- :account=>"Demon",
9
- :bnet_index=>1,
10
- :race=>"Protoss",
11
- :career_games => '1568',
12
- :games_this_season => '0',
13
- :most_played => '4v4',
14
- :current_solo_league => 'Not Yet Ranked',
15
- :highest_solo_league => 'Platinum',
16
- :current_team_league => 'Not Yet Ranked',
17
- :highest_team_league => 'Diamond',
18
- :achievement_points => '3660',
19
- :portrait => 'Mohandar',
20
- :leagues=>[
21
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
22
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
23
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
24
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
25
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
26
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
27
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
28
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
29
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
30
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
31
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"},
32
- {:season=>"6", :size=>"4v4", :name=>"Aleksander Pepper", :division=>"Diamond", :random=>false, :bnet_id=>"2377239", :account=>"Demon"}
33
- ]
34
- }
35
- actual = BnetScraper::Starcraft2.full_profile_scrape('2377239', 'Demon')
36
- actual.should == expected
5
+ subject do
6
+ VCR.use_cassette('full_demon_scrape') do
7
+ BnetScraper::Starcraft2.full_profile_scrape('2377239', 'Demon')
8
+ end
37
9
  end
10
+
11
+ it { should be_instance_of BnetScraper::Starcraft2::Profile }
12
+ its(:leagues) { should have(8).leagues }
13
+ its(:achievements) { should have_key :progress }
14
+ its(:achievements) { should have_key :showcase }
15
+ its(:achievements) { should have_key :recent }
16
+ its(:match_history) { should have(25).matches }
38
17
  end
39
18
 
40
19
  describe '#valid_profile?' do
41
20
  it 'should return true on valid profile' do
42
- result = BnetScraper::Starcraft2.valid_profile? url: 'http://us.battle.net/sc2/en/profile/2377239/1/Demon/'
43
- result.should be_true
21
+ VCR.use_cassette('demon_profile') do
22
+ result = BnetScraper::Starcraft2.valid_profile? url: 'http://us.battle.net/sc2/en/profile/2377239/1/Demon/'
23
+ result.should be_true
24
+ end
44
25
  end
45
26
 
46
27
  it 'should return false on invalid profile' do
47
- result = BnetScraper::Starcraft2.valid_profile? url: 'http://us.battle.net/sc2/en/profile/2377239/1/SomeDude/'
48
- result.should be_false
28
+ VCR.use_cassette('invalid_profile') do
29
+ result = BnetScraper::Starcraft2.valid_profile? url: 'http://us.battle.net/sc2/en/profile/2377239/1/SomeDude/'
30
+ result.should be_false
31
+ end
49
32
  end
50
33
  end
51
34
  end
@@ -19,7 +19,12 @@ shared_examples 'an SC2 Scraper' do
19
19
  end
20
20
 
21
21
  context 'when bnet_id and account parameters are passed' do
22
- subject { scraper_class.new(bnet_id: '2377239', account: 'Demon') }
22
+ subject do
23
+ VCR.use_cassette('demon_profile') do
24
+ scraper_class.new(bnet_id: '2377239', account: 'Demon')
25
+ end
26
+ end
27
+
23
28
  it 'should set the bnet_id and account parameters' do
24
29
  subject.bnet_id.should == '2377239'
25
30
  subject.account.should == 'Demon'
@@ -30,9 +35,11 @@ shared_examples 'an SC2 Scraper' do
30
35
  end
31
36
 
32
37
  it 'should assign region if passed' do
33
- scraper_class.any_instance.should_receive(:set_bnet_index)
34
- scraper = scraper_class.new(bnet_id: '2377239', account: 'Demon', region: 'fea')
35
- scraper.region.should == 'fea'
38
+ VCR.use_cassette('demon_profile') do
39
+ scraper_class.any_instance.should_receive(:set_bnet_index)
40
+ scraper = scraper_class.new(bnet_id: '2377239', account: 'Demon', region: 'fea')
41
+ scraper.region.should == 'fea'
42
+ end
36
43
  end
37
44
 
38
45
  it 'should not call set_bnet_index if bnet_index is passed' do
@@ -41,8 +48,10 @@ shared_examples 'an SC2 Scraper' do
41
48
  end
42
49
 
43
50
  it 'should call set_bnet_index_if bnet_index is not passed' do
44
- scraper_class.any_instance.should_receive(:set_bnet_index)
45
- scraper = scraper_class.new(bnet_id: '2377239', account: 'Demon', region: 'fea')
51
+ VCR.use_cassette('demon_profile') do
52
+ scraper_class.any_instance.should_receive(:set_bnet_index)
53
+ scraper = scraper_class.new(bnet_id: '2377239', account: 'Demon', region: 'fea')
54
+ end
46
55
  end
47
56
  end
48
57
  end
@@ -55,8 +64,10 @@ shared_examples 'an SC2 Scraper' do
55
64
 
56
65
  describe '#set_bnet_index' do
57
66
  it 'should return the valid integer needed for a proper URL parse from bnet' do
58
- subject.set_bnet_index
59
- subject.bnet_index.should == 1
67
+ VCR.use_cassette('demon_profile') do
68
+ subject.set_bnet_index
69
+ subject.bnet_index.should == 1
70
+ end
60
71
  end
61
72
  end
62
73
 
@@ -72,15 +83,19 @@ shared_examples 'an SC2 Scraper' do
72
83
 
73
84
  describe '#valid?' do
74
85
  it 'should return true when profile is valid' do
75
- result = subject.valid?
76
- result.should be_true
86
+ VCR.use_cassette('demon_profile') do
87
+ result = subject.valid?
88
+ result.should be_true
89
+ end
77
90
  end
78
91
 
79
92
  it 'should return false when profile is invalid' do
80
- scraper = scraper_class.new(url: 'http://us.battle.net/sc2/en/profile/2377239/1/SomeDude/')
93
+ VCR.use_cassette('invalid_profile') do
94
+ scraper = scraper_class.new(url: 'http://us.battle.net/sc2/en/profile/2377239/1/SomeDude/')
81
95
 
82
- result = scraper.valid?
83
- result.should be_false
96
+ result = scraper.valid?
97
+ result.should be_false
98
+ end
84
99
  end
85
100
  end
86
101
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bnet_scraper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-24 00:00:00.000000000 Z
12
+ date: 2013-02-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &70113957192020 !ruby/object:Gem::Requirement
16
+ requirement: &70143359508840 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70113957192020
24
+ version_requirements: *70143359508840
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: faraday
27
- requirement: &70113957191500 !ruby/object:Gem::Requirement
27
+ requirement: &70143359508340 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70113957191500
35
+ version_requirements: *70143359508340
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70113957190940 !ruby/object:Gem::Requirement
38
+ requirement: &70143359507860 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70113957190940
46
+ version_requirements: *70143359507860
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70113957190320 !ruby/object:Gem::Requirement
49
+ requirement: &70143359507440 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70113957190320
57
+ version_requirements: *70143359507440
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: fakeweb
60
- requirement: &70113957189160 !ruby/object:Gem::Requirement
60
+ requirement: &70143359506980 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,29 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70113957189160
68
+ version_requirements: *70143359506980
69
+ - !ruby/object:Gem::Dependency
70
+ name: vcr
71
+ requirement: &70143359506560 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70143359506560
80
+ - !ruby/object:Gem::Dependency
81
+ name: pry
82
+ requirement: &70143359506140 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70143359506140
69
91
  description: BnetScraper is a Nokogiri-based scraper of Battle.net profile information.
70
92
  Currently this only includes Starcraft2.
71
93
  email:
@@ -84,35 +106,43 @@ files:
84
106
  - Rakefile
85
107
  - benchmarks/sc2_profile_parsing.rb
86
108
  - bnet_scraper.gemspec
109
+ - fixtures/vcr_cassettes/demon_achievements.yml
110
+ - fixtures/vcr_cassettes/demon_leagues.yml
111
+ - fixtures/vcr_cassettes/demon_match_history.yml
112
+ - fixtures/vcr_cassettes/demon_matches.yml
113
+ - fixtures/vcr_cassettes/demon_profile.yml
114
+ - fixtures/vcr_cassettes/demon_profile_leagues.yml
115
+ - fixtures/vcr_cassettes/full_demon_scrape.yml
116
+ - fixtures/vcr_cassettes/invalid_achievement.yml
117
+ - fixtures/vcr_cassettes/invalid_leagues.yml
118
+ - fixtures/vcr_cassettes/invalid_matches.yml
119
+ - fixtures/vcr_cassettes/invalid_profile.yml
120
+ - fixtures/vcr_cassettes/new_league.yml
121
+ - fixtures/vcr_cassettes/profile_invalid.yml
122
+ - fixtures/vcr_cassettes/profile_not_laddered.yml
123
+ - fixtures/vcr_cassettes/realm_status.yml
87
124
  - lib/bnet_scraper.rb
88
125
  - lib/bnet_scraper/starcraft2.rb
89
126
  - lib/bnet_scraper/starcraft2/achievement_scraper.rb
90
127
  - lib/bnet_scraper/starcraft2/base_scraper.rb
128
+ - lib/bnet_scraper/starcraft2/league.rb
91
129
  - lib/bnet_scraper/starcraft2/league_scraper.rb
130
+ - lib/bnet_scraper/starcraft2/match.rb
92
131
  - lib/bnet_scraper/starcraft2/match_history_scraper.rb
132
+ - lib/bnet_scraper/starcraft2/profile.rb
93
133
  - lib/bnet_scraper/starcraft2/profile_scraper.rb
94
134
  - lib/bnet_scraper/starcraft2/status_scraper.rb
95
135
  - spec/spec_helper.rb
96
136
  - spec/starcraft2/achievement_scraper_spec.rb
97
137
  - spec/starcraft2/base_scraper_spec.rb
98
138
  - spec/starcraft2/league_scraper_spec.rb
139
+ - spec/starcraft2/league_spec.rb
99
140
  - spec/starcraft2/match_history_scraper_spec.rb
100
141
  - spec/starcraft2/profile_scraper_spec.rb
142
+ - spec/starcraft2/profile_spec.rb
101
143
  - spec/starcraft2/status_scraper_spec.rb
102
144
  - spec/starcraft2_spec.rb
103
- - spec/support/achievements.html
104
- - spec/support/failure.html
105
- - spec/support/initial_league.html
106
- - spec/support/initial_leagues.html
107
- - spec/support/league.html
108
- - spec/support/leagues.html
109
- - spec/support/load_fakeweb.rb
110
- - spec/support/matches.html
111
- - spec/support/no_ladder.html
112
- - spec/support/no_ladder_leagues.html
113
- - spec/support/profile.html
114
145
  - spec/support/shared/sc2_scraper.rb
115
- - spec/support/status.html
116
146
  homepage: https://github.com/agoragames/bnet_scraper/
117
147
  licenses: []
118
148
  post_install_message:
@@ -125,18 +155,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
155
  - - ! '>='
126
156
  - !ruby/object:Gem::Version
127
157
  version: '0'
128
- segments:
129
- - 0
130
- hash: 1434413349311613347
131
158
  required_rubygems_version: !ruby/object:Gem::Requirement
132
159
  none: false
133
160
  requirements:
134
161
  - - ! '>='
135
162
  - !ruby/object:Gem::Version
136
163
  version: '0'
137
- segments:
138
- - 0
139
- hash: 1434413349311613347
140
164
  requirements: []
141
165
  rubyforge_project:
142
166
  rubygems_version: 1.8.17
@@ -148,20 +172,11 @@ test_files:
148
172
  - spec/starcraft2/achievement_scraper_spec.rb
149
173
  - spec/starcraft2/base_scraper_spec.rb
150
174
  - spec/starcraft2/league_scraper_spec.rb
175
+ - spec/starcraft2/league_spec.rb
151
176
  - spec/starcraft2/match_history_scraper_spec.rb
152
177
  - spec/starcraft2/profile_scraper_spec.rb
178
+ - spec/starcraft2/profile_spec.rb
153
179
  - spec/starcraft2/status_scraper_spec.rb
154
180
  - spec/starcraft2_spec.rb
155
- - spec/support/achievements.html
156
- - spec/support/failure.html
157
- - spec/support/initial_league.html
158
- - spec/support/initial_leagues.html
159
- - spec/support/league.html
160
- - spec/support/leagues.html
161
- - spec/support/load_fakeweb.rb
162
- - spec/support/matches.html
163
- - spec/support/no_ladder.html
164
- - spec/support/no_ladder_leagues.html
165
- - spec/support/profile.html
166
181
  - spec/support/shared/sc2_scraper.rb
167
- - spec/support/status.html
182
+ has_rdoc:
@@ -1,1156 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
5
- <head xmlns:og="http://ogp.me/ns#" xmlns:fb="http://ogp.me/ns/fb#">
6
- <title>Achievements - Demon - StarCraft II</title>
7
- <meta content="false" http-equiv="imagetoolbar" />
8
- <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
9
- <link rel="shortcut icon" href="/sc2/static/local-common/images/favicons/sc2.ico" type="image/x-icon"/>
10
- <link rel="search" type="application/opensearchdescription+xml" href="http://us.battle.net/en-us/data/opensearch" title="Battle.net Search" />
11
- <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common.css?v39" />
12
- <!--[if IE]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common-ie.css?v39" />
13
- <![endif]-->
14
- <!--[if IE 6]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common-ie6.css?v39" />
15
- <![endif]-->
16
- <!--[if IE 7]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/local-common/css/common-ie7.css?v39" />
17
- <![endif]-->
18
- <link title="StarCraft II - News" href="/sc2/en/feed/news" type="application/atom+xml" rel="alternate"/>
19
- <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2.css?v19" />
20
- <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/profile/profile.css?v19" />
21
- <!--[if IE 6]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/profile/profile-ie6.css?v19" />
22
- <![endif]-->
23
- <!--[if IE]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2-ie.css?v19" />
24
- <![endif]-->
25
- <!--[if IE 6]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2-ie6.css?v19" />
26
- <![endif]-->
27
- <!--[if IE 7]> <link rel="stylesheet" type="text/css" media="all" href="/sc2/static/css/sc2-ie7.css?v19" />
28
- <![endif]-->
29
- <script type="text/javascript" src="/sc2/static/local-common/js/third-party/jquery.js?v39"></script>
30
- <script type="text/javascript" src="/sc2/static/local-common/js/core.js?v39"></script>
31
- <script type="text/javascript" src="/sc2/static/local-common/js/tooltip.js?v39"></script>
32
- <!--[if IE 6]> <script type="text/javascript">
33
- //<![CDATA[
34
- try { document.execCommand('BackgroundImageCache', false, true) } catch(e) {}
35
- //]]>
36
- </script>
37
- <![endif]-->
38
- <script type="text/javascript">
39
- //<![CDATA[
40
- Core.staticUrl = '/sc2/static';
41
- Core.sharedStaticUrl= '/sc2/static/local-common';
42
- Core.baseUrl = '/sc2/en';
43
- Core.projectUrl = '/sc2';
44
- Core.cdnUrl = 'http://us.media.blizzard.com';
45
- Core.supportUrl = 'http://us.battle.net/support/';
46
- Core.secureSupportUrl= 'https://us.battle.net/support/';
47
- Core.project = 'sc2';
48
- Core.locale = 'en-us';
49
- Core.language = 'en';
50
- Core.buildRegion = 'us';
51
- Core.region = 'us';
52
- Core.shortDateFormat= 'MM/dd/yyyy';
53
- Core.dateTimeFormat = 'MM/dd/yyyy hh:mm a';
54
- Core.loggedIn = false;
55
- Flash.videoPlayer = 'http://us.media.blizzard.com/global-video-player/themes/sc2/video-player.swf';
56
- Flash.videoBase = 'http://us.media.blizzard.com/sc2/media/videos';
57
- Flash.ratingImage = 'http://us.media.blizzard.com/global-video-player/ratings/sc2/en-us.jpg';
58
- Flash.expressInstall= 'http://us.media.blizzard.com/global-video-player/expressInstall.swf';
59
- var _gaq = _gaq || [];
60
- _gaq.push(['_setAccount', 'UA-544112-16']);
61
- _gaq.push(['_setDomainName', '.battle.net']);
62
- _gaq.push(['_setAllowLinker', true]);
63
- _gaq.push(['_trackPageview']);
64
- _gaq.push(['_trackPageLoadTime']);
65
- //]]>
66
- </script>
67
- <meta property="og:site_name" content="StarCraft II" />
68
- <meta property="og:title" content="Achievements - Demon - StarCraft II" />
69
- <meta property="og:image" content="http://us.media.blizzard.com/battle.net/logos/og-sc2.png" />
70
- <meta property="og:url" content="http://us.battle.net/sc2/en/profile/2377239/1/Demon/achievements/" />
71
- <meta property="og:type" content="website" />
72
- <meta property="og:locale" content="en_US" />
73
- <meta property="fb:admins" content="470332842321,433163104416"/>
74
- </head>
75
- <body class="en-us"><div id="wrapper">
76
- <div id="header">
77
- <div class="search-bar">
78
- <form action="/sc2/en/search" method="get" autocomplete="off">
79
- <div>
80
- <input type="text" class="search-field input" name="q" id="search-field" maxlength="200" tabindex="40" alt="Search StarCraft II" value="Search StarCraft II" />
81
- <input type="submit" class="search-button" value="" tabindex="41" />
82
- </div>
83
- </form>
84
- </div>
85
- <h1 id="logo"><a href="/sc2/en/">Battle.net</a></h1>
86
- <div id="header-plate">
87
- <ul class="menu" id="menu">
88
- <li class="menu-home">
89
- <a href="/sc2/en/">
90
- <span>Home</span>
91
- </a>
92
- </li>
93
- <li class="menu-game">
94
- <a href="/sc2/en/game/">
95
- <span>Game Guide</span>
96
- </a>
97
- </li>
98
- <li class="menu-community">
99
- <a href="/sc2/en/community/">
100
- <span>Community</span>
101
- </a>
102
- </li>
103
- <li class="menu-media">
104
- <a href="/sc2/en/media/">
105
- <span>Media</span>
106
- </a>
107
- </li>
108
- <li class="menu-forums">
109
- <a href="/sc2/en/forum/">
110
- <span>Forums</span>
111
- </a>
112
- </li>
113
- <li class="menu-services">
114
- <a href="/sc2/en/services/">
115
- <span>Services</span>
116
- </a>
117
- </li>
118
- </ul>
119
- <div id="user-plate" class="ajax-update">
120
- <div id="user-empty">
121
- <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.
122
- </div>
123
- </div>
124
- <ol class="ui-breadcrumb">
125
- <li>
126
- <a href="/sc2/en/" rel="np">
127
- StarCraft II
128
- </a>
129
- </li>
130
- <li>
131
- <a href="/sc2/en/profile/2377239/1/Demon/" rel="np">
132
- Demon
133
- </a>
134
- </li>
135
- <li class="last">
136
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/" rel="np">
137
- Achievements
138
- </a>
139
- </li>
140
- </ol>
141
- </div>
142
- </div>
143
- <div id="content">
144
- <div id="content-top">
145
- <div id="content-bot"> <div id="profile-wrapper">
146
- <div id="profile-header">
147
- <div id="portrait" onclick="Core.goTo('/sc2/en/profile/2377239/1/Demon/');">
148
-
149
-
150
- <span class="icon-frame "
151
- style="background: url('/sc2/static/local-common/images/sc2/portraits/1-90.jpg?v39') -270px -90px no-repeat; width: 90px; height: 90px;">
152
-
153
- </span>
154
-
155
- <div id="portrait-frame">&nbsp;</div>
156
- </div>
157
-
158
- <div id="current-decals">
159
- <div class="current-decal" data-tooltip="Zerg Decal">
160
-
161
-
162
- <span class="icon-frame "
163
- style="background: url('/sc2/static/local-common/images/sc2/decals/0-45.jpg?v39') -90px -270px no-repeat; width: 45px; height: 45px;">
164
-
165
- <a href="/sc2/en/profile/2377239/1/Demon/rewards/zerg-decals#reward-2359737029" style="height: 45px"> </a>
166
- </span>
167
- </div>
168
-
169
- <div class="current-decal" data-tooltip="Protoss Decal">
170
-
171
-
172
- <span class="icon-frame "
173
- style="background: url('/sc2/static/local-common/images/sc2/decals/0-45.jpg?v39') -270px -225px no-repeat; width: 45px; height: 45px;">
174
-
175
- <a href="/sc2/en/profile/2377239/1/Demon/rewards/protoss-decals#reward-979617312" style="height: 45px"> </a>
176
- </span>
177
- </div>
178
-
179
- <div class="current-decal" data-tooltip="Terran Decal">
180
-
181
-
182
- <span class="icon-frame "
183
- style="background: url('/sc2/static/local-common/images/sc2/decals/0-45.jpg?v39') 0px 0px no-repeat; width: 45px; height: 45px;">
184
-
185
- <a href="/sc2/en/profile/2377239/1/Demon/rewards/terran-decals#reward-18730036" style="height: 45px"> </a>
186
- </span>
187
- </div>
188
- </div>
189
-
190
- <h2><a href="/sc2/en/profile/2377239/1/Demon/">Demon</a></h2>
191
- <h3>3630</h3>
192
- </div>
193
-
194
- <div id="profile-left">
195
- <ul id="profile-menu">
196
- <li>
197
- <a href="/sc2/en/profile/2377239/1/Demon/">
198
-
199
-
200
- <span class="back"></span>
201
- Back <span>Profile</span>
202
- </a>
203
- </li>
204
- <li class="active">
205
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/">
206
-
207
-
208
- Achievements
209
- </a>
210
- </li>
211
- <li>
212
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/category/3211280">
213
- <span class="forward"></span>
214
-
215
- Liberty Campaign
216
- </a>
217
- </li>
218
- <li>
219
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/category/4325398">
220
- <span class="forward"></span>
221
-
222
- Exploration
223
- </a>
224
- </li>
225
- <li>
226
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/category/4325392">
227
- <span class="forward"></span>
228
-
229
- Custom Game
230
- </a>
231
- </li>
232
- <li>
233
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/category/4325386">
234
- <span class="forward"></span>
235
-
236
- Cooperative
237
- </a>
238
- </li>
239
- <li>
240
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/category/4325378">
241
- <span class="forward"></span>
242
-
243
- Quick Match
244
- </a>
245
- </li>
246
- <li>
247
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/category/3211270">
248
- <span class="forward"></span>
249
-
250
- Combat
251
- </a>
252
- </li>
253
- <li>
254
- <a href="/sc2/en/profile/2377239/1/Demon/achievements/category/4325394">
255
- <span class="forward"></span>
256
-
257
- Feats of Strength
258
- </a>
259
- </li>
260
- </ul>
261
-
262
-
263
- </div>
264
-
265
- <div id="profile-right">
266
-
267
- <div class="profile-module">
268
- <div class="module-top">
269
- <div class="module-bot">
270
- <div class="module-left">
271
- <div id="showcase-module">
272
- <div class="module-title">
273
- <h3 class="title-trophy">Showcase</h3>
274
- </div>
275
-
276
- <div class="module-body" style="padding-right: 0">
277
-
278
-
279
- <div class="progress-tile">
280
- <a href="category/4325394" data-tooltip="#achv-showcase-1">
281
- <span class="portrait-a">
282
-
283
-
284
- <span class="icon-frame "
285
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v39') -75px -600px no-repeat; width: 75px; height: 75px;">
286
-
287
- </span>
288
-
289
- <span class="clear"><!-- --></span>
290
- </span>
291
-
292
- Hot Shot
293
- </a>
294
-
295
- <div id="achv-showcase-1" style="display: none">
296
- <div class="tooltip-title">Hot Shot</div>
297
- Finish a Qualification Round with an undefeated record.
298
- </div>
299
- </div>
300
-
301
-
302
- <div class="progress-tile">
303
- <a href="category/3211279" data-tooltip="#achv-showcase-2">
304
- <span class="portrait-a">
305
-
306
-
307
- <span class="icon-frame "
308
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-75.jpg?v39') -75px -525px no-repeat; width: 75px; height: 75px;">
309
-
310
- </span>
311
-
312
- <span class="clear"><!-- --></span>
313
- </span>
314
-
315
- StarCraft Master
316
- </a>
317
-
318
- <div id="achv-showcase-2" style="display: none">
319
- <div class="tooltip-title">StarCraft Master</div>
320
- Complete all 30 rounds in “StarCraft Master&quot;.
321
- </div>
322
- </div>
323
-
324
-
325
- <div class="progress-tile">
326
- <a href="category/4325385" data-tooltip="#achv-showcase-3">
327
- <span class="portrait-a">
328
-
329
-
330
-
331
- <span class="icon-frame "
332
- style="background: url('/sc2/static/local-common/images/sc2/achievements/4-75.jpg?v39') -525px 0px no-repeat; width: 75px; height: 75px;">
333
-
334
- </span>
335
-
336
- <span class="clear"><!-- --></span>
337
- </span>
338
-
339
- Team Protoss 500
340
- </a>
341
-
342
- <div id="achv-showcase-3" style="display: none">
343
- <div class="tooltip-title">Team Protoss 500</div>
344
- Win 500 Team league Quick Match games as Protoss.
345
- </div>
346
- </div>
347
-
348
-
349
- <div class="progress-tile">
350
- <a href="category/3211279" data-tooltip="#achv-showcase-4">
351
- <span class="portrait-a">
352
-
353
-
354
- <span class="icon-frame "
355
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-75.jpg?v39') -375px -75px no-repeat; width: 75px; height: 75px;">
356
-
357
- </span>
358
-
359
- <span class="clear"><!-- --></span>
360
- </span>
361
-
362
- Night Of The Living III
363
- </a>
364
-
365
- <div id="achv-showcase-4" style="display: none">
366
- <div class="tooltip-title">Night Of The Living III</div>
367
- Survive 15 Infested Horde Attacks in the “Night 2 Die&quot; mode of the “Left 2 Die” scenario.
368
- </div>
369
- </div>
370
-
371
-
372
- <div class="progress-tile">
373
- <a href="category/4325394" data-tooltip="#achv-showcase-5">
374
- <span class="portrait-a">
375
-
376
-
377
- <span class="icon-frame "
378
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-75.jpg?v39') -225px -300px no-repeat; width: 75px; height: 75px;">
379
-
380
- </span>
381
-
382
- <span class="clear"><!-- --></span>
383
- </span>
384
-
385
- Team Top 100 Diamond
386
- </a>
387
-
388
- <div id="achv-showcase-5" style="display: none">
389
- <div class="tooltip-title">Team Top 100 Diamond</div>
390
- Finished a season in a Team Diamond Division.
391
- </div>
392
- </div>
393
-
394
-
395
- <span class="clear"><!-- --></span>
396
- </div>
397
- </div>
398
-
399
- <div id="progress-module">
400
- <div class="module-title">
401
- <h3 class="title-shield">Current Progress</h3>
402
- </div>
403
-
404
- <div class="module-body" style="padding-right: 0">
405
-
406
-
407
-
408
- <div class="progress-tile">
409
- <a href="category/3211280" class="progress-link">
410
- <span class="portrait-a">
411
-
412
-
413
-
414
- <span class="icon-frame "
415
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v39') -150px -450px no-repeat; width: 75px; height: 75px;">
416
-
417
- </span>
418
-
419
- <span class="clear"><!-- --></span>
420
- </span>
421
-
422
- Liberty Campaign
423
- </a>
424
-
425
-
426
-
427
- <div class="achievements-progress">
428
- <div class="progress-wrapper">
429
- <div class="progress-bar" style="width: 99.3710691824%"></div>
430
- </div>
431
-
432
- <span>1580</span>
433
- </div>
434
- </div>
435
-
436
-
437
- <div class="progress-tile">
438
- <a href="category/4325398" class="progress-link">
439
- <span class="portrait-a">
440
-
441
-
442
-
443
- <span class="icon-frame "
444
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v39') -525px -375px no-repeat; width: 75px; height: 75px;">
445
-
446
- </span>
447
-
448
- <span class="clear"><!-- --></span>
449
- </span>
450
-
451
- Exploration
452
- </a>
453
-
454
-
455
-
456
- <div class="achievements-progress">
457
- <div class="progress-wrapper">
458
- <div class="progress-bar" style="width: 100%"></div>
459
- </div>
460
-
461
- <span>480</span>
462
- </div>
463
- </div>
464
-
465
-
466
- <div class="progress-tile">
467
- <a href="category/4325392" class="progress-link">
468
- <span class="portrait-a">
469
-
470
-
471
-
472
-
473
- <span class="icon-frame "
474
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v39') -300px -525px no-repeat; width: 75px; height: 75px;">
475
-
476
- </span>
477
-
478
- <span class="clear"><!-- --></span>
479
- </span>
480
-
481
- Custom Game
482
- </a>
483
-
484
-
485
-
486
- <div class="achievements-progress">
487
- <div class="progress-wrapper">
488
- <div class="progress-bar" style="width: 34.7368421053%"></div>
489
- </div>
490
-
491
- <span>330</span>
492
- </div>
493
- </div>
494
-
495
-
496
- <div class="progress-tile">
497
- <a href="category/4325386" class="progress-link">
498
- <span class="portrait-a">
499
-
500
-
501
-
502
- <span class="icon-frame "
503
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v39') -75px -525px no-repeat; width: 75px; height: 75px;">
504
-
505
- </span>
506
-
507
- <span class="clear"><!-- --></span>
508
- </span>
509
-
510
- Cooperative
511
- </a>
512
-
513
-
514
-
515
- <div class="achievements-progress">
516
- <div class="progress-wrapper">
517
- <div class="progress-bar" style="width: 80.487804878%"></div>
518
- </div>
519
-
520
- <span>660</span>
521
- </div>
522
- </div>
523
-
524
-
525
- <div class="progress-tile">
526
- <a href="category/4325378" class="progress-link">
527
- <span class="portrait-a">
528
-
529
-
530
-
531
-
532
-
533
-
534
- <span class="icon-frame "
535
- style="background: url('/sc2/static/local-common/images/sc2/achievements/2-75.jpg?v39') -225px -450px no-repeat; width: 75px; height: 75px;">
536
-
537
- </span>
538
-
539
- <span class="clear"><!-- --></span>
540
- </span>
541
-
542
- Quick Match
543
- </a>
544
-
545
-
546
-
547
- <div class="achievements-progress">
548
- <div class="progress-wrapper">
549
- <div class="progress-bar" style="width: 19.5402298851%"></div>
550
- </div>
551
-
552
- <span>170</span>
553
- </div>
554
- </div>
555
-
556
- <span class="clear"><!-- --></span>
557
- </div>
558
- </div>
559
- </div>
560
-
561
- <div class="module-right">
562
- <div class="module-title">
563
- <h3 class="title-globe">Recently Earned</h3>
564
- </div>
565
-
566
- <div class="module-body" id="recent-achievements">
567
-
568
-
569
- <a class="recent-tile" href="category/3211279" data-tooltip="#achv-recent-0">
570
-
571
-
572
- <span class="icon-frame "
573
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-45.jpg?v39') -180px -315px no-repeat; width: 45px; height: 45px;">
574
-
575
- </span>
576
-
577
- Blink of an Eye
578
- <span>3/5/2012</span>
579
- <span class="clear"><!-- --></span>
580
- </a>
581
-
582
- <div id="achv-recent-0" style="display: none">
583
- <div class="tooltip-title">Blink of an Eye</div>
584
- Complete round 24 in “StarCraft Master” without losing any Stalkers.
585
- </div>
586
-
587
-
588
- <a class="recent-tile" href="category/3211279" data-tooltip="#achv-recent-1">
589
-
590
-
591
- <span class="icon-frame "
592
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-45.jpg?v39') -135px -315px no-repeat; width: 45px; height: 45px;">
593
-
594
- </span>
595
-
596
- Whack-a-Roach
597
- <span>3/5/2012</span>
598
- <span class="clear"><!-- --></span>
599
- </a>
600
-
601
- <div id="achv-recent-1" style="display: none">
602
- <div class="tooltip-title">Whack-a-Roach</div>
603
- Complete round 9 in “StarCraft Master” in under 45 seconds.
604
- </div>
605
-
606
-
607
- <a class="recent-tile" href="category/3211279" data-tooltip="#achv-recent-2">
608
-
609
-
610
- <span class="icon-frame "
611
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-45.jpg?v39') -90px -315px no-repeat; width: 45px; height: 45px;">
612
-
613
- </span>
614
-
615
- Safe Zone
616
- <span>3/5/2012</span>
617
- <span class="clear"><!-- --></span>
618
- </a>
619
-
620
- <div id="achv-recent-2" style="display: none">
621
- <div class="tooltip-title">Safe Zone</div>
622
- Complete round 8 in “StarCraft Master” without losing any Stalkers.
623
- </div>
624
-
625
-
626
- <a class="recent-tile" href="category/3211279" data-tooltip="#achv-recent-3">
627
-
628
-
629
- <span class="icon-frame "
630
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-45.jpg?v39') -45px -315px no-repeat; width: 45px; height: 45px;">
631
-
632
- </span>
633
-
634
- StarCraft Master
635
- <span>3/5/2012</span>
636
- <span class="clear"><!-- --></span>
637
- </a>
638
-
639
- <div id="achv-recent-3" style="display: none">
640
- <div class="tooltip-title">StarCraft Master</div>
641
- Complete all 30 rounds in “StarCraft Master&quot;.
642
- </div>
643
-
644
-
645
- <a class="recent-tile" href="category/3211279" data-tooltip="#achv-recent-4">
646
-
647
-
648
- <span class="icon-frame "
649
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-45.jpg?v39') -0px -315px no-repeat; width: 45px; height: 45px;">
650
-
651
- </span>
652
-
653
- StarCraft Expert
654
- <span>3/5/2012</span>
655
- <span class="clear"><!-- --></span>
656
- </a>
657
-
658
- <div id="achv-recent-4" style="display: none">
659
- <div class="tooltip-title">StarCraft Expert</div>
660
- Complete any 25 rounds in “StarCraft Master&quot;.
661
- </div>
662
-
663
-
664
- <a class="recent-tile" href="category/3211279" data-tooltip="#achv-recent-6">
665
-
666
-
667
- <span class="icon-frame "
668
- style="background: url('/sc2/static/local-common/images/sc2/achievements/5-45.jpg?v39') -360px -270px no-repeat; width: 45px; height: 45px;">
669
-
670
- </span>
671
-
672
- StarCraft Apprentice
673
- <span>3/5/2012</span>
674
- <span class="clear"><!-- --></span>
675
- </a>
676
-
677
- <div id="achv-recent-6" style="display: none">
678
- <div class="tooltip-title">StarCraft Apprentice</div>
679
- Complete any 20 rounds in “StarCraft Master&quot;.
680
- </div>
681
-
682
- </div>
683
- </div>
684
-
685
- <span class="clear"><!-- --></span>
686
- </div>
687
- </div>
688
- </div>
689
-
690
- </div>
691
-
692
- <span class="clear"><!-- --></span>
693
- </div>
694
- </div>
695
- </div>
696
- </div>
697
- <div id="footer">
698
- <div id="sitemap" class="promotions">
699
- <div class="column">
700
- <h3 class="bnet">
701
- <a href="http://us.battle.net/" tabindex="100">Battle.net Home</a>
702
- </h3>
703
- <ul>
704
- <li><a href="http://us.battle.net/what-is/">What is Battle.net?</a></li>
705
- <li><a href="https://us.battle.net/account/management/get-a-game.html">Buy Games</a></li>
706
- <li><a href="https://us.battle.net/account/management/">Account</a></li>
707
- <li><a href="http://us.battle.net/support/">Support</a></li>
708
- <li><a href="http://us.battle.net/realid/">Real ID</a></li>
709
- </ul>
710
- </div>
711
- <div class="column">
712
- <h3 class="games">
713
- <a href="http://us.battle.net/" tabindex="100">Games</a>
714
- </h3>
715
- <ul>
716
- <li><a href="http://us.battle.net/sc2/">StarCraft II</a></li>
717
- <li><a href="http://us.battle.net/wow/">World of Warcraft</a></li>
718
- <li><a href="http://us.battle.net/d3/">Diablo III</a></li>
719
- <li><a href="http://us.battle.net/games/classic">Classic Games</a></li>
720
- <li><a href="https://us.battle.net/account/download/">Game Client Downloads</a></li>
721
- </ul>
722
- </div>
723
- <div class="column">
724
- <h3 class="account">
725
- <a href="https://us.battle.net/account/management/" tabindex="100">Account</a>
726
- </h3>
727
- <ul>
728
- <li><a href="https://us.battle.net/account/support/login-support.html">Can’t log in?</a></li>
729
- <li><a href="https://us.battle.net/account/creation/tos.html">Create Account</a></li>
730
- <li><a href="https://us.battle.net/account/management/">Account Summary</a></li>
731
- <li><a href="https://us.battle.net/account/management/authenticator.html">Account Security</a></li>
732
- <li><a href="https://us.battle.net/account/management/add-game.html">Add a Game</a></li>
733
- <li><a href="https://us.battle.net/account/management/redemption/redeem.html">Redeem Promo Codes</a></li>
734
- </ul>
735
- </div>
736
- <div class="column">
737
- <h3 class="support">
738
- <a href="http://us.battle.net/support/" tabindex="100">Support</a>
739
- </h3>
740
- <ul>
741
- <li><a href="http://us.battle.net/support/">Support Articles</a></li>
742
- <li><a href="https://us.battle.net/account/parental-controls/index.html">Parental Controls</a></li>
743
- <li><a href="http://us.battle.net/security/">Protect Your Account</a></li>
744
- <li><a href="http://us.battle.net/security/help">Help! I got hacked!</a></li>
745
- </ul>
746
- </div>
747
- <div id="footer-promotions">
748
- <div class="sidebar-content"></div>
749
- <div id="sidebar-marketing" class="sidebar-module">
750
- <div class="bnet-offer">
751
- <!-- -->
752
- <div class="bnet-offer-bg">
753
- <a href="https://us.battle.net/account/sc2/starter-edition/" target="_blank" id="ad3985896" class="bnet-offer-image" onclick="BnetAds.trackEvent('3985896', 'TrySCII', 'sc2', true);">
754
- <img src="http://us.media2.battle.net/cms/ad_300x100/ZNB918LXVJ251309281567042.jpg" width="300" height="100" alt=""/>
755
- </a>
756
- </div>
757
- <script type="text/javascript">
758
- //<![CDATA[
759
- if(typeof (BnetAds.addEvent) != "undefined" )
760
- BnetAds.addEvent(window, 'load', function(){ BnetAds.trackEvent('3985896', 'TrySCII', 'sc2'); } );
761
- else
762
- BnetAds.trackEvent('3985896', 'TrySCII', 'sc2');
763
- //]]>
764
- </script>
765
- </div>
766
- </div>
767
- </div>
768
- <span class="clear"><!-- --></span>
769
- </div>
770
- <div id="copyright">
771
- <a href="javascript:;" tabindex="100" id="change-language">
772
- <span>Americas - English (US)</span>
773
- </a>
774
- ©2012 Blizzard Entertainment, Inc. All rights reserved
775
- <a onclick="return Core.open(this);" href="http://us.blizzard.com/company/about/termsofuse.html" tabindex="100">Terms of Use</a>
776
- <a onclick="return Core.open(this);" href="http://us.blizzard.com/company/legal/" tabindex="100">Legal</a>
777
- <a onclick="return Core.open(this);" href="http://us.blizzard.com/company/about/privacy.html" tabindex="100">Privacy Policy</a>
778
- <a onclick="return Core.open(this);" href="http://us.blizzard.com/company/about/infringementnotice.html" tabindex="100">Copyright Infringement</a>
779
- </div>
780
- <div id="international"></div>
781
- <div id="legal">
782
- <div id="legal-ratings" class="png-fix">
783
- <a class="truste-link" href="//privacy-policy.truste.com/click-with-confidence/ctv/en/us.battle.net/seal_m" title="Validate TRUSTe privacy certification" onclick="return Core.open(this);">
784
- <img class="legal-image" src="//privacy-policy.truste.com/certified-seal/wps/en/us.battle.net/seal_m.png" alt="Validate TRUSTe privacy certification"/>
785
- </a>
786
- <a href="http://www.esrb.org/ratings/ratings_guide.jsp" onclick="return Core.open(this);">
787
- <img class="legal-image" alt="" src="/sc2/static/local-common/images/legal/us/esrb-teen-sc2.png" />
788
- </a>
789
- </div>
790
- <div id="blizzard" class="png-fix">
791
- <a href="http://blizzard.com" tabindex="100"><img src="/sc2/static/local-common/images/logos/blizz-sc2.png" alt="" /></a>
792
- </div>
793
- <span class="clear"><!-- --></span>
794
- </div>
795
- </div>
796
- <div id="service">
797
- <ul class="service-bar">
798
- <li class="service-cell service-home"><a href="http://us.battle.net/" tabindex="50" accesskey="1" title="Battle.net Home"> </a></li>
799
- <li class="service-cell service-welcome">
800
- <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>
801
- </li>
802
- <li class="service-cell service-account"><a href="https://us.battle.net/account/management/" class="service-link" tabindex="50" accesskey="3">Account</a></li>
803
- <li class="service-cell service-support service-support-enhanced">
804
- <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>
805
- <div class="support-menu" id="support-menu" style="display:none;">
806
- <div class="support-primary">
807
- <ul class="support-nav">
808
- <li>
809
- <a href="http://us.battle.net/support/" tabindex="55" class="support-category">
810
- <strong class="support-caption">Knowledge Center</strong>
811
- Browse our support articles
812
- </a>
813
- </li>
814
- <li>
815
- <a href="https://us.battle.net/support/ticket/status" tabindex="55" class="support-category">
816
- <strong class="support-caption">Your Support Tickets</strong>
817
- View your active tickets (login required).
818
- </a>
819
- </li>
820
- </ul>
821
- <span class="clear"><!-- --></span>
822
- </div>
823
- <div class="support-secondary"></div>
824
- <!--[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>
825
- <script type="text/javascript">
826
- //<![CDATA[
827
- (function(){
828
- var doc = document;
829
- var shim = doc.getElementById('support-shim');
830
- shim.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
831
- shim.style.display = 'block';
832
- })();
833
- //]]>
834
- </script>
835
- <![endif]-->
836
- </div>
837
- </li>
838
- <li class="service-cell service-explore">
839
- <a href="#explore" tabindex="50" accesskey="5" class="dropdown" id="explore-link" onclick="return false" style="cursor: progress" rel="javascript">Explore</a>
840
- <div class="explore-menu" id="explore-menu" style="display:none;">
841
- <div class="explore-primary">
842
- <ul class="explore-nav">
843
- <li>
844
- <a href="http://us.battle.net/" tabindex="55" data-label="Home">
845
- <strong class="explore-caption">Battle.net Home</strong>
846
- Connect. Play. Unite.
847
- </a>
848
- </li>
849
- <li>
850
- <a href="https://us.battle.net/account/management/" tabindex="55" data-label="Account">
851
- <strong class="explore-caption">Account</strong>
852
- Manage your Account
853
- </a>
854
- </li>
855
- <li>
856
- <a href="http://us.battle.net/support/" tabindex="55" data-label="Support">
857
- <strong class="explore-caption">Support</strong>
858
- Get Support and explore the knowledgebase.
859
- </a>
860
- </li>
861
- <li>
862
- <a href="https://us.battle.net/account/management/get-a-game.html" tabindex="55" data-label="Buy Games">
863
- <strong class="explore-caption">Buy Games</strong>
864
- Digital Games for Download
865
- </a>
866
- </li>
867
- </ul>
868
- <div class="explore-links">
869
- <h2 class="explore-caption">More</h2>
870
- <ul>
871
- <li><a href="http://us.battle.net/what-is/" tabindex="55" data-label="More">What is Battle.net?</a></li>
872
- <li><a href="https://us.battle.net/account/parental-controls/index.html" tabindex="55" data-label="More">Parental Controls</a></li>
873
- <li><a href="http://us.battle.net/security/" tabindex="55" data-label="More">Account Security</a></li>
874
- <li><a href="https://us.battle.net/account/management/add-game.html" tabindex="55" data-label="More">Add a Game</a></li>
875
- <li><a href="https://us.battle.net/account/support/password-reset.html" tabindex="55" data-label="More">Can’t log in?</a></li>
876
- <li><a href="https://us.battle.net/account/download/" tabindex="55" data-label="More">Game Client Downloads</a></li>
877
- <li><a href="https://us.battle.net/account/management/redemption/redeem.html" tabindex="55" data-label="More">Redeem Promo Codes</a></li>
878
- <li><a href="http://us.battle.net/games/classic" tabindex="55" data-label="More">Classic Games</a></li>
879
- </ul>
880
- </div>
881
- <span class="clear"><!-- --></span>
882
- <!--[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>
883
- <script type="text/javascript">
884
- //<![CDATA[
885
- (function(){
886
- var doc = document;
887
- var shim = doc.getElementById('explore-shim');
888
- shim.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
889
- shim.style.display = 'block';
890
- })();
891
- //]]>
892
- </script>
893
- <![endif]-->
894
- </div>
895
- <ul class="explore-secondary">
896
- <li class="explore-game explore-game-sc2">
897
- <a href="http://us.battle.net/sc2/" tabindex="55" data-label="Game - sc2">
898
- <span class="explore-game-inner">
899
- <strong class="explore-caption">StarCraft II</strong>
900
- <span>News &amp; Forums</span> <span>Beginner’s Guide</span> <span>Player Profiles</span>
901
- </span>
902
- </a>
903
- </li>
904
- <li class="explore-game explore-game-wow">
905
- <a href="http://us.battle.net/wow/" tabindex="55" data-label="Game - wow">
906
- <span class="explore-game-inner">
907
- <strong class="explore-caption">World of Warcraft</strong>
908
- <span>Character Profiles</span> <span>News &amp; Forums</span> <span>Game Guide</span>
909
- </span>
910
- </a>
911
- </li>
912
- <li class="explore-game explore-game-d3">
913
- <a href="http://us.battle.net/d3/" tabindex="55" data-label="Game - d3">
914
- <span class="explore-game-inner">
915
- <strong class="explore-caption">Diablo III</strong>
916
- <span>Game Guide</span> <span>Beta News</span> <span>Forums</span>
917
- </span>
918
- </a>
919
- </li>
920
- </ul>
921
- </div>
922
- </li>
923
- </ul>
924
- <div id="warnings-wrapper">
925
- <script type="text/javascript">
926
- //<![CDATA[
927
- $(function() {
928
- App.saveCookie('html5Warning');
929
- App.resetCookie('browserWarning');
930
- });
931
- //]]>
932
- </script>
933
- <!--[if lt IE 8]> <div id="browser-warning" class="warning warning-red">
934
- <div class="warning-inner2">
935
- You are using an outdated web browser.<br />
936
- <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>.
937
- <a href="#close" class="warning-close" onclick="App.closeWarning('#browser-warning', 'browserWarning'); return false;"></a>
938
- </div>
939
- </div>
940
- <![endif]-->
941
- <!--[if lt IE 8]> <script type="text/javascript" src="/sc2/static/local-common/js/third-party/CFInstall.min.js?v39"></script>
942
- <script type="text/javascript">
943
- //<![CDATA[
944
- $(function() {
945
- var age = 365 * 24 * 60 * 60 * 1000;
946
- var src = 'https://www.google.com/chromeframe/?hl=en-US';
947
- if ('http:' == document.location.protocol) {
948
- src = 'http://www.google.com/chromeframe/?hl=en-US';
949
- }
950
- document.cookie = "disableGCFCheck=0;path=/;max-age="+age;
951
- $('#chrome-frame-link').bind({
952
- 'click': function() {
953
- App.closeWarning('#browser-warning');
954
- CFInstall.check({
955
- mode: 'overlay',
956
- url: src
957
- });
958
- return false;
959
- }
960
- });
961
- });
962
- //]]>
963
- </script>
964
- <![endif]-->
965
- <noscript>
966
- <div id="javascript-warning" class="warning warning-red">
967
- <div class="warning-inner2">
968
- JavaScript must be enabled to use this site.
969
- </div>
970
- </div>
971
- </noscript>
972
- </div>
973
- </div>
974
- <div class="new-feature-tip" id="new-feature-tip" style="display: none">
975
- <div class="inner">
976
- <a href="javascript:;" rel="close" class="close"></a>
977
- <h3 class="category">
978
- Video Teasers
979
- <span>New</span>
980
- </h3>
981
- <a href="/sc2/en/game/heart-of-the-swarm-preview/#teaser" class="row hots" data-label="Heart of the Swarm">
982
- <span class="image">
983
- <span class="view"></span>
984
- </span>
985
- <span class="title">
986
- <strong>Heart of the Swarm</strong>
987
- Watch now!
988
- </span>
989
- </a>
990
- <a href="/sc2/en/game/maps-and-mods/mods/dota" class="row dota" data-label="Blizzard DOTA">
991
- <span class="image">
992
- <span class="view"></span>
993
- </span>
994
- <span class="title">
995
- <strong>Blizzard DOTA</strong>
996
- Watch now!
997
- </span>
998
- </a>
999
- </div>
1000
- </div>
1001
- <script type="text/javascript">
1002
- //<![CDATA[
1003
- $(document).ready(function() {
1004
- Core.showUntilClosed('#new-feature-tip', 'sc2-feature-videos', {
1005
- endDate: '2011/11/02',
1006
- fadeIn: 333,
1007
- trackingCategory: 'New Feature Tip',
1008
- trackingAction: 'Video Teasers'
1009
- });
1010
- });
1011
- //]]>
1012
- </script>
1013
- </div><script type="text/javascript" src="/sc2/static/local-common/js/search.js?v39"></script>
1014
- <script type="text/javascript">
1015
- //<![CDATA[
1016
- var xsToken = '';
1017
- var supportToken = '';
1018
- var Msg = {
1019
- support: {
1020
- ticketNew: 'Ticket {0} was created.',
1021
- ticketStatus: 'Ticket {0}’s status changed to {1}.',
1022
- ticketOpen: 'Open',
1023
- ticketAnswered: 'Answered',
1024
- ticketResolved: 'Resolved',
1025
- ticketCanceled: 'Canceled',
1026
- ticketArchived: 'Archived',
1027
- ticketInfo: 'Need Info',
1028
- ticketAll: 'View All Tickets'
1029
- },
1030
- cms: {
1031
- requestError: 'Your request cannot be completed.',
1032
- ignoreNot: 'Not ignoring this user',
1033
- ignoreAlready: 'Already ignoring this user',
1034
- stickyRequested: 'Sticky requested',
1035
- stickyHasBeenRequested: 'You have already sent a sticky request for this topic.',
1036
- postAdded: 'Post added to tracker',
1037
- postRemoved: 'Post removed from tracker',
1038
- userAdded: 'User added to tracker',
1039
- userRemoved: 'User removed from tracker',
1040
- validationError: 'A required field is incomplete',
1041
- characterExceed: 'The post body exceeds XXXXXX characters.',
1042
- searchFor: "Search for",
1043
- searchTags: "Articles tagged:",
1044
- characterAjaxError: "You may have become logged out. Please refresh the page and try again.",
1045
- ilvl: "Level {0}",
1046
- shortQuery: "Search requests must be at least three characters long."
1047
- },
1048
- bml: {
1049
- bold: 'Bold',
1050
- italics: 'Italics',
1051
- underline: 'Underline',
1052
- list: 'Unordered List',
1053
- listItem: 'List Item',
1054
- quote: 'Quote',
1055
- quoteBy: 'Posted by {0}',
1056
- unformat: 'Remove Formating',
1057
- cleanup: 'Fix Linebreaks',
1058
- code: 'Code Blocks',
1059
- item: 'WoW Item',
1060
- itemPrompt: 'Item ID:',
1061
- url: 'URL',
1062
- urlPrompt: 'URL Address:'
1063
- },
1064
- ui: {
1065
- submit: 'Submit',
1066
- cancel: 'Cancel',
1067
- reset: 'Reset',
1068
- viewInGallery: 'View in gallery',
1069
- loading: 'Loading…',
1070
- unexpectedError: 'An error has occurred',
1071
- fansiteFind: 'Find this on…',
1072
- fansiteFindType: 'Find {0} on…',
1073
- fansiteNone: 'No fansites available.'
1074
- },
1075
- grammar: {
1076
- colon: '{0}:',
1077
- first: 'First',
1078
- last: 'Last'
1079
- },
1080
- fansite: {
1081
- achievement: 'achievement',
1082
- character: 'character',
1083
- faction: 'faction',
1084
- 'class': 'class',
1085
- object: 'object',
1086
- talentcalc: 'talents',
1087
- skill: 'profession',
1088
- quest: 'quest',
1089
- spell: 'spell',
1090
- event: 'event',
1091
- title: 'title',
1092
- arena: 'arena team',
1093
- guild: 'guild',
1094
- zone: 'zone',
1095
- item: 'item',
1096
- race: 'race',
1097
- npc: 'NPC',
1098
- pet: 'pet'
1099
- },
1100
- search: {
1101
- kb: 'Support',
1102
- post: 'Forums',
1103
- article: 'Blog Articles',
1104
- static: 'General Content',
1105
- wowcharacter: 'Characters',
1106
- wowitem: 'Items',
1107
- wowguild: 'Guilds',
1108
- wowarenateam: 'Arena Teams',
1109
- other: 'Other'
1110
- }
1111
- };
1112
- //]]>
1113
- </script>
1114
- <script type="text/javascript">
1115
- //<![CDATA[
1116
- Core.load("/sc2/static/local-common/js/third-party/jquery-ui-1.8.6.custom.min.js?v39");
1117
- Core.load("/sc2/static/local-common/js/login.js?v39", false, function() {
1118
- Login.embeddedUrl = 'https://us.battle.net/login/login.frag';
1119
- });
1120
- //]]>
1121
- </script>
1122
- <script type="text/javascript" src="/sc2/static/local-common/js/menu.js?v39"></script>
1123
- <script type="text/javascript" src="/sc2/static/js/sc2.js?v19"></script>
1124
- <script type="text/javascript">
1125
- //<![CDATA[
1126
- $(function(){
1127
- Menu.initialize('/data/menu.json?v39');
1128
- Tooltip.options.useTable = true;
1129
- });
1130
- //]]>
1131
- </script>
1132
- <!--[if lt IE 8]> <script type="text/javascript" src="/sc2/static/local-common/js/third-party/jquery.pngFix.pack.js?v39"></script>
1133
- <script type="text/javascript">
1134
- //<![CDATA[
1135
- $('.png-fix').pngFix(); //]]>
1136
- </script>
1137
- <![endif]-->
1138
- <script type="text/javascript">
1139
- //<![CDATA[
1140
- (function() {
1141
- var ga = document.createElement('script');
1142
- var src = "https://ssl.google-analytics.com/ga.js";
1143
- if ('http:' == document.location.protocol) {
1144
- src = "http://www.google-analytics.com/ga.js";
1145
- }
1146
- ga.type = 'text/javascript';
1147
- ga.setAttribute('async', 'true');
1148
- ga.src = src;
1149
- var s = document.getElementsByTagName('script');
1150
- s = s[s.length-1];
1151
- s.parentNode.insertBefore(ga, s.nextSibling);
1152
- })();
1153
- //]]>
1154
- </script>
1155
- </body>
1156
- </html>