riot_games_api 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rubocop.yml +28 -0
  4. data/.travis.yml +8 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +192 -0
  8. data/Rakefile +5 -0
  9. data/lib/riot_games_api/lol/client.rb +57 -0
  10. data/lib/riot_games_api/lol/constant/champions.rb +125 -0
  11. data/lib/riot_games_api/lol/constant/items.rb +186 -0
  12. data/lib/riot_games_api/lol/model/champion/champion.rb +18 -0
  13. data/lib/riot_games_api/lol/model/champion.rb +10 -0
  14. data/lib/riot_games_api/lol/model/corecion/time.rb +16 -0
  15. data/lib/riot_games_api/lol/model/game/game.rb +27 -0
  16. data/lib/riot_games_api/lol/model/game/player.rb +15 -0
  17. data/lib/riot_games_api/lol/model/game/raw_stats.rb +88 -0
  18. data/lib/riot_games_api/lol/model/game/recent_game.rb +14 -0
  19. data/lib/riot_games_api/lol/model/game.rb +13 -0
  20. data/lib/riot_games_api/lol/model/league/league.rb +17 -0
  21. data/lib/riot_games_api/lol/model/league/league_item.rb +35 -0
  22. data/lib/riot_games_api/lol/model/league/mini_series.rb +17 -0
  23. data/lib/riot_games_api/lol/model/league.rb +12 -0
  24. data/lib/riot_games_api/lol/model/static_data/basic_data.rb +35 -0
  25. data/lib/riot_games_api/lol/model/static_data/basic_data_stats.rb +77 -0
  26. data/lib/riot_games_api/lol/model/static_data/block.rb +14 -0
  27. data/lib/riot_games_api/lol/model/static_data/block_item.rb +14 -0
  28. data/lib/riot_games_api/lol/model/static_data/champion.rb +29 -0
  29. data/lib/riot_games_api/lol/model/static_data/champion_list.rb +17 -0
  30. data/lib/riot_games_api/lol/model/static_data/champion_list_data_by_id.rb +11 -0
  31. data/lib/riot_games_api/lol/model/static_data/champion_spell.rb +32 -0
  32. data/lib/riot_games_api/lol/model/static_data/gold.rb +16 -0
  33. data/lib/riot_games_api/lol/model/static_data/group.rb +14 -0
  34. data/lib/riot_games_api/lol/model/static_data/image.rb +19 -0
  35. data/lib/riot_games_api/lol/model/static_data/info.rb +16 -0
  36. data/lib/riot_games_api/lol/model/static_data/item.rb +35 -0
  37. data/lib/riot_games_api/lol/model/static_data/item_list.rb +18 -0
  38. data/lib/riot_games_api/lol/model/static_data/item_tree.rb +14 -0
  39. data/lib/riot_games_api/lol/model/static_data/level_tip.rb +14 -0
  40. data/lib/riot_games_api/lol/model/static_data/mastery.rb +19 -0
  41. data/lib/riot_games_api/lol/model/static_data/mastery_list.rb +16 -0
  42. data/lib/riot_games_api/lol/model/static_data/mastery_tree.rb +15 -0
  43. data/lib/riot_games_api/lol/model/static_data/mastery_tree_item.rb +14 -0
  44. data/lib/riot_games_api/lol/model/static_data/mastery_tree_list.rb +13 -0
  45. data/lib/riot_games_api/lol/model/static_data/meta_data.rb +18 -0
  46. data/lib/riot_games_api/lol/model/static_data/passive.rb +16 -0
  47. data/lib/riot_games_api/lol/model/static_data/realm.rb +21 -0
  48. data/lib/riot_games_api/lol/model/static_data/recommended.rb +19 -0
  49. data/lib/riot_games_api/lol/model/static_data/rune.rb +35 -0
  50. data/lib/riot_games_api/lol/model/static_data/rune_list.rb +16 -0
  51. data/lib/riot_games_api/lol/model/static_data/skin.rb +15 -0
  52. data/lib/riot_games_api/lol/model/static_data/spell_vars.rb +16 -0
  53. data/lib/riot_games_api/lol/model/static_data/stats.rb +32 -0
  54. data/lib/riot_games_api/lol/model/static_data/summoner_spell.rb +35 -0
  55. data/lib/riot_games_api/lol/model/static_data/summoner_spell_list.rb +15 -0
  56. data/lib/riot_games_api/lol/model/static_data/summoner_spell_list_data_by_id.rb +11 -0
  57. data/lib/riot_games_api/lol/model/static_data.rb +47 -0
  58. data/lib/riot_games_api/lol/model/stats/aggregated_stats.rb +68 -0
  59. data/lib/riot_games_api/lol/model/stats/champion_stats.rb +14 -0
  60. data/lib/riot_games_api/lol/model/stats/player_stats_summary.rb +17 -0
  61. data/lib/riot_games_api/lol/model/stats/player_stats_summary_list.rb +14 -0
  62. data/lib/riot_games_api/lol/model/stats/ranked_stats.rb +15 -0
  63. data/lib/riot_games_api/lol/model/stats.rb +15 -0
  64. data/lib/riot_games_api/lol/model/summoner/mastery.rb +14 -0
  65. data/lib/riot_games_api/lol/model/summoner/mastery_page.rb +16 -0
  66. data/lib/riot_games_api/lol/model/summoner/mastery_page_list.rb +14 -0
  67. data/lib/riot_games_api/lol/model/summoner/rune_page.rb +16 -0
  68. data/lib/riot_games_api/lol/model/summoner/rune_page_list.rb +14 -0
  69. data/lib/riot_games_api/lol/model/summoner/rune_slot.rb +14 -0
  70. data/lib/riot_games_api/lol/model/summoner/summoner.rb +17 -0
  71. data/lib/riot_games_api/lol/model/summoner.rb +16 -0
  72. data/lib/riot_games_api/lol/model/team/match_history_summary.rb +23 -0
  73. data/lib/riot_games_api/lol/model/team/message_of_day.rb +15 -0
  74. data/lib/riot_games_api/lol/model/team/roster.rb +14 -0
  75. data/lib/riot_games_api/lol/model/team/team.rb +27 -0
  76. data/lib/riot_games_api/lol/model/team/team_member_info.rb +16 -0
  77. data/lib/riot_games_api/lol/model/team/team_stat_detail.rb +17 -0
  78. data/lib/riot_games_api/lol/model/team/team_stat_summary.rb +14 -0
  79. data/lib/riot_games_api/lol/model/team.rb +16 -0
  80. data/lib/riot_games_api/lol/model.rb +16 -0
  81. data/lib/riot_games_api/lol/resource/base.rb +22 -0
  82. data/lib/riot_games_api/lol/resource/champion.rb +39 -0
  83. data/lib/riot_games_api/lol/resource/game.rb +23 -0
  84. data/lib/riot_games_api/lol/resource/league.rb +65 -0
  85. data/lib/riot_games_api/lol/resource/static_data.rb +91 -0
  86. data/lib/riot_games_api/lol/resource/stats.rb +28 -0
  87. data/lib/riot_games_api/lol/resource/summoner.rb +52 -0
  88. data/lib/riot_games_api/lol/resource/team.rb +34 -0
  89. data/lib/riot_games_api/lol/resource.rb +15 -0
  90. data/lib/riot_games_api/version.rb +3 -0
  91. data/lib/riot_games_api.rb +15 -0
  92. data/riot_games_api.gemspec +34 -0
  93. data/spec/lol/resource/champion_spec.rb +27 -0
  94. data/spec/lol/resource/game_spec.rb +40 -0
  95. data/spec/lol/resource/league_spec.rb +93 -0
  96. data/spec/lol/resource/static_data_spec.rb +215 -0
  97. data/spec/lol/resource/stats_spec.rb +57 -0
  98. data/spec/lol/resource/summoner_spec.rb +80 -0
  99. data/spec/lol/resource/team_spec.rb +31 -0
  100. data/spec/spec_helper.rb +21 -0
  101. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Champion/_all/should_first_record_is_Aatrox.yml +44 -0
  102. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Champion/_by_champion_id/should_be_Teemo.yml +44 -0
  103. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Champion/_free/should_be_only_free_champions.yml +44 -0
  104. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Game/_recent/should_champinons_is_Talon_in_first_game_record.yml +44 -0
  105. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Game/_recent/should_first_fellow_player_s_team_is_blue.yml +44 -0
  106. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Game/_recent/should_first_game_is_win.yml +44 -0
  107. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Game/_recent/should_game_record_have_player_model.yml +44 -0
  108. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Game/_recent/should_game_record_have_raw_stats_model.yml +44 -0
  109. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Game/_recent/should_game_records_count_is_10.yml +44 -0
  110. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Game/_recent/should_have_summoner_id.yml +44 -0
  111. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_summoner_id/should_have_league_item_entries.yml +1497 -0
  112. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_summoner_id/should_phantoml0ad_is_in_league_which_name_is_Nasus_s_Agents.yml +1497 -0
  113. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_summoner_id_only_own_entry/should_ojarusang_is_in_series.yml +43 -0
  114. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_summoner_id_only_own_entry/should_ojarusang_s_tier_is_platinum.yml +43 -0
  115. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_team_id/should_have_league_item_entries.yml +864 -0
  116. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_team_id/should_rascal_jester_is_in_league_which_name_is_Nunu_s_Outriders.yml +864 -0
  117. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_team_id_only_own_entry/should_ffg_practice_is_not_in_series.yml +44 -0
  118. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_by_team_id_only_own_entry/should_ffg_practice_tier_is_challenger.yml +44 -0
  119. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_challenger_solo_5v5/should_queue_is_ranked_solo_5v5.yml +1281 -0
  120. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_challenger_solo_5v5/should_tier_is_challenger.yml +1281 -0
  121. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_challenger_team_3v3/should_queue_is_ranked_team_3v3.yml +123 -0
  122. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_challenger_team_3v3/should_tier_is_challenger.yml +123 -0
  123. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_challenger_team_5v5/should_queue_is_ranked_team_5v5.yml +61 -0
  124. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_League/_challenger_team_5v5/should_tier_is_challenger.yml +61 -0
  125. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/_realm/should_have_data_cdn_is_cdn_url.yml +44 -0
  126. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/_realm/should_have_static_data_of_realm.yml +44 -0
  127. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/champion/_champion_all/key_by_id_is_false/should_have_inputed_data_version.yml +38011 -0
  128. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/champion/_champion_all/key_by_id_is_false/should_have_static_data_key_with_champion_name.yml +38011 -0
  129. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/champion/_champion_all/key_by_id_is_false/should_have_static_data_of_champions.yml +38011 -0
  130. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/champion/_champion_all/key_by_id_is_true/should_have_static_data_keys_is_champion_id.yml +38000 -0
  131. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/champion/_champion_all/key_by_id_is_true/should_have_static_data_of_champion.yml +38000 -0
  132. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/champion/_champion_by_id/should_have_data_key_is_shaco.yml +151 -0
  133. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/champion/_champion_by_id/should_have_static_data_of_champion.yml +151 -0
  134. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/item/_item_all/should_have_inputed_data_version.yml +2388 -0
  135. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/item/_item_all/should_have_static_data_of_items.yml +2388 -0
  136. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/item/_item_all/should_have_static_data_with_item_name.yml +2388 -0
  137. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/item/_item_by_id/should_have_data_name_is_biscuit.yml +46 -0
  138. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/item/_item_by_id/should_have_static_data_of_item.yml +46 -0
  139. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/mastery/_mastery_all/should_have_inputed_data_version.yml +240 -0
  140. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/mastery/_mastery_all/should_have_static_data_of_masterys.yml +240 -0
  141. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/mastery/_mastery_all/should_have_static_data_with_mastery_name.yml +240 -0
  142. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/mastery/_mastery_by_id/should_have_data_name_is_sorcery.yml +47 -0
  143. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/mastery/_mastery_by_id/should_have_static_data_of_mastery.yml +47 -0
  144. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/rune/_rune_all/should_have_inputed_data_version.yml +733 -0
  145. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/rune/_rune_all/should_have_static_data_of_runes.yml +733 -0
  146. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/rune/_rune_all/should_have_static_data_with_rune_name.yml +733 -0
  147. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/rune/_rune_by_id/should_have_data_name_is_rune_name.yml +45 -0
  148. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/rune/_rune_by_id/should_have_static_data_of_rune.yml +45 -0
  149. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/summoner_spell/_summoner_spell_all/key_by_id_is_false/should_have_inputed_data_version.yml +156 -0
  150. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/summoner_spell/_summoner_spell_all/key_by_id_is_false/should_have_static_data_key_with_summoner_spell_name.yml +156 -0
  151. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/summoner_spell/_summoner_spell_all/key_by_id_is_false/should_have_static_data_of_summoner_spell.yml +156 -0
  152. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/summoner_spell/_summoner_spell_all/key_by_id_is_true/should_have_static_data_keys_is_sumoner_spell_id.yml +156 -0
  153. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/summoner_spell/_summoner_spell_all/key_by_id_is_true/should_have_static_data_of_summoner_spell.yml +156 -0
  154. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/summoner_spell/_summoner_spell_by_id/should_have_data_name_is_teleport.yml +55 -0
  155. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_StaticData/summoner_spell/_summoner_spell_by_id/should_have_static_data_of_summoner_spell.yml +55 -0
  156. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Stats/_ranked/latest_season/should_not_found_ranked_stats.yml +57 -0
  157. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Stats/_ranked/season3/should_have_champion_stats.yml +44 -0
  158. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Stats/_ranked/season3/should_have_modify_data_which_unixtime_milliseconds.yml +44 -0
  159. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Stats/_summary/latest_season/should_have_player_stat_summaries.yml +44 -0
  160. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Stats/_summary/latest_season/should_have_summoner_id_inputed.yml +44 -0
  161. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Stats/_summary/season3/should_have_player_stat_summaries.yml +44 -0
  162. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Stats/_summary/season3/should_have_summoner_id_inputed.yml +44 -0
  163. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_by_id/should_have_key_which_is_summoner_id.yml +44 -0
  164. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_by_id/should_have_summoner_model.yml +44 -0
  165. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_by_id/should_summoner_model_have_summoner_level.yml +44 -0
  166. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_by_name/should_have_key_which_is_summoner_name.yml +44 -0
  167. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_by_name/should_have_summoner_model.yml +44 -0
  168. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_by_name/should_summoner_model_have_summoner_level.yml +44 -0
  169. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_masteries/should_have_key_which_is_summoner_id.yml +52 -0
  170. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_masteries/should_have_mastery_page_list_model.yml +52 -0
  171. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_masteries/should_have_mastery_page_model.yml +52 -0
  172. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_name/should_have_summoner_name.yml +44 -0
  173. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_runes/should_have_key_which_is_summoner_id.yml +56 -0
  174. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_runes/should_have_rune_page_list_model.yml +56 -0
  175. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Summoner/_runes/should_have_rune_page_model.yml +56 -0
  176. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Team/_by_summoner_id/should_have_focus_me_s_full_id.yml +314 -0
  177. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Team/_by_summoner_id/should_have_team_model.yml +314 -0
  178. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Team/_by_team_id/should_have_key_which_is_team_id.yml +165 -0
  179. data/spec/vcr_cassettes/RiotGamesApi_LOL_Resource_Team/_by_team_id/should_have_team_model.yml +165 -0
  180. metadata +484 -0
