riot_games_api 0.0.2

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 (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