@@ -0,0 +1,151 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://prod.api.pvp.net/api/lol/static-data/na/v1.2/champion/35?api_key=test_key&champData=all&locale=en_US&version
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.9
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Headers:
22
+ - Content-Type
23
+ Access-Control-Allow-Methods:
24
+ - GET, POST, DELETE, PUT
25
+ Access-Control-Allow-Origin:
26
+ - "*"
27
+ Content-Type:
28
+ - application/json; charset=UTF-8
29
+ Date:
30
+ - Thu, 17 Apr 2014 19:35:41 GMT
31
+ Server:
32
+ - Jetty(9.1.1.v20140108)
33
+ Vary:
34
+ - Accept-Encoding, User-Agent
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: "{\"id\":35,\"key\":\"Shaco\",\"name\":\"Shaco\",\"title\":\"the Demon
42
+ Jester\",\"image\":{\"full\":\"Shaco.png\",\"sprite\":\"champion2.png\",\"group\":\"champion\",\"x\":336,\"y\":48,\"w\":48,\"h\":48},\"skins\":[{\"id\":35000,\"name\":\"default\",\"num\":0},{\"id\":35001,\"name\":\"Mad
43
+ Hatter Shaco\",\"num\":1},{\"id\":35002,\"name\":\"Royal Shaco\",\"num\":2},{\"id\":35003,\"name\":\"Nutcracko\",\"num\":3},{\"id\":35004,\"name\":\"Workshop
44
+ Shaco\",\"num\":4},{\"id\":35005,\"name\":\"Asylum Shaco\",\"num\":5},{\"id\":35006,\"name\":\"Masked
45
+ Shaco\",\"num\":6}],\"lore\":\"Most would say that death isn't funny. It isn't,
46
+ unless you're Shaco - then it's hysterical. He is Valoran's first fully functioning
47
+ homicidal comic; he jests until someone dies, and then he laughs. The figure
48
+ that has come to be known as the Demon Jester is an enigma. No one fully agrees
49
+ from whence he came, and Shaco never offers any details on his own. A popular
50
+ belief is that Shaco is not of Runeterra - that he is a thing summoned from
51
+ a dark and twisted world. Still others believe that he is the demonic manifestation
52
+ of humanity's dark urges and therefore cannot be reasoned with. The most plausible
53
+ belief is that Shaco is an assassin for hire, left to his own lunatic devices
54
+ until his services are needed. Shaco certainly has proven himself to be a
55
+ cunning individual, evading authorities at every turn who might seek him for
56
+ questioning for some horrendous, law-breaking atrocity. While such scuttlebutt
57
+ might reassure the native inhabitants of Valoran, it seems unimaginable that
58
+ such a malfeasant figure is allowed to remain at large.<br><br>Whatever the
59
+ truth of his history might be, Shaco has joined the League of Legends for
60
+ reasons only he knows. He is a terrifying figure, typically shunned by both
61
+ his fellow champions and the media at large. Only the summoners in the Institute
62
+ of War know why such a creature was allowed into the League, but most Runeterrans
63
+ suspect it to be a means that allows the power that be to keep an eye on the
64
+ ever-elusive Shaco. Unsurprisingly, this champion is popular in places where
65
+ madness can openly reign, such as among the power-hungry summoners of Zaun
66
+ and Noxus.<br><br>Whatever you do, don't tell him you missed the punch line.\",\"blurb\":\"Most
67
+ would say that death isn't funny. It isn't, unless you're Shaco - then it's
68
+ hysterical. He is Valoran's first fully functioning homicidal comic; he jests
69
+ until someone dies, and then he laughs. The figure that has come to be known
70
+ as the Demon ...\",\"allytips\":[\"Using Deceive over terrain can help you
71
+ make a clean escape.\",\"Try getting items with on-hit effects. These will
72
+ also benefit your Hallucination clone.\",\"Deceive's damage can be increased
73
+ with increased Critical Damage effects like Infinity Edge.\"],\"enemytips\":[\"If
74
+ Shaco is doing well early-game, it is worth the investment to buy Vision Wards.\",\"If
75
+ Shaco uses Deceive to enter a fight he won't be able to quickly use it again
76
+ to get away. Work with your team to quickly focus him down.\"],\"tags\":[\"Assassin\"],\"partype\":\"Mana\",\"info\":{\"attack\":8,\"defense\":4,\"magic\":6,\"difficulty\":9},\"stats\":{\"armor\":19.0,\"armorperlevel\":3.5,\"attackdamage\":51.7,\"attackdamageperlevel\":3.5,\"attackrange\":125.0,\"attackspeedoffset\":-0.1,\"attackspeedperlevel\":3.0,\"crit\":0.0,\"critperlevel\":0.0,\"hp\":441.0,\"hpperlevel\":84.0,\"hpregen\":7.45,\"hpregenperlevel\":0.55,\"movespeed\":350.0,\"mp\":230.0,\"mpperlevel\":40.0,\"mpregen\":6.4,\"mpregenperlevel\":0.45,\"spellblock\":30.0,\"spellblockperlevel\":1.25},\"spells\":[{\"name\":\"Deceive\",\"description\":\"Shaco
77
+ becomes invisible and teleports to target location. His next attack is guaranteed
78
+ to critically strike.\",\"sanitizedDescription\":\"Shaco becomes invisible
79
+ and teleports to target location. His next attack is guaranteed to critically
80
+ strike.\",\"tooltip\":\"Shaco teleports nearby and becomes invisible for 3.5
81
+ seconds.<br><br>His next basic attack within the next 6 seconds will critically
82
+ strike, dealing {{ e1 }}% damage (normal critical strikes deal {{ e2 }}% damage).\",\"sanitizedTooltip\":\"Shaco
83
+ teleports nearby and becomes invisible for 3.5 seconds. His next basic attack
84
+ within the next 6 seconds will critically strike, dealing {{ e1 }}% damage
85
+ (normal critical strikes deal {{ e2 }}% damage).\",\"leveltip\":{\"label\":[\"Critical
86
+ Strike Damage\",\"Mana Cost\"],\"effect\":[\"{{ e1 }}% -> {{ e1NL }}%\",\"{{
87
+ cost }} -> {{ costnNL }}\"]},\"image\":{\"full\":\"Deceive.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":240,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
88
+ cost }} Mana\",\"maxrank\":5,\"cost\":[90,80,70,60,50],\"costType\":\"Mana\",\"costBurn\":\"90/80/70/60/50\",\"cooldown\":[0,0,0,0,0],\"cooldownBurn\":\"0\",\"effect\":[[140,160,180,200,220],[200,200,200,200,200],[3,3,3,3,3],[6,6,6,6,6]],\"effectBurn\":[\"140/160/180/200/220\",\"200\",\"3.5\",\"6\"],\"range\":[400,400,400,400,400],\"rangeBurn\":\"400\",\"key\":\"Deceive\"},{\"name\":\"Jack
89
+ In The Box\",\"description\":\"Shaco creates an animated Jack-in-the-Box at
90
+ target location, which will wait, invisible, to Fear nearby units and attack
91
+ them when some come nearby. \",\"sanitizedDescription\":\"Shaco creates an
92
+ animated Jack-in-the-Box at target location, which will wait, invisible, to
93
+ Fear nearby units and attack them when some come nearby.\",\"tooltip\":\"Shaco
94
+ creates a Jack in the Box at the target location. It will become invisible
95
+ after 2 seconds, and pop out when an enemy comes near, fearing nearby enemies
96
+ for {{ e3 }} seconds and attacking them.<br><br>Its attacks deal {{ e1 }}
97
+ <span class=\\\"color99FF99\\\">(+{{ a1 }})</span> magic damage and it lasts
98
+ for {{ e4 }} seconds while invisible or 5 seconds while firing. \",\"sanitizedTooltip\":\"Shaco
99
+ creates a Jack in the Box at the target location. It will become invisible
100
+ after 2 seconds, and pop out when an enemy comes near, fearing nearby enemies
101
+ for {{ e3 }} seconds and attacking them. Its attacks deal {{ e1 }} (+{{ a1
102
+ }}) magic damage and it lasts for {{ e4 }} seconds while invisible or 5 seconds
103
+ while firing.\",\"leveltip\":{\"label\":[\"Damage\",\"Fear Length\",\"Mana
104
+ Cost\"],\"effect\":[\"{{ e1 }} -> {{ e1NL }}\",\"{{ e3 }} -> {{ e3NL }}\",\"{{
105
+ cost }} -> {{ costnNL }}\"]},\"image\":{\"full\":\"JackInTheBox.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":288,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
106
+ cost }} Mana\",\"maxrank\":5,\"cost\":[50,55,60,65,70],\"costType\":\"Mana\",\"costBurn\":\"50/55/60/65/70\",\"cooldown\":[0,0,0,0,0],\"cooldownBurn\":\"0\",\"effect\":[[35,50,65,80,95],[200,300,400,500,600],[0,0,1,1,1],[60,60,60,60,60]],\"effectBurn\":[\"35/50/65/80/95\",\"200/300/400/500/600\",\"0.5/0.75/1/1.25/1.5\",\"60\"],\"vars\":[{\"key\":\"a1\",\"link\":\"spelldamage\",\"coeff\":[0.2]}],\"range\":[425,425,425,425,425],\"rangeBurn\":\"425\",\"key\":\"JackInTheBox\"},{\"name\":\"Two-Shiv
107
+ Poison\",\"description\":\"Shaco's Shivs passively poison targets on hit,
108
+ slowing them and applying a miss chance to minions. He can throw his Shivs
109
+ to deal damage and poison the target.\",\"sanitizedDescription\":\"Shaco's
110
+ Shivs passively poison targets on hit, slowing them and applying a miss chance
111
+ to minions. He can throw his Shivs to deal damage and poison the target.\",\"tooltip\":\"<span
112
+ class=\\\"colorFF9900\\\">Passive: </span>While Two-Shiv Poison is ready to
113
+ cast, Shaco's basic attacks reduce the target's Movement Speed by {{ e2 }}%
114
+ for {{ e4 }} seconds. Also reduces minions' chance to hit by {{ e3 }}% for
115
+ {{ e4 }} seconds.<br><br><span class=\\\"colorFF9900\\\">Active: </span>Deals
116
+ {{ e1 }} <span class=\\\"colorFF8C00\\\">(+{{ f1 }})</span> <span class=\\\"color99FF99\\\">(+{{
117
+ a1 }}) </span>magic damage to target enemy and reduces their Movement Speed
118
+ by {{ e2 }}% for {{ e5 }} seconds.\",\"sanitizedTooltip\":\"Passive: While
119
+ Two-Shiv Poison is ready to cast, Shaco's basic attacks reduce the target's
120
+ Movement Speed by {{ e2 }}% for {{ e4 }} seconds. Also reduces minions' chance
121
+ to hit by {{ e3 }}% for {{ e4 }} seconds. Active: Deals {{ e1 }} (+{{ f1 }})
122
+ (+{{ a1 }}) magic damage to target enemy and reduces their Movement Speed
123
+ by {{ e2 }}% for {{ e5 }} seconds.\",\"leveltip\":{\"label\":[\"Shiv Damage\",\"Slow
124
+ Percent\",\"Miss Chance\",\"Mana Cost\"],\"effect\":[\"{{ e1 }} -> {{ e1NL
125
+ }}\",\" {{ e2 }}% -> {{ e2NL }}%\",\"{{ e3 }} -> {{ e3NL }}%\",\"{{ cost }}
126
+ -> {{ costnNL }}\"]},\"image\":{\"full\":\"TwoShivPoison.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":336,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
127
+ cost }} Mana\",\"maxrank\":5,\"cost\":[50,55,60,65,70],\"costType\":\"Mana\",\"costBurn\":\"50/55/60/65/70\",\"cooldown\":[8,8,8,8,8],\"cooldownBurn\":\"8\",\"effect\":[[50,90,130,170,210],[10,15,20,25,30],[20,22,25,27,30],[2,2,2,2,2],[3,3,3,3,3]],\"effectBurn\":[\"50/90/130/170/210\",\"10/15/20/25/30\",\"20/22.5/25/27.5/30\",\"2\",\"3\"],\"vars\":[{\"key\":\"f1\",\"link\":\"bonusattackdamage\",\"coeff\":[1.0]},{\"key\":\"a1\",\"link\":\"spelldamage\",\"coeff\":[1.0]}],\"range\":[625,625,625,625,625],\"rangeBurn\":\"625\",\"key\":\"TwoShivPoison\"},{\"name\":\"Hallucinate\",\"description\":\"Shaco
128
+ creates an illusion of himself near him, which can attack nearby enemies.
129
+ (Deals half damage to turrets.) Upon death, it explodes, dealing damage to
130
+ nearby enemies. \",\"sanitizedDescription\":\"Shaco creates an illusion of
131
+ himself near him, which can attack nearby enemies. (Deals half damage to turrets.)
132
+ Upon death, it explodes, dealing damage to nearby enemies.\",\"tooltip\":\"Shaco
133
+ vanishes briefly and reappears with a clone that lasts up to 18 seconds. The
134
+ clone deals 75% of Shaco's damage and receives {{ e2 }}% increased damage.<br><br>On
135
+ death, the clone detonates, dealing {{ e1 }} <span class=\\\"color99FF99\\\">(+{{
136
+ a1 }})</span> magic damage to nearby enemies.<br><br><span class=\\\"color99FF99\\\">The
137
+ clone can be controlled by holding the alt key and using the right mouse button
138
+ or by reactivating this ability.</span>\",\"sanitizedTooltip\":\"Shaco vanishes
139
+ briefly and reappears with a clone that lasts up to 18 seconds. The clone
140
+ deals 75% of Shaco's damage and receives {{ e2 }}% increased damage. On death,
141
+ the clone detonates, dealing {{ e1 }} (+{{ a1 }}) magic damage to nearby enemies.
142
+ The clone can be controlled by holding the alt key and using the right mouse
143
+ button or by reactivating this ability.\",\"leveltip\":{\"label\":[\"On Death
144
+ Damage\",\"Cooldown\"],\"effect\":[\"{{ e1 }} -> {{ e1NL }}\",\"{{ cooldown
145
+ }} -> {{ cooldownnNL }}\"]},\"image\":{\"full\":\"HallucinateFull.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":384,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
146
+ cost }} Mana\",\"maxrank\":3,\"cost\":[100,100,100],\"costType\":\"Mana\",\"costBurn\":\"100\",\"cooldown\":[100,90,80],\"cooldownBurn\":\"100/90/80\",\"effect\":[[300,450,600],[50,50,50],[15,15,15]],\"effectBurn\":[\"300/450/600\",\"50\",\"15\"],\"vars\":[{\"key\":\"a1\",\"link\":\"spelldamage\",\"coeff\":[1.0]}],\"range\":\"self\",\"rangeBurn\":\"self\",\"key\":\"HallucinateFull\"}],\"passive\":{\"name\":\"Backstab\",\"description\":\"Shaco
147
+ deals 20% bonus damage when striking a unit from behind.\",\"sanitizedDescription\":\"Shaco
148
+ deals 20% bonus damage when striking a unit from behind.\",\"image\":{\"full\":\"Jester_CarefulStrikes.png\",\"sprite\":\"passive2.png\",\"group\":\"passive\",\"x\":336,\"y\":48,\"w\":48,\"h\":48}},\"recommended\":[{\"champion\":\"Shaco\",\"title\":\"Beginner\",\"type\":\"riot-beginner\",\"map\":\"1\",\"mode\":\"CLASSIC\",\"priority\":false,\"blocks\":[{\"type\":\"beginner_Starter\",\"items\":[{\"id\":1055,\"count\":1},{\"id\":2003,\"count\":1}]},{\"type\":\"beginner_Basic\",\"items\":[{\"id\":1054,\"count\":1}]},{\"type\":\"beginner_Advanced\",\"recMath\":true,\"items\":[{\"id\":1051,\"count\":1},{\"id\":3093,\"count\":1}]},{\"type\":\"beginner_MovementSpeed\",\"recMath\":true,\"items\":[{\"id\":1001,\"count\":1},{\"id\":1042,\"count\":1},{\"id\":3006,\"count\":1}]},{\"type\":\"beginner_LegendaryItem\",\"recMath\":true,\"items\":[{\"id\":3093,\"count\":1},{\"id\":3086,\"count\":1},{\"id\":3087,\"count\":1}]},{\"type\":\"beginner_MoreLegendaryItems\",\"items\":[{\"id\":3072,\"count\":1},{\"id\":3022,\"count\":1},{\"id\":3031,\"count\":1},{\"id\":3102,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoHA\",\"type\":\"riot\",\"map\":\"12\",\"mode\":\"ARAM\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1001,\"count\":1},{\"id\":2003,\"count\":2},{\"id\":1056,\"count\":2}]},{\"type\":\"essential\",\"items\":[{\"id\":3020,\"count\":1},{\"id\":3089,\"count\":1},{\"id\":3128,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3100,\"count\":1},{\"id\":3135,\"count\":1},{\"id\":3151,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3001,\"count\":1},{\"id\":3157,\"count\":1},{\"id\":3023,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2004,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoDM\",\"type\":\"riot\",\"map\":\"8\",\"mode\":\"ODIN\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1001,\"count\":1},{\"id\":1052,\"count\":2},{\"id\":2003,\"count\":3}]},{\"type\":\"essential\",\"items\":[{\"id\":3090,\"count\":1},{\"id\":3117,\"count\":1},{\"id\":3187,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3135,\"count\":1},{\"id\":3188,\"count\":1},{\"id\":3100,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3001,\"count\":1},{\"id\":3290,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2004,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoFIRSTBLOOD\",\"type\":\"riot\",\"map\":\"12\",\"mode\":\"FIRSTBLOOD\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1074,\"count\":1},{\"id\":2003,\"count\":1},{\"id\":3342,\"count\":1}]},{\"type\":\"essential\",\"items\":[{\"id\":3006,\"count\":1},{\"id\":3093,\"count\":1},{\"id\":3044,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3142,\"count\":1},{\"id\":3031,\"count\":1},{\"id\":3078,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3091,\"count\":1},{\"id\":3022,\"count\":1},{\"id\":3026,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2044,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoSR\",\"type\":\"riot\",\"map\":\"1\",\"mode\":\"CLASSIC\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1039,\"count\":1},{\"id\":2003,\"count\":5},{\"id\":3342,\"count\":1}]},{\"type\":\"essential\",\"items\":[{\"id\":3006,\"count\":1},{\"id\":3154,\"count\":1},{\"id\":3093,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3142,\"count\":1},{\"id\":3031,\"count\":1},{\"id\":3087,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3091,\"count\":1},{\"id\":3022,\"count\":1},{\"id\":3026,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2044,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoTT\",\"type\":\"riot\",\"map\":\"10\",\"mode\":\"CLASSIC\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1001,\"count\":1},{\"id\":1052,\"count\":1},{\"id\":2003,\"count\":1}]},{\"type\":\"essential\",\"items\":[{\"id\":3020,\"count\":1},{\"id\":3090,\"count\":1},{\"id\":3187,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3135,\"count\":1},{\"id\":3188,\"count\":1},{\"id\":3100,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3001,\"count\":1},{\"id\":3069,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2004,\"count\":1}]}]}]}"
149
+ http_version:
150
+ recorded_at: Thu, 17 Apr 2014 19:36:15 GMT
151
+ recorded_with: VCR 2.9.0
@@ -0,0 +1,151 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://prod.api.pvp.net/api/lol/static-data/na/v1.2/champion/35?api_key=test_key&champData=all&locale=en_US&version
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.8.9
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Headers:
22
+ - Content-Type
23
+ Access-Control-Allow-Methods:
24
+ - GET, POST, DELETE, PUT
25
+ Access-Control-Allow-Origin:
26
+ - "*"
27
+ Content-Type:
28
+ - application/json; charset=UTF-8
29
+ Date:
30
+ - Thu, 17 Apr 2014 19:35:41 GMT
31
+ Server:
32
+ - Jetty(9.1.1.v20140108)
33
+ Vary:
34
+ - Accept-Encoding, User-Agent
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: "{\"id\":35,\"key\":\"Shaco\",\"name\":\"Shaco\",\"title\":\"the Demon
42
+ Jester\",\"image\":{\"full\":\"Shaco.png\",\"sprite\":\"champion2.png\",\"group\":\"champion\",\"x\":336,\"y\":48,\"w\":48,\"h\":48},\"skins\":[{\"id\":35000,\"name\":\"default\",\"num\":0},{\"id\":35001,\"name\":\"Mad
43
+ Hatter Shaco\",\"num\":1},{\"id\":35002,\"name\":\"Royal Shaco\",\"num\":2},{\"id\":35003,\"name\":\"Nutcracko\",\"num\":3},{\"id\":35004,\"name\":\"Workshop
44
+ Shaco\",\"num\":4},{\"id\":35005,\"name\":\"Asylum Shaco\",\"num\":5},{\"id\":35006,\"name\":\"Masked
45
+ Shaco\",\"num\":6}],\"lore\":\"Most would say that death isn't funny. It isn't,
46
+ unless you're Shaco - then it's hysterical. He is Valoran's first fully functioning
47
+ homicidal comic; he jests until someone dies, and then he laughs. The figure
48
+ that has come to be known as the Demon Jester is an enigma. No one fully agrees
49
+ from whence he came, and Shaco never offers any details on his own. A popular
50
+ belief is that Shaco is not of Runeterra - that he is a thing summoned from
51
+ a dark and twisted world. Still others believe that he is the demonic manifestation
52
+ of humanity's dark urges and therefore cannot be reasoned with. The most plausible
53
+ belief is that Shaco is an assassin for hire, left to his own lunatic devices
54
+ until his services are needed. Shaco certainly has proven himself to be a
55
+ cunning individual, evading authorities at every turn who might seek him for
56
+ questioning for some horrendous, law-breaking atrocity. While such scuttlebutt
57
+ might reassure the native inhabitants of Valoran, it seems unimaginable that
58
+ such a malfeasant figure is allowed to remain at large.<br><br>Whatever the
59
+ truth of his history might be, Shaco has joined the League of Legends for
60
+ reasons only he knows. He is a terrifying figure, typically shunned by both
61
+ his fellow champions and the media at large. Only the summoners in the Institute
62
+ of War know why such a creature was allowed into the League, but most Runeterrans
63
+ suspect it to be a means that allows the power that be to keep an eye on the
64
+ ever-elusive Shaco. Unsurprisingly, this champion is popular in places where
65
+ madness can openly reign, such as among the power-hungry summoners of Zaun
66
+ and Noxus.<br><br>Whatever you do, don't tell him you missed the punch line.\",\"blurb\":\"Most
67
+ would say that death isn't funny. It isn't, unless you're Shaco - then it's
68
+ hysterical. He is Valoran's first fully functioning homicidal comic; he jests
69
+ until someone dies, and then he laughs. The figure that has come to be known
70
+ as the Demon ...\",\"allytips\":[\"Using Deceive over terrain can help you
71
+ make a clean escape.\",\"Try getting items with on-hit effects. These will
72
+ also benefit your Hallucination clone.\",\"Deceive's damage can be increased
73
+ with increased Critical Damage effects like Infinity Edge.\"],\"enemytips\":[\"If
74
+ Shaco is doing well early-game, it is worth the investment to buy Vision Wards.\",\"If
75
+ Shaco uses Deceive to enter a fight he won't be able to quickly use it again
76
+ to get away. Work with your team to quickly focus him down.\"],\"tags\":[\"Assassin\"],\"partype\":\"Mana\",\"info\":{\"attack\":8,\"defense\":4,\"magic\":6,\"difficulty\":9},\"stats\":{\"armor\":19.0,\"armorperlevel\":3.5,\"attackdamage\":51.7,\"attackdamageperlevel\":3.5,\"attackrange\":125.0,\"attackspeedoffset\":-0.1,\"attackspeedperlevel\":3.0,\"crit\":0.0,\"critperlevel\":0.0,\"hp\":441.0,\"hpperlevel\":84.0,\"hpregen\":7.45,\"hpregenperlevel\":0.55,\"movespeed\":350.0,\"mp\":230.0,\"mpperlevel\":40.0,\"mpregen\":6.4,\"mpregenperlevel\":0.45,\"spellblock\":30.0,\"spellblockperlevel\":1.25},\"spells\":[{\"name\":\"Deceive\",\"description\":\"Shaco
77
+ becomes invisible and teleports to target location. His next attack is guaranteed
78
+ to critically strike.\",\"sanitizedDescription\":\"Shaco becomes invisible
79
+ and teleports to target location. His next attack is guaranteed to critically
80
+ strike.\",\"tooltip\":\"Shaco teleports nearby and becomes invisible for 3.5
81
+ seconds.<br><br>His next basic attack within the next 6 seconds will critically
82
+ strike, dealing {{ e1 }}% damage (normal critical strikes deal {{ e2 }}% damage).\",\"sanitizedTooltip\":\"Shaco
83
+ teleports nearby and becomes invisible for 3.5 seconds. His next basic attack
84
+ within the next 6 seconds will critically strike, dealing {{ e1 }}% damage
85
+ (normal critical strikes deal {{ e2 }}% damage).\",\"leveltip\":{\"label\":[\"Critical
86
+ Strike Damage\",\"Mana Cost\"],\"effect\":[\"{{ e1 }}% -> {{ e1NL }}%\",\"{{
87
+ cost }} -> {{ costnNL }}\"]},\"image\":{\"full\":\"Deceive.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":240,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
88
+ cost }} Mana\",\"maxrank\":5,\"cost\":[90,80,70,60,50],\"costType\":\"Mana\",\"costBurn\":\"90/80/70/60/50\",\"cooldown\":[0,0,0,0,0],\"cooldownBurn\":\"0\",\"effect\":[[140,160,180,200,220],[200,200,200,200,200],[3,3,3,3,3],[6,6,6,6,6]],\"effectBurn\":[\"140/160/180/200/220\",\"200\",\"3.5\",\"6\"],\"range\":[400,400,400,400,400],\"rangeBurn\":\"400\",\"key\":\"Deceive\"},{\"name\":\"Jack
89
+ In The Box\",\"description\":\"Shaco creates an animated Jack-in-the-Box at
90
+ target location, which will wait, invisible, to Fear nearby units and attack
91
+ them when some come nearby. \",\"sanitizedDescription\":\"Shaco creates an
92
+ animated Jack-in-the-Box at target location, which will wait, invisible, to
93
+ Fear nearby units and attack them when some come nearby.\",\"tooltip\":\"Shaco
94
+ creates a Jack in the Box at the target location. It will become invisible
95
+ after 2 seconds, and pop out when an enemy comes near, fearing nearby enemies
96
+ for {{ e3 }} seconds and attacking them.<br><br>Its attacks deal {{ e1 }}
97
+ <span class=\\\"color99FF99\\\">(+{{ a1 }})</span> magic damage and it lasts
98
+ for {{ e4 }} seconds while invisible or 5 seconds while firing. \",\"sanitizedTooltip\":\"Shaco
99
+ creates a Jack in the Box at the target location. It will become invisible
100
+ after 2 seconds, and pop out when an enemy comes near, fearing nearby enemies
101
+ for {{ e3 }} seconds and attacking them. Its attacks deal {{ e1 }} (+{{ a1
102
+ }}) magic damage and it lasts for {{ e4 }} seconds while invisible or 5 seconds
103
+ while firing.\",\"leveltip\":{\"label\":[\"Damage\",\"Fear Length\",\"Mana
104
+ Cost\"],\"effect\":[\"{{ e1 }} -> {{ e1NL }}\",\"{{ e3 }} -> {{ e3NL }}\",\"{{
105
+ cost }} -> {{ costnNL }}\"]},\"image\":{\"full\":\"JackInTheBox.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":288,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
106
+ cost }} Mana\",\"maxrank\":5,\"cost\":[50,55,60,65,70],\"costType\":\"Mana\",\"costBurn\":\"50/55/60/65/70\",\"cooldown\":[0,0,0,0,0],\"cooldownBurn\":\"0\",\"effect\":[[35,50,65,80,95],[200,300,400,500,600],[0,0,1,1,1],[60,60,60,60,60]],\"effectBurn\":[\"35/50/65/80/95\",\"200/300/400/500/600\",\"0.5/0.75/1/1.25/1.5\",\"60\"],\"vars\":[{\"key\":\"a1\",\"link\":\"spelldamage\",\"coeff\":[0.2]}],\"range\":[425,425,425,425,425],\"rangeBurn\":\"425\",\"key\":\"JackInTheBox\"},{\"name\":\"Two-Shiv
107
+ Poison\",\"description\":\"Shaco's Shivs passively poison targets on hit,
108
+ slowing them and applying a miss chance to minions. He can throw his Shivs
109
+ to deal damage and poison the target.\",\"sanitizedDescription\":\"Shaco's
110
+ Shivs passively poison targets on hit, slowing them and applying a miss chance
111
+ to minions. He can throw his Shivs to deal damage and poison the target.\",\"tooltip\":\"<span
112
+ class=\\\"colorFF9900\\\">Passive: </span>While Two-Shiv Poison is ready to
113
+ cast, Shaco's basic attacks reduce the target's Movement Speed by {{ e2 }}%
114
+ for {{ e4 }} seconds. Also reduces minions' chance to hit by {{ e3 }}% for
115
+ {{ e4 }} seconds.<br><br><span class=\\\"colorFF9900\\\">Active: </span>Deals
116
+ {{ e1 }} <span class=\\\"colorFF8C00\\\">(+{{ f1 }})</span> <span class=\\\"color99FF99\\\">(+{{
117
+ a1 }}) </span>magic damage to target enemy and reduces their Movement Speed
118
+ by {{ e2 }}% for {{ e5 }} seconds.\",\"sanitizedTooltip\":\"Passive: While
119
+ Two-Shiv Poison is ready to cast, Shaco's basic attacks reduce the target's
120
+ Movement Speed by {{ e2 }}% for {{ e4 }} seconds. Also reduces minions' chance
121
+ to hit by {{ e3 }}% for {{ e4 }} seconds. Active: Deals {{ e1 }} (+{{ f1 }})
122
+ (+{{ a1 }}) magic damage to target enemy and reduces their Movement Speed
123
+ by {{ e2 }}% for {{ e5 }} seconds.\",\"leveltip\":{\"label\":[\"Shiv Damage\",\"Slow
124
+ Percent\",\"Miss Chance\",\"Mana Cost\"],\"effect\":[\"{{ e1 }} -> {{ e1NL
125
+ }}\",\" {{ e2 }}% -> {{ e2NL }}%\",\"{{ e3 }} -> {{ e3NL }}%\",\"{{ cost }}
126
+ -> {{ costnNL }}\"]},\"image\":{\"full\":\"TwoShivPoison.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":336,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
127
+ cost }} Mana\",\"maxrank\":5,\"cost\":[50,55,60,65,70],\"costType\":\"Mana\",\"costBurn\":\"50/55/60/65/70\",\"cooldown\":[8,8,8,8,8],\"cooldownBurn\":\"8\",\"effect\":[[50,90,130,170,210],[10,15,20,25,30],[20,22,25,27,30],[2,2,2,2,2],[3,3,3,3,3]],\"effectBurn\":[\"50/90/130/170/210\",\"10/15/20/25/30\",\"20/22.5/25/27.5/30\",\"2\",\"3\"],\"vars\":[{\"key\":\"f1\",\"link\":\"bonusattackdamage\",\"coeff\":[1.0]},{\"key\":\"a1\",\"link\":\"spelldamage\",\"coeff\":[1.0]}],\"range\":[625,625,625,625,625],\"rangeBurn\":\"625\",\"key\":\"TwoShivPoison\"},{\"name\":\"Hallucinate\",\"description\":\"Shaco
128
+ creates an illusion of himself near him, which can attack nearby enemies.
129
+ (Deals half damage to turrets.) Upon death, it explodes, dealing damage to
130
+ nearby enemies. \",\"sanitizedDescription\":\"Shaco creates an illusion of
131
+ himself near him, which can attack nearby enemies. (Deals half damage to turrets.)
132
+ Upon death, it explodes, dealing damage to nearby enemies.\",\"tooltip\":\"Shaco
133
+ vanishes briefly and reappears with a clone that lasts up to 18 seconds. The
134
+ clone deals 75% of Shaco's damage and receives {{ e2 }}% increased damage.<br><br>On
135
+ death, the clone detonates, dealing {{ e1 }} <span class=\\\"color99FF99\\\">(+{{
136
+ a1 }})</span> magic damage to nearby enemies.<br><br><span class=\\\"color99FF99\\\">The
137
+ clone can be controlled by holding the alt key and using the right mouse button
138
+ or by reactivating this ability.</span>\",\"sanitizedTooltip\":\"Shaco vanishes
139
+ briefly and reappears with a clone that lasts up to 18 seconds. The clone
140
+ deals 75% of Shaco's damage and receives {{ e2 }}% increased damage. On death,
141
+ the clone detonates, dealing {{ e1 }} (+{{ a1 }}) magic damage to nearby enemies.
142
+ The clone can be controlled by holding the alt key and using the right mouse
143
+ button or by reactivating this ability.\",\"leveltip\":{\"label\":[\"On Death
144
+ Damage\",\"Cooldown\"],\"effect\":[\"{{ e1 }} -> {{ e1NL }}\",\"{{ cooldown
145
+ }} -> {{ cooldownnNL }}\"]},\"image\":{\"full\":\"HallucinateFull.png\",\"sprite\":\"spell8.png\",\"group\":\"spell\",\"x\":384,\"y\":0,\"w\":48,\"h\":48},\"resource\":\"{{
146
+ cost }} Mana\",\"maxrank\":3,\"cost\":[100,100,100],\"costType\":\"Mana\",\"costBurn\":\"100\",\"cooldown\":[100,90,80],\"cooldownBurn\":\"100/90/80\",\"effect\":[[300,450,600],[50,50,50],[15,15,15]],\"effectBurn\":[\"300/450/600\",\"50\",\"15\"],\"vars\":[{\"key\":\"a1\",\"link\":\"spelldamage\",\"coeff\":[1.0]}],\"range\":\"self\",\"rangeBurn\":\"self\",\"key\":\"HallucinateFull\"}],\"passive\":{\"name\":\"Backstab\",\"description\":\"Shaco
147
+ deals 20% bonus damage when striking a unit from behind.\",\"sanitizedDescription\":\"Shaco
148
+ deals 20% bonus damage when striking a unit from behind.\",\"image\":{\"full\":\"Jester_CarefulStrikes.png\",\"sprite\":\"passive2.png\",\"group\":\"passive\",\"x\":336,\"y\":48,\"w\":48,\"h\":48}},\"recommended\":[{\"champion\":\"Shaco\",\"title\":\"Beginner\",\"type\":\"riot-beginner\",\"map\":\"1\",\"mode\":\"CLASSIC\",\"priority\":false,\"blocks\":[{\"type\":\"beginner_Starter\",\"items\":[{\"id\":1055,\"count\":1},{\"id\":2003,\"count\":1}]},{\"type\":\"beginner_Basic\",\"items\":[{\"id\":1054,\"count\":1}]},{\"type\":\"beginner_Advanced\",\"recMath\":true,\"items\":[{\"id\":1051,\"count\":1},{\"id\":3093,\"count\":1}]},{\"type\":\"beginner_MovementSpeed\",\"recMath\":true,\"items\":[{\"id\":1001,\"count\":1},{\"id\":1042,\"count\":1},{\"id\":3006,\"count\":1}]},{\"type\":\"beginner_LegendaryItem\",\"recMath\":true,\"items\":[{\"id\":3093,\"count\":1},{\"id\":3086,\"count\":1},{\"id\":3087,\"count\":1}]},{\"type\":\"beginner_MoreLegendaryItems\",\"items\":[{\"id\":3072,\"count\":1},{\"id\":3022,\"count\":1},{\"id\":3031,\"count\":1},{\"id\":3102,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoHA\",\"type\":\"riot\",\"map\":\"12\",\"mode\":\"ARAM\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1001,\"count\":1},{\"id\":2003,\"count\":2},{\"id\":1056,\"count\":2}]},{\"type\":\"essential\",\"items\":[{\"id\":3020,\"count\":1},{\"id\":3089,\"count\":1},{\"id\":3128,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3100,\"count\":1},{\"id\":3135,\"count\":1},{\"id\":3151,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3001,\"count\":1},{\"id\":3157,\"count\":1},{\"id\":3023,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2004,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoDM\",\"type\":\"riot\",\"map\":\"8\",\"mode\":\"ODIN\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1001,\"count\":1},{\"id\":1052,\"count\":2},{\"id\":2003,\"count\":3}]},{\"type\":\"essential\",\"items\":[{\"id\":3090,\"count\":1},{\"id\":3117,\"count\":1},{\"id\":3187,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3135,\"count\":1},{\"id\":3188,\"count\":1},{\"id\":3100,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3001,\"count\":1},{\"id\":3290,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2004,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoFIRSTBLOOD\",\"type\":\"riot\",\"map\":\"12\",\"mode\":\"FIRSTBLOOD\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1074,\"count\":1},{\"id\":2003,\"count\":1},{\"id\":3342,\"count\":1}]},{\"type\":\"essential\",\"items\":[{\"id\":3006,\"count\":1},{\"id\":3093,\"count\":1},{\"id\":3044,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3142,\"count\":1},{\"id\":3031,\"count\":1},{\"id\":3078,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3091,\"count\":1},{\"id\":3022,\"count\":1},{\"id\":3026,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2044,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoSR\",\"type\":\"riot\",\"map\":\"1\",\"mode\":\"CLASSIC\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1039,\"count\":1},{\"id\":2003,\"count\":5},{\"id\":3342,\"count\":1}]},{\"type\":\"essential\",\"items\":[{\"id\":3006,\"count\":1},{\"id\":3154,\"count\":1},{\"id\":3093,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3142,\"count\":1},{\"id\":3031,\"count\":1},{\"id\":3087,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3091,\"count\":1},{\"id\":3022,\"count\":1},{\"id\":3026,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2044,\"count\":1}]}]},{\"champion\":\"Shaco\",\"title\":\"ShacoTT\",\"type\":\"riot\",\"map\":\"10\",\"mode\":\"CLASSIC\",\"priority\":false,\"blocks\":[{\"type\":\"starting\",\"items\":[{\"id\":1001,\"count\":1},{\"id\":1052,\"count\":1},{\"id\":2003,\"count\":1}]},{\"type\":\"essential\",\"items\":[{\"id\":3020,\"count\":1},{\"id\":3090,\"count\":1},{\"id\":3187,\"count\":1}]},{\"type\":\"offensive\",\"items\":[{\"id\":3135,\"count\":1},{\"id\":3188,\"count\":1},{\"id\":3100,\"count\":1}]},{\"type\":\"defensive\",\"items\":[{\"id\":3001,\"count\":1},{\"id\":3069,\"count\":1}]},{\"type\":\"Consumables\",\"items\":[{\"id\":2003,\"count\":1},{\"id\":2004,\"count\":1}]}]}]}"
149
+ http_version:
150
+ recorded_at: Thu, 17 Apr 2014 19:36:15 GMT
151
+ recorded_with: VCR 2.9.0