diff --git a/Cargo.toml b/Cargo.toml index b38167d..afd9c3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,16 +10,28 @@ homepage = "https://github.com/Leastrio/Shaco" repository = "https://github.com/Leastrio/Shaco" [dependencies] -sysinfo = "0.29.11" -base64 = "0.21.0" -native-tls = "0.2.11" -futures-util = "0.3.25" +# async tokio = "1.24.2" -tokio-tungstenite = { version = "0.20.1", features = ["native-tls"] } -reqwest = { version = "0.11.14", features = ["json"] } +futures-util = "0.3.25" +# async websockets +tokio-tungstenite = { version = "0.23.1", features = ["__rustls-tls"] } +# async http +reqwest = { version = "0.12.2", default-features = false, features = [ + "json", + "rustls-tls", +] } +# riot auth +riot_local_auth = { git = "https://github.com/FFFFFFFXXXXXXX/riot_local_auth" } +rustls = { version = "0.23.12", default-features = false, features = [ + "ring", + "logging", + "std", + "tls12", +] } +rustls-pemfile = "2.0.0" +# serde serde = { version = "1.0", features = ["derive"] } -serde_json = { version = "1.0.91", features = ["raw_value"] } -serde-single-key-map = "0.1.0" +serde_json = "1.0.91" derive_more = { version = "0.99.17", features = ["display"] } [dev-dependencies] diff --git a/examples/change_status.rs b/examples/change_status.rs index 5d51480..dbbc9b7 100644 --- a/examples/change_status.rs +++ b/examples/change_status.rs @@ -1,14 +1,13 @@ #[tokio::main] async fn main() -> Result<(), Box> { - let client = shaco::rest::RESTClient::new()?; + let client = shaco::rest::LcuRestClient::new()?; - client.put("/lol-chat/v1/me", - serde_json::json!({ - "statusMessage": "Please DO NOT buy the BTS meal if you don't stan them. You're preventing the actual BTS fans who have waited for months from having the BTS meal experience. Eating the sauces without understanding their significance is literally cultural appropriation and it's not okay" - }) - ).await?; - - println!("Status Changed!"); + println!( + "{:#?}", + client + .get("/lol-gameflow/v1/gameflow-metadata/player-status") + .await? + ); Ok(()) } diff --git a/examples/game_data.rs b/examples/game_data.rs index bfc0e9a..34bf53f 100644 --- a/examples/game_data.rs +++ b/examples/game_data.rs @@ -1,6 +1,6 @@ #[tokio::main] async fn main() -> Result<(), Box> { - let client = shaco::ingame::IngameClient::new()?; + let client = shaco::ingame::IngameClient::new(); let data = client.all_game_data(None).await?; diff --git a/examples/ingame_events.rs b/examples/ingame_events.rs index b072bbf..77f9e94 100644 --- a/examples/ingame_events.rs +++ b/examples/ingame_events.rs @@ -1,15 +1,14 @@ -use futures_util::StreamExt; - -use shaco::{ingame::EventStream, ingame::IngameClient}; - -#[tokio::main] -async fn main() -> Result<(), Box> { - let ingame_client = IngameClient::new()?; - let mut event_stream = EventStream::from_ingame_client(ingame_client, None); - - while let Some(event) = event_stream.next().await { - println!("{:?}", event) - } - - Ok(()) -} +use futures_util::StreamExt; + +use shaco::ingame::EventStream; + +#[tokio::main] +async fn main() -> Result<(), Box> { + let mut event_stream = EventStream::new(); + + while let Some(event) = event_stream.next().await { + println!("{:?}", event) + } + + Ok(()) +} diff --git a/examples/ingame_test.rs b/examples/ingame_test.rs new file mode 100644 index 0000000..4b81432 --- /dev/null +++ b/examples/ingame_test.rs @@ -0,0 +1,47 @@ +use shaco::ingame::IngameClient; + +#[tokio::main] +async fn main() { + let client = IngameClient::new(); + + let mut loading_screen = false; + let mut ingame = false; + let mut spectator = false; + loop { + let mut print = false; + + let new_loading_screen = client.active_game_loadingscreen().await; + if new_loading_screen != loading_screen { + loading_screen = new_loading_screen; + print = true; + } + + let new_ingame = client.active_game().await; + if new_ingame != ingame { + ingame = new_ingame; + print = true; + + if ingame { + let time = client + .all_game_data(None) + .await + .unwrap() + .game_data + .game_time; + println!("time: {time}"); + } + } + + let new_spectator = client.is_spectator_mode().await.is_ok_and(|b| b); + if new_spectator != spectator { + spectator = new_spectator; + print = true; + } + + if print { + println!("loading screen: {loading_screen}"); + println!("ingame: {ingame}"); + println!("spectator: {spectator}"); + } + } +} diff --git a/examples/websocket_events.rs b/examples/websocket_events.rs index 3af9a7c..9986707 100644 --- a/examples/websocket_events.rs +++ b/examples/websocket_events.rs @@ -7,13 +7,13 @@ async fn main() -> Result<(), Box> { let mut client = ws::LcuWebsocketClient::connect().await?; client .subscribe(LcuSubscriptionType::JsonApiEvent( - "/lol-gameflow/v1/gameflow-phase".to_string(), + "/lol-gameflow/v1/session".to_string(), )) .await .unwrap(); while let Some(event) = client.next().await { - println!("Event: {:?}", event); + println!("Event: {:#?}", event); } Ok(()) diff --git a/src/riotgames.pem b/riotgames.pem similarity index 100% rename from src/riotgames.pem rename to riotgames.pem diff --git a/src/error.rs b/src/error.rs index 98608a4..4ea4ea5 100644 --- a/src/error.rs +++ b/src/error.rs @@ -1,45 +1,11 @@ use std::{error::Error, fmt, fmt::Display}; -/// Errors that can occur when trying to get the Riot process information -#[derive(Debug, Clone)] -pub(crate) enum ProcessInfoError { - /// League client has not been started - ProcessNotAvailable, - /// There has been an error getting the API port - PortNotFound, - /// There has been an error getting the API auth token - AuthTokenNotFound, -} - -impl Error for ProcessInfoError {} - -impl Display for ProcessInfoError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Self::ProcessNotAvailable => write!( - f, - "{:?}: Riot/League client process could not be found", - self - ), - Self::PortNotFound => write!( - f, - "{:?}: API port could not be parsed from process arguments", - self - ), - Self::AuthTokenNotFound => write!( - f, - "{:?}: API auth token could not be parsed from process arguments", - self - ), - } - } -} - /// Errors for the Ingame API #[derive(Debug, Clone)] pub enum IngameClientError { - /// An API might not be available yet during the loading screen + /// Some API calls only return valid results after the game has started even if other API calls already work ApiNotAvailableInSpectatorMode, + /// An API might not be available yet during the loading screen ApiNotAvailableDuringLoadingScreen, /// An error occurred on the client side probably because of a malformed request \ /// Corresponds to HTTP status responses 400 – 499, excluding 400 and 404 which are [IngameClientError::ApiNotAvailableInSpectatorMode] and [IngameClientError::ApiNotAvailableDuringLoadingScreen] diff --git a/src/ingame.rs b/src/ingame.rs index 929b49c..83d1987 100644 --- a/src/ingame.rs +++ b/src/ingame.rs @@ -1,6 +1,7 @@ use std::{task::Poll, time::Duration}; use futures_util::Stream; +use reqwest::{Certificate, Response}; use tokio::{ sync::mpsc::{unbounded_channel, UnboundedReceiver}, sync::oneshot, @@ -8,17 +9,32 @@ use tokio::{ task::JoinHandle, }; -use crate::{error::IngameClientError, model::ingame::*, utils::request::build_reqwest_client}; +use crate::{error::IngameClientError, model::ingame::*}; const PORT: u16 = 2999; +const DEFAULT_POLLING_RATE_MILLIS: Duration = Duration::from_millis(500); /// A client for the LoL-Ingame API pub struct IngameClient(reqwest::Client); +impl Default for IngameClient { + fn default() -> Self { + Self::new() + } +} + impl IngameClient { /// Create a new connection to the ingame api. This will return an error if a game is not running - pub fn new() -> Result { - Ok(Self(build_reqwest_client(None))) + pub fn new() -> Self { + Self( + reqwest::ClientBuilder::new() + .add_root_certificate( + Certificate::from_pem(include_bytes!("../riotgames.pem")).unwrap(), + ) + .timeout(Duration::from_millis(200)) + .build() + .unwrap(), + ) } /// Checks if there is an active game \ @@ -26,31 +42,33 @@ impl IngameClient { pub async fn active_game(&self) -> bool { let req = self .0 - // HEAD doesn't work with "/liveclientdata/allgamedata" for some reason - .head(format!( - "https://127.0.0.1:{}/GetLiveclientdataAllgamedata", + .get(format!( + "https://127.0.0.1:{}/GetLiveclientdataGamestats", PORT )) - // set a custom timeout so the function doesn't take forever to complete when the server is not reachable - .timeout(Duration::from_millis(100)) .send() .await; if let Ok(req) = req { - req.status().is_success() - } else { - false + // as soon as your own game has loaded the API returns GameStats but with a game_time slightly bigger than 0.0 + // this game_time stays constant until the game starts + // as far as I can tell the value is always something around ~0.02 + // => check if game_time is > 0.1 as a proxy for if the game has started + if let Ok(game_stats) = req.json::().await { + return game_stats.game_time > 0.1; + } } + + false } /// Checks if there is an active game \ - /// Returns true even in loading screen while other API calls still return Error + /// Same as [`IngameClient::active_game`] but returns true during loading screen when other API calls still return Error. + /// Also returns true when the game has already started. pub async fn active_game_loadingscreen(&self) -> bool { let req = self .0 .head(format!("https://127.0.0.1:{}/Help", PORT)) - // set a custom timeout so the function doesn't take forever to complete when the server is not reachable - .timeout(Duration::from_millis(100)) .send() .await; @@ -63,6 +81,12 @@ impl IngameClient { /// Checks if the game is a livegame or in spectatormode pub async fn is_spectator_mode(&self) -> Result { + // before the game has actually started the API sometimes returns falsely + // that the game is a spectator game when it is not + if !self.active_game().await { + return Err(IngameClientError::ApiNotAvailableDuringLoadingScreen); + } + let req = self .0 .head(format!( @@ -71,7 +95,7 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from); match req { @@ -94,7 +118,7 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -106,6 +130,17 @@ impl IngameClient { &self, event_id: Option, ) -> Result, IngameClientError> { + use crate::model::ingame::treat_error_as_none; + + #[derive(serde::Deserialize)] + #[serde(rename_all = "PascalCase")] + struct IngameEvents { + pub events: Vec, + } + + #[derive(serde::Deserialize)] + struct GameEventTmp(#[serde(deserialize_with = "treat_error_as_none")] Option); + self.0 .get(format!( "https://127.0.0.1:{}/GetLiveclientdataEventdata?eventID={}", @@ -114,12 +149,17 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json::() .await .map_err(IngameClientError::from) - .map(|ie| ie.events) + .map(|ie| { + ie.events + .into_iter() + .filter_map(|event| event.0) + .collect::>() + }) } /// Get the active games stats @@ -131,7 +171,7 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -145,13 +185,13 @@ impl IngameClient { ) -> Result, IngameClientError> { self.0 .get(format!( - "https://127.0.0.1:{}/GetLiveclientdataPlayeritems?summonerName={}", + "https://127.0.0.1:{}/GetLiveclientdataPlayeritems?riotId={}", PORT, summoner_name.as_ref() )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -163,6 +203,11 @@ impl IngameClient { &self, team_id: Option, ) -> Result, IngameClientError> { + use crate::model::ingame::treat_error_as_none; + + #[derive(serde::Deserialize)] + struct PlayerOpt(#[serde(deserialize_with = "treat_error_as_none")] Option); + self.0 .get(format!( "https://127.0.0.1:{}/GetLiveclientdataPlayerlist?teamID={}", @@ -171,11 +216,17 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? - .json() + .json::>() .await .map_err(IngameClientError::from) + .map(|players| { + players + .into_iter() + .filter_map(|player| player.0) + .collect::>() + }) } /// Get a specified players main runes @@ -185,13 +236,13 @@ impl IngameClient { ) -> Result { self.0 .get(format!( - "https://127.0.0.1:{}/GetLiveclientdataPlayermainrunes?summonerName={}", + "https://127.0.0.1:{}/GetLiveclientdataPlayermainrunes?riotId={}", PORT, summoner_name.as_ref() )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -205,13 +256,13 @@ impl IngameClient { ) -> Result { self.0 .get(format!( - "https://127.0.0.1:{}/GetLiveclientdataPlayerscores?summonerName={}", + "https://127.0.0.1:{}/GetLiveclientdataPlayerscores?riotId={}", PORT, summoner_name.as_ref() )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -225,13 +276,13 @@ impl IngameClient { ) -> Result { self.0 .get(format!( - "https://127.0.0.1:{}/GetLiveclientdataPlayersummonerspells?summonerName={}", + "https://127.0.0.1:{}/GetLiveclientdataPlayersummonerspells?riotId={}", PORT, summoner_name.as_ref() )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -256,7 +307,7 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json::() .await @@ -279,7 +330,7 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -296,7 +347,7 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .text() .await @@ -320,7 +371,7 @@ impl IngameClient { )) .send() .await - .and_then(|r| r.error_for_status()) + .and_then(Response::error_for_status) .map_err(IngameClientError::from)? .json() .await @@ -328,8 +379,6 @@ impl IngameClient { } } -const DEFAULT_POLLING_RATE_MILLIS: u64 = 500; - /// A wrapper around a [IngameClient] that regularly polls the ingame events pub struct EventStream { start_tx: Option>, @@ -337,47 +386,57 @@ pub struct EventStream { events_rx: UnboundedReceiver, } +impl Default for EventStream { + fn default() -> Self { + Self::new() + } +} + impl EventStream { + pub fn new() -> Self { + Self::from_ingame_client(IngameClient::new()) + } + + pub fn new_with_polling_rate(polling_rate: Duration) -> Self { + Self::from_ingame_client_with_polling_rate(IngameClient::new(), polling_rate) + } + /// Create an [EventStream] from an [IngameClient] \ /// Takes an [Option] that specifies the polling rate of the [IngameClient] that's being wrapped \ /// The default [Duration] is 500ms - pub fn from_ingame_client(ingame_client: IngameClient, polling_rate: Option) -> Self { + pub fn from_ingame_client(ingame_client: IngameClient) -> Self { + Self::from_ingame_client_with_polling_rate(ingame_client, DEFAULT_POLLING_RATE_MILLIS) + } + + /// Create an [EventStream] from an [IngameClient] \ + /// Takes an [Option] that specifies the polling rate of the [IngameClient] that's being wrapped \ + /// The default [Duration] is 500ms + pub fn from_ingame_client_with_polling_rate( + ingame_client: IngameClient, + polling_rate: Duration, + ) -> Self { let (start_tx, start_rx) = oneshot::channel::<()>(); let (events_tx, events_rx) = unbounded_channel(); let poll_task_handle = tokio::spawn(async move { - let polling_rate = - polling_rate.unwrap_or(Duration::from_millis(DEFAULT_POLLING_RATE_MILLIS)); let mut timer = tokio::time::interval(polling_rate); let mut current_event_id = 0; - // await start, but return on error (start_tx got dropped) + // await start so the future is maximally lazy, but return on error (start_tx got dropped) if start_rx.await.is_err() { return; } - // wait for a game to start - loop { - timer.tick().await; - if ingame_client.event_data(None).await.is_ok() { - break; - }; - } - // loop for as long as api calls are successful - loop { - timer.tick().await; - match ingame_client.event_data(Some(current_event_id)).await { - Ok(mut events) => { - if let Some(last_event) = events.last() { - current_event_id = last_event.get_event_id() + 1; - } - events.drain(..).for_each(|e| { - let _ = events_tx.send(e); - }) - } - Err(_) => return, + timer.reset(); + while let Ok(events) = ingame_client.event_data(Some(current_event_id)).await { + if let Some(last_event) = events.last() { + current_event_id = last_event.get_event_id() + 1; } + + events.into_iter().for_each(|e| _ = events_tx.send(e)); + + timer.tick().await; } }); diff --git a/src/lib.rs b/src/lib.rs index af8edd4..1ef811a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,7 +2,7 @@ //! //! A wrapper for the League-Client and LoL-Ingame APIs //! -//! - [RESTClient](rest::RESTClient): A REST client for the League-Client(LCU) API +//! - [LcuRestClient](rest::LcuRestClient): A REST client for the League-Client(LCU) API //! - [LcuWebsocketClient](ws::LcuWebsocketClient): Subscription based Websocket API for the League-Client(LCU) API //! - [IngameClient](ingame::IngameClient): A REST client for the LoL-Ingame API //! - [EventStream](ingame::EventStream): A wrapper around polling ingame events implementing the [futures_util::Stream] Trait @@ -15,8 +15,7 @@ pub mod error; pub mod ingame; /// Contains all the type definitions for the data returned by the library pub mod model; -/// Contains the [RESTClient](rest::RESTClient) +/// Contains the [LcuRestClient](rest::LcuRestClient) pub mod rest; -mod utils; /// Contains the [LcuWebsocketClient](ws::LcuWebsocketClient) pub mod ws; diff --git a/src/model/ingame.rs b/src/model/ingame.rs index d7156dc..28625c9 100644 --- a/src/model/ingame.rs +++ b/src/model/ingame.rs @@ -1,7 +1,7 @@ use std::fmt; use derive_more::Display; -use serde::{Deserialize, Deserializer, Serialize}; +use serde::{de::DeserializeOwned, Deserialize, Deserializer, Serialize}; pub type SummonerName = String; pub type Time = f64; @@ -12,18 +12,73 @@ pub struct AllGameData { /// only available in live game - None in spectator mode #[serde(deserialize_with = "treat_error_as_none")] pub active_player: Option, + #[serde(deserialize_with = "deserialize_players")] pub all_players: Vec, - // because events has the schema: "events": { "Events": [...] } - #[serde(deserialize_with = "serde_single_key_map::deserialize")] + #[serde(deserialize_with = "deserialize_events")] pub events: Vec, pub game_data: GameStats, } -fn treat_error_as_none<'de, D>(deserializer: D) -> Result, D::Error> +/// in Arena mode the special events (random Thresh lanterns, Pyke jumping across the map, Jhin shooting bullets) +/// are coded as normal champions, which show up in the API response as champions but with an error message +/// instead of proper stats +/// +/// as a workaround deserialize players to `PlayerOpt` and only return Players that were successfully deserialized +pub(crate) fn deserialize_players<'de, D>(deserializer: D) -> Result, D::Error> where D: Deserializer<'de>, { - Ok(ActivePlayer::deserialize(deserializer).ok()) + #[derive(Deserialize)] + struct PlayerOpt(#[serde(deserialize_with = "treat_error_as_none")] Option); + + let players = Vec::::deserialize(deserializer)? + .into_iter() + .filter_map(|player| player.0) + .collect::>(); + + Ok(players) +} + +pub(crate) fn deserialize_events<'de, D>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + #[derive(Deserialize)] + #[serde(rename_all = "PascalCase")] + struct GameEventsTmp { + events: Vec, + } + + #[derive(Deserialize)] + struct GameEventTmp(#[serde(deserialize_with = "treat_error_as_none")] Option); + + let events = GameEventsTmp::deserialize(deserializer)? + .events + .into_iter() + .filter_map(|event| event.0) + .collect::>(); + + Ok(events) +} + +pub(crate) fn treat_error_as_none<'de, D, T: DeserializeOwned>( + deserializer: D, +) -> Result, D::Error> +where + D: Deserializer<'de>, +{ + #[derive(Deserialize)] + #[serde(untagged)] + enum Tmp { + Some(T), + None {}, + } + + match Tmp::deserialize(deserializer) { + Ok(Tmp::Some(value)) => Ok(Some(value)), + Ok(Tmp::None {}) => Ok(None), + _ => unreachable!("'None {{}}' should always match"), + } } pub type Gold = f32; @@ -32,13 +87,15 @@ pub type Level = i32; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct ActivePlayer { + pub summoner_name: SummonerName, + #[serde(flatten)] + pub riot_id: RiotId, pub abilities: PlayerAbilities, pub champion_stats: PlayerChampionStats, pub current_gold: Gold, #[serde(rename = "fullRunes")] pub runes: FullPlayerRunes, pub level: Level, - pub summoner_name: SummonerName, pub team_relative_colors: bool, } @@ -226,27 +283,39 @@ pub type SkinId = i32; #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Player { + pub summoner_name: SummonerName, + #[serde(flatten)] + pub riot_id: RiotId, pub champion_name: ChampionName, + pub raw_champion_name: String, + /// only available in live game - None in spectator mode + pub skin_name: Option, + /// only available in live game - None in spectator mode + pub raw_skin_name: Option, + #[serde(rename = "skinID")] + pub skin_id: SkinId, pub is_bot: bool, pub is_dead: bool, pub items: Vec, pub level: Level, pub position: Position, - pub raw_champion_name: String, pub respawn_timer: Time, pub runes: Option, pub scores: PlayerScores, - /// only available in live game - None in spectator mode - pub raw_skin_name: Option, - /// only available in live game - None in spectator mode - pub skin_name: Option, - #[serde(rename = "skinID")] - pub skin_id: SkinId, - pub summoner_name: SummonerName, pub summoner_spells: SummonerSpells, pub team: TeamId, } +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct RiotId { + #[serde(rename = "riotId")] + pub riot_id: String, + #[serde(rename = "riotIdGameName")] + pub game_name: String, + #[serde(rename = "riotIdTagLine")] + pub tag_line: String, +} + pub type ItemCount = i32; pub type ItemName = String; pub type ItemId = i32; @@ -340,13 +409,6 @@ impl fmt::Display for TeamId { pub type EventId = u32; -/// only pub(crate) since this is an intermediate result. The API only returns the Vec -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "PascalCase")] -pub(crate) struct IngameEvents { - pub events: Vec, -} - #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(tag = "EventName")] pub enum GameEvent { diff --git a/src/model/ws.rs b/src/model/ws.rs index af5606f..0d60886 100644 --- a/src/model/ws.rs +++ b/src/model/ws.rs @@ -1,45 +1,30 @@ -use std::{fmt, fmt::Display}; +use std::fmt::{self, Display}; -use serde::{de, Deserialize, Deserializer}; +use serde::{de, Deserialize, Deserializer, Serialize}; use serde_json::Value; /// The Websocket connection returns LcuEvents -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct LcuEvent { + _opcode: u8, pub subscription_type: LcuSubscriptionType, - pub data: Value, - pub event_type: String, + pub payload: LcuEventData, } -/// LcuEvents first get deserialized to deserialize::DeEvent and then to LcuEvent -/// because the data formats are not directly deserializable by serde -impl<'de> Deserialize<'de> for LcuEvent { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - /// Intermediate data-structure for deserializing LcuEvents - #[derive(Deserialize, Debug)] - pub struct DeEvent { - _opcode: i64, - pub(crate) subscription_type: LcuSubscriptionType, - pub(crate) data: Data, - } - /// Intermediate data-structure for deserializing LcuEvents - #[derive(Deserialize, Debug)] - #[serde(rename_all = "camelCase")] - pub struct Data { - pub(crate) data: Value, - pub(crate) event_type: String, - } +#[derive(Debug, Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct LcuEventData { + pub data: Value, + pub event_type: EventType, + pub uri: String, +} - let de_event = DeEvent::deserialize(deserializer)?; - Ok(Self { - subscription_type: de_event.subscription_type, - data: de_event.data.data, - event_type: de_event.data.event_type, - }) - } +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub enum EventType { + Create, + Update, + Delete, } /// The Websocket events to subscribe to. @@ -73,6 +58,15 @@ impl Display for LcuSubscriptionType { } } +impl Serialize for LcuSubscriptionType { + fn serialize(&self, serializer: S) -> Result + where + S: serde::Serializer, + { + serializer.serialize_str(&self.to_string()) + } +} + /// Custom deserializer to differentiate between the different subscription types impl<'de> Deserialize<'de> for LcuSubscriptionType { fn deserialize(deserializer: D) -> Result diff --git a/src/rest.rs b/src/rest.rs index c344a61..73941cc 100644 --- a/src/rest.rs +++ b/src/rest.rs @@ -1,82 +1,103 @@ -use serde::Serialize; - -use crate::utils::{process_info, request::build_reqwest_client}; +use reqwest::{ + header::{HeaderMap, HeaderValue}, + Certificate, +}; +use riot_local_auth::Credentials; +use serde::{de::DeserializeOwned, Serialize}; /// A client for the League-Client(LCU) REST API -pub struct RESTClient { +pub struct LcuRestClient { port: String, reqwest_client: reqwest::Client, } -type Error = Box; +impl LcuRestClient { + pub fn new() -> riot_local_auth::Result { + Ok(Self::new_internal( + &riot_local_auth::lcu::try_get_credentials()?, + )) + } -impl RESTClient { /// Create a new instance of the LCU REST wrapper - pub fn new() -> Result { - let (auth_token, port) = process_info::get_auth_info()?; - let reqwest_client = build_reqwest_client(Some(auth_token)); - Ok(Self { - port, + fn new_internal(credentials: &Credentials) -> Self { + let mut headers = HeaderMap::new(); + headers.insert( + "Authorization", + HeaderValue::from_str(&credentials.basic_auth()).unwrap(), + ); + + let reqwest_client = reqwest::ClientBuilder::new() + .add_root_certificate( + Certificate::from_pem(include_bytes!("../riotgames.pem")).unwrap(), + ) + .default_headers(headers) + .build() + .unwrap(); + + Self { + port: credentials.port.to_string(), reqwest_client, - }) + } } - /// Make a get request to the specified endpoint - pub async fn get(&self, endpoint: &str) -> Result { + /// Make a get request to the specified path + pub async fn get( + &self, + path: impl AsRef, + ) -> Result { self.reqwest_client - .get(format!("https://127.0.0.1:{}{}", self.port, endpoint)) + .get(format!("https://127.0.0.1:{}{}", self.port, path.as_ref())) .send() .await? .error_for_status()? .json() .await - .or_else(|_| Ok(serde_json::Value::Null)) } - /// Make a post request to the specified endpoint - pub async fn post( + /// Make a post request to the specified path + pub async fn post( &self, - endpoint: &str, + path: impl AsRef, body: T, - ) -> Result { + ) -> Result { self.reqwest_client - .post(format!("https://127.0.0.1:{}{}", self.port, endpoint)) + .post(format!("https://127.0.0.1:{}{}", self.port, path.as_ref())) .json(&body) .send() .await? .error_for_status()? .json() .await - .or_else(|_| Ok(serde_json::Value::Null)) } - /// Make a put request to the specified endpoint - pub async fn put( + /// Make a put request to the specified path + pub async fn put( &self, - endpoint: &str, + path: impl AsRef, body: T, - ) -> Result { + ) -> Result { self.reqwest_client - .put(format!("https://127.0.0.1:{}{}", self.port, endpoint)) + .put(format!("https://127.0.0.1:{}{}", self.port, path.as_ref())) .json(&body) .send() .await? .error_for_status()? .json() .await - .or_else(|_| Ok(serde_json::Value::Null)) } - /// Make a delete request to the specified endpoint - pub async fn delete(&self, endpoint: &str) -> Result { + /// Make a delete request to the specified path + pub async fn delete( + &self, + path: impl AsRef, + ) -> Result { self.reqwest_client - .delete(format!("https://127.0.0.1:{}{}", self.port, endpoint)) + .delete(format!("https://127.0.0.1:{}{}", self.port, path.as_ref())) .send() .await? .error_for_status()? .json() .await - .or_else(|_| Ok(serde_json::Value::Null)) } /// Make a patch request to the specified endpoint @@ -96,3 +117,9 @@ impl RESTClient { .or_else(|_| Ok(serde_json::Value::Null)) } } + +impl From<&Credentials> for LcuRestClient { + fn from(credentials: &Credentials) -> Self { + Self::new_internal(credentials) + } +} diff --git a/src/utils/mod.rs b/src/utils/mod.rs deleted file mode 100644 index d17b38d..0000000 --- a/src/utils/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub(crate) mod process_info; -pub(crate) mod request; diff --git a/src/utils/process_info.rs b/src/utils/process_info.rs deleted file mode 100644 index 589c584..0000000 --- a/src/utils/process_info.rs +++ /dev/null @@ -1,43 +0,0 @@ -use base64::{engine::general_purpose, Engine}; -use sysinfo::{ProcessExt, System, SystemExt}; - -use crate::error::ProcessInfoError; - -#[cfg(target_os = "windows")] -const TARGET_PROCESS: &str = "LeagueClientUx.exe"; -#[cfg(target_os = "linux")] -const TARGET_PROCESS: &str = "LeagueClientUx."; -#[cfg(target_os = "macos")] -const TARGET_PROCESS: &str = "LeagueClientUx"; - -pub(crate) fn get_auth_info() -> Result<(String, String), ProcessInfoError> { - let mut sys = System::new_all(); - sys.refresh_processes(); - - let args = sys - .processes() - .values() - .find(|p| p.name() == TARGET_PROCESS) - .map(|p| p.cmd()) - .ok_or(ProcessInfoError::ProcessNotAvailable)?; - - let port = args - .iter() - .find(|arg| arg.starts_with("--app-port=")) - .map(|arg| arg.strip_prefix("--app-port=").unwrap().to_string()) - .ok_or(ProcessInfoError::PortNotFound)?; - let auth_token = args - .iter() - .find(|arg| arg.starts_with("--remoting-auth-token=")) - .map(|arg| { - arg.strip_prefix("--remoting-auth-token=") - .unwrap() - .to_string() - }) - .ok_or(ProcessInfoError::AuthTokenNotFound)?; - - Ok(( - general_purpose::STANDARD.encode(format!("riot:{}", auth_token)), - port, - )) -} diff --git a/src/utils/request.rs b/src/utils/request.rs deleted file mode 100644 index ff32955..0000000 --- a/src/utils/request.rs +++ /dev/null @@ -1,21 +0,0 @@ -use std::time::Duration; - -use reqwest::{header, Certificate}; - -pub(crate) fn build_reqwest_client(auth_token: Option) -> reqwest::Client { - let cert = Certificate::from_pem(include_bytes!("../riotgames.pem")).unwrap(); - let mut headers = header::HeaderMap::new(); - - if let Some(token) = auth_token { - let auth_header = - header::HeaderValue::from_str(format!("Basic {}", token).as_str()).unwrap(); - headers.insert("Authorization", auth_header); - } - - reqwest::ClientBuilder::new() - .add_root_certificate(cert) - .default_headers(headers) - .timeout(Duration::from_millis(500)) - .build() - .unwrap() -} diff --git a/src/ws.rs b/src/ws.rs index db4b085..fdd1d8e 100644 --- a/src/ws.rs +++ b/src/ws.rs @@ -4,16 +4,19 @@ use std::{ }; use futures_util::{SinkExt, Stream, StreamExt}; +use riot_local_auth::Credentials; +use rustls::{ClientConfig, RootCertStore}; +use rustls_pemfile::Item; use tokio::net::TcpStream; use tokio_tungstenite::{ - tungstenite, tungstenite::client::IntoClientRequest, tungstenite::http::HeaderValue, - tungstenite::Message, Connector, MaybeTlsStream, WebSocketStream, + connect_async_tls_with_config, tungstenite, tungstenite::client::IntoClientRequest, + tungstenite::http::HeaderValue, tungstenite::Message, Connector, MaybeTlsStream, + WebSocketStream, }; use crate::{ error::LcuWebsocketError, model::ws::{LcuEvent, LcuSubscriptionType}, - utils::process_info, }; /// A client for the League-Client(LCU) websocket API @@ -23,29 +26,43 @@ impl LcuWebsocketClient { /// Tries to establish a connection to the LCU Websocket API \ /// Returns an [LcuWebsocketError] if the API is not reachable pub async fn connect() -> Result { - let (auth_token, port) = process_info::get_auth_info() + let credentials = riot_local_auth::lcu::try_get_credentials() .map_err(|e| LcuWebsocketError::LcuNotAvailable(e.to_string()))?; - let cert = native_tls::Certificate::from_pem(include_bytes!("./riotgames.pem")).unwrap(); - let tls = native_tls::TlsConnector::builder() - .add_root_certificate(cert) - .build() - .unwrap(); - let connector = Connector::NativeTls(tls); + Self::connect_with(&credentials).await + } - let mut url = format!("wss://127.0.0.1:{port}") + /// Tries to establish a connection to the LCU Websocket API \ + /// Returns an [LcuWebsocketError] if the API is not reachable + pub async fn connect_with(credentials: &Credentials) -> Result { + let mut url = format!("wss://127.0.0.1:{}", credentials.port) .into_client_request() .map_err(|_| LcuWebsocketError::AuthError)?; url.headers_mut().insert( "Authorization", - HeaderValue::from_str(format!("Basic {auth_token}").as_str()) + HeaderValue::from_str(&credentials.basic_auth()) .map_err(|_| LcuWebsocketError::AuthError)?, ); - let (ws_stream, _response) = - tokio_tungstenite::connect_async_tls_with_config(url, None, false, Some(connector)) - .await - .map_err(|e| LcuWebsocketError::Disconnected(e.to_string()))?; + let mut cert_store = RootCertStore::empty(); + let Ok(Some((Item::X509Certificate(cert), _))) = + rustls_pemfile::read_one_from_slice(include_bytes!("../riotgames.pem").as_slice()) + else { + return Err(LcuWebsocketError::AuthError); + }; + cert_store + .add(cert) + .map_err(|_| LcuWebsocketError::AuthError)?; + + let connector = Connector::Rustls( + ClientConfig::builder() + .with_root_certificates(cert_store) + .with_no_client_auth() + .into(), + ); + let (ws_stream, _) = connect_async_tls_with_config(url, None, false, Some(connector)) + .await + .map_err(|e| LcuWebsocketError::Disconnected(e.to_string()))?; Ok(Self(ws_stream)) } diff --git a/tests/GetLiveclientdataAllgamedata_Arena.json b/tests/GetLiveclientdataAllgamedata_Arena.json new file mode 100644 index 0000000..3eb5dd7 --- /dev/null +++ b/tests/GetLiveclientdataAllgamedata_Arena.json @@ -0,0 +1,1174 @@ +{ + "activePlayer": { + "error": "Spectator mode doesn't currently support this feature" + }, + "allPlayers": [ + { + "championName": "Malzahar", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Malzahar", + "rawSkinName": "game_character_skin_displayname_Malzahar_38", + "respawnTimer": 0.0, + "riotId": "KingsCrusher2014#EUW", + "riotIdGameName": "KingsCrusher2014", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "476.8758545,252.0645142", + "screenPositionCenter": "489.6147156,212.9682617", + "skinID": 38, + "skinName": "Three Honors Malzahar", + "summonerName": "KingsCrusher2014#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Frozen Foundations", + "rawDescription": "GeneratedTip_Spell_Augment_FrozenFoundations_AniviaW_Description", + "rawDisplayName": "GeneratedTip_Spell_Augment_FrozenFoundations_AniviaW_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Yorick", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Yorick", + "respawnTimer": 0.0, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "170.4980469,292.7192688", + "screenPositionCenter": "205.8138275,212.9682617", + "skinID": 0, + "summonerName": "hacka#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Senna", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Senna", + "rawSkinName": "game_character_skin_displayname_Senna_27", + "respawnTimer": 0.0, + "riotId": "ssmaplus#APE", + "riotIdGameName": "ssmaplus", + "riotIdTagLine": "APE", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "2099.4174805,718.8239136", + "screenPositionCenter": "2083.0273438,660.1854858", + "skinID": 27, + "skinName": "Prestige Lunar Eclipse Senna", + "summonerName": "ssmaplus#APE", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Shyvana", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Shyvana", + "rawSkinName": "game_character_skin_displayname_Shyvana_5", + "respawnTimer": 0.0, + "riotId": "AirBenderAng#EUW", + "riotIdGameName": "AirBenderAng", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "-25.6214905,1600.1088867", + "screenPositionCenter": "7.9226685,1502.1480713", + "skinID": 5, + "skinName": "Worlds 2014 Shyvana", + "summonerName": "AirBenderAng#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Mordekaiser", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Mordekaiser", + "rawSkinName": "game_character_skin_displayname_Mordekaiser_43", + "respawnTimer": 0.0, + "riotId": "Mariux22#350Z", + "riotIdGameName": "Mariux22", + "riotIdTagLine": "350Z", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "17.5671387,1435.0701904", + "screenPositionCenter": "91.0491180,1222.7412109", + "skinID": 43, + "skinName": "Ashen Graveknight Mordekaiser", + "summonerName": "Mariux22#350Z", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Ahri", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Ahri", + "rawSkinName": "game_character_skin_displayname_Ahri_75", + "respawnTimer": 0.0, + "riotId": "SYNÐRA#666", + "riotIdGameName": "SYNÐRA", + "riotIdTagLine": "666", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 75, + "skinName": "Foxfire Ahri", + "summonerName": "SYNÐRA#666", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Brand", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Brand", + "rawSkinName": "game_character_skin_displayname_Brand_2", + "respawnTimer": 0.0, + "riotId": "monkmental#32257", + "riotIdGameName": "monkmental", + "riotIdTagLine": "32257", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "1875.6545410,404.8415222", + "screenPositionCenter": "1866.5805664,364.9653015", + "skinID": 2, + "skinName": "Vandal Brand", + "summonerName": "monkmental#32257", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Amumu", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Amumu", + "rawSkinName": "game_character_skin_displayname_Amumu_8", + "respawnTimer": 0.0, + "riotId": "TouchMySkill#8555", + "riotIdGameName": "TouchMySkill", + "riotIdTagLine": "8555", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "2037.1894531,222.6234741", + "screenPositionCenter": "2028.4886475,194.6383362", + "skinID": 8, + "skinName": "Surprise Party Amumu", + "summonerName": "TouchMySkill#8555", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Pyke", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "NLS Stark#EUW", + "riotIdGameName": "NLS Stark", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "2328.9653320,687.0626221", + "screenPositionCenter": "2312.5144043,641.5832520", + "skinID": 0, + "summonerName": "NLS Stark#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Vex", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Vex", + "respawnTimer": 0.0, + "riotId": "SalvaSalvador#Salva", + "riotIdGameName": "SalvaSalvador", + "riotIdTagLine": "Salva", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "SalvaSalvador#Salva", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Sivir", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Sivir", + "rawSkinName": "game_character_skin_displayname_Sivir_5", + "respawnTimer": 0.0, + "riotId": "owNy#Gott", + "riotIdGameName": "owNy", + "riotIdTagLine": "Gott", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "97.7281952,763.7454224", + "screenPositionCenter": "133.4529877,673.8031006", + "skinID": 5, + "skinName": "PAX Sivir", + "summonerName": "owNy#Gott", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Sona", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Amulet", + "itemID": 2049, + "price": 500, + "rawDescription": "GeneratedTip_Item_2049_Description", + "rawDisplayName": "Item_2049_Name", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Sona", + "rawSkinName": "game_character_skin_displayname_Sona_1", + "respawnTimer": 0.0, + "riotId": "BassSultanHengzt#EUW", + "riotIdGameName": "BassSultanHengzt", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "-198.4919739,960.4651489", + "screenPositionCenter": "-144.2608643,844.0700684", + "skinID": 1, + "skinName": "Muse Sona", + "summonerName": "BassSultanHengzt#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Samira", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Samira", + "rawSkinName": "game_character_skin_displayname_Samira_12", + "respawnTimer": 0.0, + "riotId": "DOINB DANCING#FPX", + "riotIdGameName": "DOINB DANCING", + "riotIdTagLine": "FPX", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "1519.7559814,1690.6115723", + "screenPositionCenter": "1508.1610107,1501.8365479", + "skinID": 12, + "skinName": "Space Groove Samira", + "summonerName": "DOINB DANCING#FPX", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Sylas", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Sylas", + "respawnTimer": 0.0, + "riotId": "Plant32#EUW", + "riotIdGameName": "Plant32", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Plant32#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Ziggs", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Ziggs", + "rawSkinName": "game_character_skin_displayname_Ziggs_4", + "respawnTimer": 0.0, + "riotId": "To0GUD4M3#EUW", + "riotIdGameName": "To0GUD4M3", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "2094.8117676,1263.5322266", + "screenPositionCenter": "2077.1093750,1188.0065918", + "skinID": 4, + "skinName": "Snow Day Ziggs", + "summonerName": "To0GUD4M3#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Skarner", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 3, + "position": "NONE", + "rawChampionName": "game_character_displayname_Skarner", + "respawnTimer": 0.0, + "riotId": "proster123#EUW", + "riotIdGameName": "proster123", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "2356.3447266,1608.3355713", + "screenPositionCenter": "2307.1564941,1433.7131348", + "skinID": 0, + "summonerName": "proster123#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Thresh", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 3, + "position": "", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Lux", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 3, + "position": "", + "rawChampionName": "game_character_displayname_Lux", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Jhin", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 3, + "position": "", + "rawChampionName": "game_character_displayname_Jhin", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Sett", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 3, + "position": "", + "rawChampionName": "game_character_displayname_Sett", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Pyke", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 3, + "position": "", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + } + ], + "events": { + "Events": [ + { + "EventID": 0, + "EventName": "GameStart", + "EventTime": 0.0 + }, + { + "Assisters": [], + "EventID": 1, + "EventName": "ChampionKill", + "EventTime": 1090.2955322265626, + "KillerName": "DOINB DANCING", + "VictimName": "BassSultanHengzt" + } + ] + }, + "gameData": { + "gameMode": "CHERRY", + "gameTime": 43.407196044921878, + "mapName": "Map30", + "mapNumber": 30, + "mapTerrain": "Default" + } +} \ No newline at end of file diff --git a/tests/GetLiveclientdataAllgamedata_Arena2.json b/tests/GetLiveclientdataAllgamedata_Arena2.json new file mode 100644 index 0000000..08db088 --- /dev/null +++ b/tests/GetLiveclientdataAllgamedata_Arena2.json @@ -0,0 +1,1659 @@ +{ + "activePlayer": { + "abilities": { + "E": { + "abilityLevel": 1, + "displayName": "Spell Flux", + "id": "RyzeE", + "rawDescription": "GeneratedTip_Spell_RyzeE_Description", + "rawDisplayName": "GeneratedTip_Spell_RyzeE_DisplayName" + }, + "Passive": { + "displayName": "Arcane Mastery", + "id": "RyzePassive", + "rawDescription": "GeneratedTip_Passive_RyzePassive_Description", + "rawDisplayName": "GeneratedTip_Passive_RyzePassive_DisplayName" + }, + "Q": { + "abilityLevel": 3, + "displayName": "Overload", + "id": "RyzeQWrapper", + "rawDescription": "GeneratedTip_Spell_RyzeQWrapper_Description", + "rawDisplayName": "GeneratedTip_Spell_RyzeQWrapper_DisplayName" + }, + "R": { + "abilityLevel": 0, + "displayName": "Realm Warp", + "id": "RyzeR", + "rawDescription": "GeneratedTip_Spell_RyzeR_Description", + "rawDisplayName": "GeneratedTip_Spell_RyzeR_DisplayName" + }, + "W": { + "abilityLevel": 1, + "displayName": "Rune Prison", + "id": "RyzeW", + "rawDescription": "GeneratedTip_Spell_RyzeW_Description", + "rawDisplayName": "GeneratedTip_Spell_RyzeW_DisplayName" + } + }, + "championStats": { + "abilityHaste": 55.0, + "abilityPower": 55.0, + "armor": 52.11370849609375, + "armorPenetrationFlat": 0.0, + "armorPenetrationPercent": 1.0, + "attackDamage": 72.53500366210938, + "attackRange": 550.0, + "attackSpeed": 0.7218934297561646, + "bonusArmorPenetrationPercent": 1.0, + "bonusMagicPenetrationPercent": 1.0, + "critChance": 0.0, + "critDamage": 190.0, + "currentHealth": 1748.72119140625, + "healShieldPower": 0.0, + "healthRegenRate": 15.86752700805664, + "lifeSteal": 0.0, + "magicLethality": 0.0, + "magicPenetrationFlat": 16.0, + "magicPenetrationPercent": 1.0, + "magicResist": 48.06320571899414, + "maxHealth": 1748.72119140625, + "moveSpeed": 415.0, + "omnivamp": 0.0, + "physicalLethality": 0.0, + "physicalVamp": 0.0, + "resourceMax": 938.05322265625, + "resourceRegenRate": 21.44953155517578, + "resourceType": "MANA", + "resourceValue": 938.05322265625, + "spellVamp": 0.0, + "tenacity": 5.0 + }, + "currentGold": 500.0, + "fullRunes": {}, + "level": 7, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "summonerName": "hacka#EUW", + "teamRelativeColors": true + }, + "allPlayers": [ + { + "championName": "Ryze", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Ryze", + "rawSkinName": "game_character_skin_displayname_Ryze_11", + "respawnTimer": 9979.6396484375, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 11, + "skinName": "Worlds 2019 Ryze", + "summonerName": "hacka#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Evelynn", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Evelynn", + "respawnTimer": 0.0, + "riotId": "arthimv#EUW", + "riotIdGameName": "arthimv", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 1, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "arthimv#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Lucian", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Lucian", + "rawSkinName": "game_character_skin_displayname_Lucian_27", + "respawnTimer": 0.0, + "riotId": "Bαsh#1337", + "riotIdGameName": "Bαsh", + "riotIdTagLine": "1337", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 0, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 27, + "skinName": "Victorious Lucian", + "summonerName": "Bαsh#1337", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Karthus", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Karthus", + "rawSkinName": "game_character_skin_displayname_Karthus_10", + "respawnTimer": 0.0, + "riotId": "DeFlooo#NAB", + "riotIdGameName": "DeFlooo", + "riotIdTagLine": "NAB", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 1, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 10, + "skinName": "Infernal Karthus", + "summonerName": "DeFlooo#NAB", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Master Yi", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_MasterYi", + "rawSkinName": "game_character_skin_displayname_MasterYi_4", + "respawnTimer": 9957.54296875, + "riotId": "BERTRAND NDONGO#8343", + "riotIdGameName": "BERTRAND NDONGO", + "riotIdTagLine": "8343", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 1, + "kills": 0, + "wardScore": 0.0 + }, + "skinID": 4, + "skinName": "Samurai Yi", + "summonerName": "BERTRAND NDONGO#8343", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Sylas", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Sylas", + "respawnTimer": 9977.0302734375, + "riotId": "scratty#EUW", + "riotIdGameName": "scratty", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 2, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "scratty#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Warmup Routine", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Shaco", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Shaco", + "rawSkinName": "game_character_skin_displayname_Shaco_3", + "respawnTimer": 9976.2197265625, + "riotId": "Taflor#EUW", + "riotIdGameName": "Taflor", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 2, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 3, + "skinName": "Nutcracko", + "summonerName": "Taflor#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Nasus", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Blade", + "itemID": 223177, + "price": 500, + "rawDescription": "GeneratedTip_Item_223177_Description", + "rawDisplayName": "game_item_displayname_223177", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Nasus", + "rawSkinName": "game_character_skin_displayname_Nasus_11", + "respawnTimer": 9983.630859375, + "riotId": "NeLio#000", + "riotIdGameName": "NeLio", + "riotIdTagLine": "000", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 3, + "kills": 0, + "wardScore": 0.0 + }, + "skinID": 11, + "skinName": "Lunar Guardian Nasus", + "summonerName": "NeLio#000", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Poppy", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Poppy", + "rawSkinName": "game_character_skin_displayname_Poppy_16", + "respawnTimer": 0.0, + "riotId": "PJSàlt#EUW", + "riotIdGameName": "PJSàlt", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 0, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 16, + "skinName": "Astronaut Poppy", + "summonerName": "PJSàlt#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Lulu", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Amulet", + "itemID": 2049, + "price": 500, + "rawDescription": "GeneratedTip_Item_2049_Description", + "rawDisplayName": "Item_2049_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Lulu", + "rawSkinName": "game_character_skin_displayname_Lulu_6", + "respawnTimer": 9992.3466796875, + "riotId": "Cindyyish#4848", + "riotIdGameName": "Cindyyish", + "riotIdTagLine": "4848", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 2, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 6, + "skinName": "Star Guardian Lulu", + "summonerName": "Cindyyish#4848", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Vayne", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Vayne", + "rawSkinName": "game_character_skin_displayname_Vayne_50", + "respawnTimer": 9982.72265625, + "riotId": "Spira#owo", + "riotIdGameName": "Spira", + "riotIdTagLine": "owo", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 2, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 50, + "skinName": "Dawnbringer Vayne", + "summonerName": "Spira#owo", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Pyke", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 9867.6767578125, + "riotId": "缺乏维生素#0001", + "riotIdGameName": "缺乏维生素", + "riotIdTagLine": "0001", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 2, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "缺乏维生素#0001", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Gangplank", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Plated Steelcaps", + "itemID": 223047, + "price": 500, + "rawDescription": "GeneratedTip_Item_223047_Description", + "rawDisplayName": "Item_223047_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Gangplank", + "respawnTimer": 9963.7763671875, + "riotId": "ad kaery v2#farty", + "riotIdGameName": "ad kaery v2", + "riotIdTagLine": "farty", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 2, + "kills": 0, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "ad kaery v2#farty", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Twisted Fate", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_TwistedFate", + "respawnTimer": 9984.0087890625, + "riotId": "yordlefister#999", + "riotIdGameName": "yordlefister", + "riotIdTagLine": "999", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 3, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "yordlefister#999", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Castle", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_Castle_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_Castle_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Cho'Gath", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Force Of Entropy", + "itemID": 443061, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443061_Description", + "rawDisplayName": "Item_443061_Name", + "slot": 2 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Chogath", + "respawnTimer": 0.0, + "riotId": "Inkshadow Yi#2189", + "riotIdGameName": "Inkshadow Yi", + "riotIdTagLine": "2189", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 2, + "kills": 0, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "Inkshadow Yi#2189", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Frozen Foundations", + "rawDescription": "GeneratedTip_Spell_Augment_FrozenFoundations_AniviaW_Description", + "rawDisplayName": "GeneratedTip_Spell_Augment_FrozenFoundations_AniviaW_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Maokai", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Dragonheart", + "itemID": 447106, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447106_Description", + "rawDisplayName": "Item_447106_Name", + "slot": 2 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Maokai", + "respawnTimer": 9840.728515625, + "riotId": "CapSuris#0000", + "riotIdGameName": "CapSuris", + "riotIdTagLine": "0000", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "CapSuris#0000", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Thresh", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 5, + "position": "", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Lux", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 5, + "position": "", + "rawChampionName": "game_character_displayname_Lux", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Jhin", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 5, + "position": "", + "rawChampionName": "game_character_displayname_Jhin", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Sett", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 5, + "position": "", + "rawChampionName": "game_character_displayname_Sett", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Pyke", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 5, + "position": "", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + } + ], + "events": { + "Events": [ + { + "EventID": 0, + "EventName": "GameStart", + "EventTime": 0.03586060181260109 + }, + { + "Assisters": [ + "BERTRAND NDONGO" + ], + "EventID": 1, + "EventName": "ChampionKill", + "EventTime": 69.23861694335938, + "KillerName": "hacka", + "VictimName": "yordlefister" + }, + { + "EventID": 2, + "EventName": "FirstBlood", + "EventTime": 69.23861694335938, + "Recipient": "hacka" + }, + { + "Assisters": [ + "DeFlooo" + ], + "EventID": 3, + "EventName": "ChampionKill", + "EventTime": 76.05512237548828, + "KillerName": "PJSàlt", + "VictimName": "缺乏维生素" + }, + { + "Assisters": [ + "Bαsh" + ], + "EventID": 4, + "EventName": "ChampionKill", + "EventTime": 78.83570861816406, + "KillerName": "arthimv", + "VictimName": "CapSuris" + }, + { + "Assisters": [ + "arthimv" + ], + "EventID": 5, + "EventName": "ChampionKill", + "EventTime": 85.28034210205078, + "KillerName": "Bαsh", + "VictimName": "NeLio" + }, + { + "Assisters": [ + "BERTRAND NDONGO" + ], + "EventID": 6, + "EventName": "ChampionKill", + "EventTime": 91.55303955078125, + "KillerName": "hacka", + "VictimName": "ad kaery v2" + }, + { + "Assisters": [ + "BERTRAND NDONGO" + ], + "EventID": 7, + "EventName": "ChampionKill", + "EventTime": 96.5698471069336, + "KillerName": "hacka", + "VictimName": "yordlefister" + }, + { + "EventID": 8, + "EventName": "Multikill", + "EventTime": 96.5698471069336, + "KillStreak": 2, + "KillerName": "hacka" + }, + { + "Assisters": [ + "scratty" + ], + "EventID": 9, + "EventName": "ChampionKill", + "EventTime": 97.48223114013672, + "KillerName": "Taflor", + "VictimName": "Spira" + }, + { + "Assisters": [ + "DeFlooo" + ], + "EventID": 10, + "EventName": "ChampionKill", + "EventTime": 102.8297119140625, + "KillerName": "PJSàlt", + "VictimName": "Inkshadow Yi" + }, + { + "Assisters": [ + "Spira" + ], + "EventID": 11, + "EventName": "ChampionKill", + "EventTime": 103.41413879394531, + "KillerName": "Cindyyish", + "VictimName": "Taflor" + }, + { + "Assisters": [ + "DeFlooo" + ], + "EventID": 12, + "EventName": "ChampionKill", + "EventTime": 105.78337097167969, + "KillerName": "PJSàlt", + "VictimName": "缺乏维生素" + }, + { + "EventID": 13, + "EventName": "Multikill", + "EventTime": 105.78337097167969, + "KillStreak": 2, + "KillerName": "PJSàlt" + }, + { + "Assisters": [], + "EventID": 14, + "EventName": "ChampionKill", + "EventTime": 106.3351058959961, + "KillerName": "scratty", + "VictimName": "Cindyyish" + }, + { + "EventID": 15, + "EventName": "MinionsSpawning", + "EventTime": 120.04728698730469 + }, + { + "Assisters": [ + "scratty" + ], + "EventID": 16, + "EventName": "ChampionKill", + "EventTime": 187.02691650390626, + "KillerName": "Taflor", + "VictimName": "DeFlooo" + }, + { + "Assisters": [ + "DeFlooo" + ], + "EventID": 17, + "EventName": "ChampionKill", + "EventTime": 187.60386657714845, + "KillerName": "PJSàlt", + "VictimName": "scratty" + }, + { + "Assisters": [ + "Cindyyish" + ], + "EventID": 18, + "EventName": "ChampionKill", + "EventTime": 191.78436279296876, + "KillerName": "Spira", + "VictimName": "NeLio" + }, + { + "Assisters": [ + "BERTRAND NDONGO" + ], + "EventID": 19, + "EventName": "ChampionKill", + "EventTime": 195.34849548339845, + "KillerName": "hacka", + "VictimName": "arthimv" + }, + { + "Assisters": [ + "arthimv" + ], + "EventID": 20, + "EventName": "ChampionKill", + "EventTime": 195.65023803710938, + "KillerName": "Bαsh", + "VictimName": "BERTRAND NDONGO" + }, + { + "Assisters": [ + "ad kaery v2" + ], + "EventID": 21, + "EventName": "ChampionKill", + "EventTime": 199.0384979248047, + "KillerName": "yordlefister", + "VictimName": "Inkshadow Yi" + }, + { + "Assisters": [ + "Inkshadow Yi" + ], + "EventID": 22, + "EventName": "ChampionKill", + "EventTime": 201.8837432861328, + "KillerName": "缺乏维生素", + "VictimName": "ad kaery v2" + }, + { + "Assisters": [ + "PJSàlt" + ], + "EventID": 23, + "EventName": "ChampionKill", + "EventTime": 214.3268280029297, + "KillerName": "DeFlooo", + "VictimName": "Taflor" + }, + { + "Assisters": [ + "PJSàlt" + ], + "EventID": 24, + "EventName": "ChampionKill", + "EventTime": 215.13755798339845, + "KillerName": "DeFlooo", + "VictimName": "scratty" + }, + { + "EventID": 25, + "EventName": "Multikill", + "EventTime": 215.13755798339845, + "KillStreak": 2, + "KillerName": "DeFlooo" + }, + { + "Assisters": [ + "arthimv" + ], + "EventID": 26, + "EventName": "ChampionKill", + "EventTime": 217.74644470214845, + "KillerName": "Bαsh", + "VictimName": "hacka" + }, + { + "Assisters": [ + "NeLio" + ], + "EventID": 27, + "EventName": "ChampionKill", + "EventTime": 220.82957458496095, + "KillerName": "CapSuris", + "VictimName": "Spira" + }, + { + "Assisters": [ + "Spira" + ], + "EventID": 28, + "EventName": "ChampionKill", + "EventTime": 221.737548828125, + "KillerName": "Cindyyish", + "VictimName": "NeLio" + }, + { + "Assisters": [ + "Inkshadow Yi" + ], + "EventID": 29, + "EventName": "ChampionKill", + "EventTime": 222.11610412597657, + "KillerName": "缺乏维生素", + "VictimName": "yordlefister" + }, + { + "Assisters": [ + "NeLio" + ], + "EventID": 30, + "EventName": "ChampionKill", + "EventTime": 230.4534912109375, + "KillerName": "CapSuris", + "VictimName": "Cindyyish" + }, + { + "EventID": 31, + "EventName": "Multikill", + "EventTime": 230.4534912109375, + "KillStreak": 2, + "KillerName": "CapSuris" + } + ] + }, + "gameData": { + "gameMode": "CHERRY", + "gameTime": 237.10708618164063, + "mapName": "Map30", + "mapNumber": 30, + "mapTerrain": "Default" + } +} \ No newline at end of file diff --git a/tests/GetLiveclientdataAllgamedata_Arena3.json b/tests/GetLiveclientdataAllgamedata_Arena3.json new file mode 100644 index 0000000..e3d70e1 --- /dev/null +++ b/tests/GetLiveclientdataAllgamedata_Arena3.json @@ -0,0 +1,3011 @@ +{ + "activePlayer": { + "abilities": { + "E": { + "abilityLevel": 3, + "displayName": "90 Caliber Net", + "id": "CaitlynE", + "rawDescription": "GeneratedTip_Spell_CaitlynE_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynE_DisplayName" + }, + "Passive": { + "displayName": "Headshot", + "id": "CaitlynPassive", + "rawDescription": "GeneratedTip_Passive_CaitlynPassive_Description", + "rawDisplayName": "GeneratedTip_Passive_CaitlynPassive_DisplayName" + }, + "Q": { + "abilityLevel": 5, + "displayName": "Piltover Peacemaker", + "id": "CaitlynQ", + "rawDescription": "GeneratedTip_Spell_CaitlynQ_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynQ_DisplayName" + }, + "R": { + "abilityLevel": 2, + "displayName": "Ace in the Hole", + "id": "CaitlynR", + "rawDescription": "GeneratedTip_Spell_CaitlynR_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynR_DisplayName" + }, + "W": { + "abilityLevel": 5, + "displayName": "Yordle Snap Trap", + "id": "CaitlynW", + "rawDescription": "GeneratedTip_Spell_CaitlynW_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynW_DisplayName" + } + }, + "championStats": { + "abilityHaste": 20.0, + "abilityPower": 127.05882263183594, + "armor": 109.46315002441406, + "armorPenetrationFlat": 0.0, + "armorPenetrationPercent": 0.6000000238418579, + "attackDamage": 435.63616943359377, + "attackRange": 650.0, + "attackSpeed": 2.092106342315674, + "bonusArmorPenetrationPercent": 1.0, + "bonusMagicPenetrationPercent": 1.0, + "critChance": 1.0, + "critDamage": 230.0, + "currentHealth": 77.5146484375, + "healShieldPower": 0.0, + "healthRegenRate": 2.1591501235961916, + "lifeSteal": 0.05000000074505806, + "magicLethality": 0.0, + "magicPenetrationFlat": 0.0, + "magicPenetrationPercent": 1.0, + "magicResist": 67.36215209960938, + "maxHealth": 2972.884521484375, + "moveSpeed": 469.3999938964844, + "omnivamp": 0.0, + "physicalLethality": 0.0, + "physicalVamp": 0.0, + "resourceMax": 1095.60009765625, + "resourceRegenRate": 22.837100982666017, + "resourceType": "MANA", + "resourceValue": 1095.60009765625, + "spellVamp": 0.0, + "tenacity": 5.0 + }, + "currentGold": 0.0, + "fullRunes": {}, + "level": 15, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "summonerName": "hacka#EUW", + "teamRelativeColors": true + }, + "allPlayers": [ + { + "championName": "Caitlyn", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lord Dominik's Regards", + "itemID": 223036, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223036_Description", + "rawDisplayName": "Item_223036_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Caitlyn", + "rawSkinName": "game_character_skin_displayname_Caitlyn_19", + "respawnTimer": 9987.6904296875, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 6, + "kills": 7, + "wardScore": 0.0 + }, + "skinID": 19, + "skinName": "Arcade Caitlyn", + "summonerName": "hacka#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Blitzcrank", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lich Bane", + "itemID": 223100, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223100_Description", + "rawDisplayName": "Item_223100_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 14, + "position": "NONE", + "rawChampionName": "game_character_displayname_Blitzcrank", + "rawSkinName": "game_character_skin_displayname_Blitzcrank_17", + "respawnTimer": 9920.3154296875, + "riotId": "Barry Lete#V20", + "riotIdGameName": "Barry Lete", + "riotIdTagLine": "V20", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 5, + "kills": 6, + "wardScore": 0.0 + }, + "skinID": 17, + "skinName": "Battle Boss Blitzcrank", + "summonerName": "Barry Lete#V20", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Thresh", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Stormrazor", + "itemID": 223095, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223095_Description", + "rawDisplayName": "Item_223095_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rapid Firecannon", + "itemID": 223094, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223094_Description", + "rawDisplayName": "Item_223094_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 14, + "position": "NONE", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 9911.5810546875, + "riotId": "zaap#PHUB", + "riotIdGameName": "zaap", + "riotIdTagLine": "PHUB", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 7, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "zaap#PHUB", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Gwen", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Riftmaker", + "itemID": 224633, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224633_Description", + "rawDisplayName": "Item_224633_Name", + "slot": 3 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Gwen", + "respawnTimer": 9988.4609375, + "riotId": "Oowi Glad#EUW", + "riotIdGameName": "Oowi Glad", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 8, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "Oowi Glad#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Ezreal", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Muramana", + "itemID": 223042, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223042_Description", + "rawDisplayName": "Item_223042_Name", + "slot": 2 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Galeforce", + "itemID": 446671, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446671_Description", + "rawDisplayName": "Item_446671_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Trinity Force", + "itemID": 223078, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223078_Description", + "rawDisplayName": "Item_223078_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Ezreal", + "rawSkinName": "game_character_skin_displayname_Ezreal_54", + "respawnTimer": 9725.677734375, + "riotId": "OfCourseLucky#Luck", + "riotIdGameName": "OfCourseLucky", + "riotIdTagLine": "Luck", + "runes": null, + "scores": { + "assists": 7, + "creepScore": 0, + "deaths": 4, + "kills": 7, + "wardScore": 0.0 + }, + "skinID": 54, + "skinName": "Prestige Heavenscale Ezreal", + "summonerName": "OfCourseLucky#Luck", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Malphite", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Dragonheart", + "itemID": 447106, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447106_Description", + "rawDisplayName": "Item_447106_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Heartsteel", + "itemID": 223084, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223084_Description", + "rawDisplayName": "Item_223084_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sunfire Aegis", + "itemID": 223068, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223068_Description", + "rawDisplayName": "Item_223068_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Jak'Sho, The Protean", + "itemID": 226665, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226665_Description", + "rawDisplayName": "Item_226665_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Malphite", + "rawSkinName": "game_character_skin_displayname_Malphite_6", + "respawnTimer": 9917.265625, + "riotId": "Rolliger Rudolf#EUW", + "riotIdGameName": "Rolliger Rudolf", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 8, + "creepScore": 0, + "deaths": 6, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 6, + "skinName": "Mecha Malphite", + "summonerName": "Rolliger Rudolf#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Corki", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Boots of Swiftness", + "itemID": 223009, + "price": 500, + "rawDescription": "GeneratedTip_Item_223009_Description", + "rawDisplayName": "Item_223009_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Flesheater", + "itemID": 447112, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447112_Description", + "rawDisplayName": "Item_447112_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rapid Firecannon", + "itemID": 223094, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223094_Description", + "rawDisplayName": "Item_223094_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Corki", + "rawSkinName": "game_character_skin_displayname_Corki_3", + "respawnTimer": 9997.8857421875, + "riotId": "WYSTΞRΛW#EUW", + "riotIdGameName": "WYSTΞRΛW", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 9, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 3, + "skinName": "Red Baron Corki", + "summonerName": "WYSTΞRΛW#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Castle", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_Castle_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_Castle_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Vladimir", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Cloak of Starry Night", + "itemID": 443059, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443059_Description", + "rawDisplayName": "Item_443059_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Void Staff", + "itemID": 223135, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223135_Description", + "rawDisplayName": "Item_223135_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Vladimir", + "rawSkinName": "game_character_skin_displayname_Vladimir_1", + "respawnTimer": 9985.57421875, + "riotId": "Erijo#Dog", + "riotIdGameName": "Erijo", + "riotIdTagLine": "Dog", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 6, + "kills": 9, + "wardScore": 0.0 + }, + "skinID": 1, + "skinName": "Count Vladimir", + "summonerName": "Erijo#Dog", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Fate's Call", + "rawDescription": "GeneratedTip_Spell_Augment_Oathsworn_KalistaRx_Description", + "rawDisplayName": "GeneratedTip_Spell_Augment_Oathsworn_KalistaRx_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Riven", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hemomancer's Helm", + "itemID": 447103, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447103_Description", + "rawDisplayName": "Item_447103_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Eclipse", + "itemID": 226692, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226692_Description", + "rawDisplayName": "Item_226692_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sterak's Gage", + "itemID": 223053, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223053_Description", + "rawDisplayName": "Item_223053_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Duskblade of Draktharr", + "itemID": 446691, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446691_Description", + "rawDisplayName": "Item_446691_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Riven", + "rawSkinName": "game_character_skin_displayname_Riven_16", + "respawnTimer": 9998.2119140625, + "riotId": "BearJew43#Bonk", + "riotIdGameName": "BearJew43", + "riotIdTagLine": "Bonk", + "runes": null, + "scores": { + "assists": 9, + "creepScore": 0, + "deaths": 7, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 16, + "skinName": "Dawnbringer Riven", + "summonerName": "BearJew43#Bonk", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Brand", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Wooglet's Witchcap", + "itemID": 228002, + "price": 6000, + "rawDescription": "GeneratedTip_Item_228002_Description", + "rawDisplayName": "Cherry_WoogletsWitchcap_ItemName", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Runecarver", + "itemID": 447108, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447108_Description", + "rawDisplayName": "Item_447108_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Brand", + "rawSkinName": "game_character_skin_displayname_Brand_9", + "respawnTimer": 9835.9228515625, + "riotId": "Synarys#EUW", + "riotIdGameName": "Synarys", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 5, + "kills": 7, + "wardScore": 0.0 + }, + "skinID": 9, + "skinName": "Arclight Brand", + "summonerName": "Synarys#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Sett", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Blade", + "itemID": 223177, + "price": 500, + "rawDescription": "GeneratedTip_Item_223177_Description", + "rawDisplayName": "game_item_displayname_223177", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sterak's Gage", + "itemID": 223053, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223053_Description", + "rawDisplayName": "Item_223053_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sword of the Divine", + "itemID": 443060, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443060_Description", + "rawDisplayName": "Item_443060_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Atma's Reckoning", + "itemID": 223039, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223039_Description", + "rawDisplayName": "Item_223039_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Trinity Force", + "itemID": 223078, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223078_Description", + "rawDisplayName": "Item_223078_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Sett", + "rawSkinName": "game_character_skin_displayname_Sett_40", + "respawnTimer": 9826.4033203125, + "riotId": "Babboz premier#9152", + "riotIdGameName": "Babboz premier", + "riotIdTagLine": "9152", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 5, + "kills": 6, + "wardScore": 0.0 + }, + "skinID": 40, + "skinName": "Spirit Blossom Sett", + "summonerName": "Babboz premier#9152", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Lissandra", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rite Of Ruin", + "itemID": 3430, + "price": 2500, + "rawDescription": "GeneratedTip_Item_3430_Description", + "rawDisplayName": "Item_3430_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Lissandra", + "rawSkinName": "game_character_skin_displayname_Lissandra_33", + "respawnTimer": 9914.068359375, + "riotId": "Rock the Kahba#EUW", + "riotIdGameName": "Rock the Kahba", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 7, + "creepScore": 0, + "deaths": 4, + "kills": 9, + "wardScore": 0.0 + }, + "skinID": 33, + "skinName": "Prestige Porcelain Lissandra", + "summonerName": "Rock the Kahba#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Hecarim", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Moonflair Spellblade", + "itemID": 447110, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447110_Description", + "rawDisplayName": "Item_447110_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Muramana", + "itemID": 223042, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223042_Description", + "rawDisplayName": "Item_223042_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hellfire Hatchet", + "itemID": 4017, + "price": 2500, + "rawDescription": "GeneratedTip_Item_4017_Description", + "rawDisplayName": "Item_4017_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Black Cleaver", + "itemID": 223071, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223071_Description", + "rawDisplayName": "Item_223071_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Death's Dance", + "itemID": 226333, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226333_Description", + "rawDisplayName": "Item_226333_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Hecarim", + "rawSkinName": "game_character_skin_displayname_Hecarim_4", + "respawnTimer": 9438.5986328125, + "riotId": "DDDDDDDDDDDDDD#EUW", + "riotIdGameName": "DDDDDDDDDDDDDD", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 2, + "kills": 13, + "wardScore": 0.0 + }, + "skinID": 4, + "skinName": "Arcade Hecarim", + "summonerName": "DDDDDDDDDDDDDD#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Camille", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Titanic Hydra", + "itemID": 223748, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223748_Description", + "rawDisplayName": "Item_223748_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Overlord's Bloodmail", + "itemID": 447111, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447111_Description", + "rawDisplayName": "Item_447111_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Heartsteel", + "itemID": 223084, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223084_Description", + "rawDisplayName": "Item_223084_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Blade", + "itemID": 223177, + "price": 500, + "rawDescription": "GeneratedTip_Item_223177_Description", + "rawDisplayName": "game_item_displayname_223177", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Divine Sunderer", + "itemID": 446632, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446632_Description", + "rawDisplayName": "Item_446632_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 19, + "position": "NONE", + "rawChampionName": "game_character_displayname_Camille", + "rawSkinName": "game_character_skin_displayname_Camille_10", + "respawnTimer": 9914.568359375, + "riotId": "Caashual#EUW", + "riotIdGameName": "Caashual", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 11, + "creepScore": 0, + "deaths": 4, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 10, + "skinName": "iG Camille", + "summonerName": "Caashual#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Warmup Routine", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Veigar", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Everfrost", + "itemID": 446656, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446656_Description", + "rawDisplayName": "Item_446656_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Seraph's Embrace", + "itemID": 223040, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223040_Description", + "rawDisplayName": "Item_223040_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 13, + "position": "NONE", + "rawChampionName": "game_character_displayname_Veigar", + "rawSkinName": "game_character_skin_displayname_Veigar_31", + "respawnTimer": 9850.228515625, + "riotId": "AncientBoso#EUW", + "riotIdGameName": "AncientBoso", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 6, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 31, + "skinName": "Furyhorn Cosplay Veigar", + "summonerName": "AncientBoso#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Bel'Veth", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Blade of The Ruined King", + "itemID": 223153, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223153_Description", + "rawDisplayName": "Item_223153_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Jak'Sho, The Protean", + "itemID": 226665, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226665_Description", + "rawDisplayName": "Item_226665_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 13, + "position": "NONE", + "rawChampionName": "game_character_displayname_Belveth", + "rawSkinName": "game_character_skin_displayname_Belveth_1", + "respawnTimer": 9844.9521484375, + "riotId": "Reicken#EUW", + "riotIdGameName": "Reicken", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 7, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 1, + "skinName": "Battle Boss Bel'Veth", + "summonerName": "Reicken#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Thresh", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 11, + "position": "", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Lux", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 11, + "position": "", + "rawChampionName": "game_character_displayname_Lux", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Jhin", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 11, + "position": "", + "rawChampionName": "game_character_displayname_Jhin", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Sett", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 11, + "position": "", + "rawChampionName": "game_character_displayname_Sett", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Pyke", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 11, + "position": "", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + } + ], + "events": { + "Events": [ + { + "EventID": 0, + "EventName": "GameStart", + "EventTime": 0.02265089936554432 + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 1, + "EventName": "ChampionKill", + "EventTime": 70.8059310913086, + "KillerName": "BearJew43", + "VictimName": "Caashual" + }, + { + "EventID": 2, + "EventName": "FirstBlood", + "EventTime": 70.8059310913086, + "Recipient": "BearJew43" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 3, + "EventName": "ChampionKill", + "EventTime": 72.50231170654297, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 4, + "EventName": "ChampionKill", + "EventTime": 75.31416320800781, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [ + "AncientBoso" + ], + "EventID": 5, + "EventName": "ChampionKill", + "EventTime": 78.30369567871094, + "KillerName": "Reicken", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 6, + "EventName": "ChampionKill", + "EventTime": 83.62960815429688, + "KillerName": "Babboz premier", + "VictimName": "Reicken" + }, + { + "Assisters": [], + "EventID": 7, + "EventName": "ChampionKill", + "EventTime": 86.23847961425781, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 8, + "EventName": "ChampionKill", + "EventTime": 92.12323760986328, + "KillerName": "Rock the Kahba", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 9, + "EventName": "ChampionKill", + "EventTime": 97.71664428710938, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [], + "EventID": 10, + "EventName": "ChampionKill", + "EventTime": 106.22671508789063, + "KillerName": "Babboz premier", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 11, + "EventName": "ChampionKill", + "EventTime": 118.49600982666016, + "KillerName": "WYSTΞRΛW", + "VictimName": "hacka" + }, + { + "EventID": 12, + "EventName": "MinionsSpawning", + "EventTime": 120.01715850830078 + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 13, + "EventName": "ChampionKill", + "EventTime": 123.75492095947266, + "KillerName": "Oowi Glad", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 14, + "EventName": "ChampionKill", + "EventTime": 124.56584930419922, + "KillerName": "WYSTΞRΛW", + "VictimName": "Oowi Glad" + }, + { + "EventID": 15, + "EventName": "Multikill", + "EventTime": 124.56584930419922, + "KillStreak": 2, + "KillerName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 16, + "EventName": "ChampionKill", + "EventTime": 124.83928680419922, + "KillerName": "Oowi Glad", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 17, + "EventName": "Multikill", + "EventTime": 124.83928680419922, + "KillStreak": 2, + "KillerName": "Oowi Glad" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 18, + "EventName": "ChampionKill", + "EventTime": 197.6542205810547, + "KillerName": "Babboz premier", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 19, + "EventName": "ChampionKill", + "EventTime": 201.27737426757813, + "KillerName": "hacka", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 20, + "EventName": "ChampionKill", + "EventTime": 212.46542358398438, + "KillerName": "BearJew43", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 21, + "EventName": "ChampionKill", + "EventTime": 213.8985137939453, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 22, + "EventName": "ChampionKill", + "EventTime": 213.93002319335938, + "KillerName": "WYSTΞRΛW", + "VictimName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 23, + "EventName": "ChampionKill", + "EventTime": 215.4224395751953, + "KillerName": "Synarys", + "VictimName": "Barry Lete" + }, + { + "Assisters": [], + "EventID": 24, + "EventName": "ChampionKill", + "EventTime": 215.6230926513672, + "KillerName": "hacka", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 25, + "EventName": "ChampionKill", + "EventTime": 219.2171630859375, + "KillerName": "OfCourseLucky", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 26, + "EventName": "ChampionKill", + "EventTime": 219.31491088867188, + "KillerName": "Erijo", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [], + "EventID": 27, + "EventName": "ChampionKill", + "EventTime": 230.19534301757813, + "KillerName": "Cherry_Shopkeeper", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [], + "EventID": 28, + "EventName": "ChampionKill", + "EventTime": 239.14427185058595, + "KillerName": "Caashual", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 29, + "EventName": "ChampionKill", + "EventTime": 303.0120544433594, + "KillerName": "Erijo", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 30, + "EventName": "ChampionKill", + "EventTime": 303.2181701660156, + "KillerName": "Rock the Kahba", + "VictimName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 31, + "EventName": "ChampionKill", + "EventTime": 303.7876892089844, + "KillerName": "Caashual", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 32, + "EventName": "ChampionKill", + "EventTime": 303.95526123046877, + "KillerName": "Barry Lete", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 33, + "EventName": "ChampionKill", + "EventTime": 310.568359375, + "KillerName": "WYSTΞRΛW", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Barry Lete" + ], + "EventID": 34, + "EventName": "ChampionKill", + "EventTime": 312.6029968261719, + "KillerName": "zaap", + "VictimName": "hacka" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 35, + "EventName": "ChampionKill", + "EventTime": 313.0817565917969, + "KillerName": "OfCourseLucky", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 36, + "EventName": "ChampionKill", + "EventTime": 319.2106018066406, + "KillerName": "BearJew43", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 37, + "EventName": "ChampionKill", + "EventTime": 322.49700927734377, + "KillerName": "Babboz premier", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 38, + "EventName": "ChampionKill", + "EventTime": 325.4095458984375, + "KillerName": "Erijo", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 39, + "EventName": "ChampionKill", + "EventTime": 330.8350524902344, + "KillerName": "AncientBoso", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 40, + "EventName": "ChampionKill", + "EventTime": 332.12506103515627, + "KillerName": "AncientBoso", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 41, + "EventName": "Multikill", + "EventTime": 332.12506103515627, + "KillStreak": 2, + "KillerName": "AncientBoso" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 42, + "EventName": "ChampionKill", + "EventTime": 392.0235595703125, + "KillerName": "BearJew43", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 43, + "EventName": "ChampionKill", + "EventTime": 395.1387023925781, + "KillerName": "Barry Lete", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 44, + "EventName": "ChampionKill", + "EventTime": 396.8771667480469, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 45, + "EventName": "ChampionKill", + "EventTime": 398.304443359375, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Babboz premier" + }, + { + "EventID": 46, + "EventName": "Multikill", + "EventTime": 398.304443359375, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 47, + "EventName": "ChampionKill", + "EventTime": 404.6380310058594, + "KillerName": "Barry Lete", + "VictimName": "AncientBoso" + }, + { + "EventID": 48, + "EventName": "Multikill", + "EventTime": 404.6380310058594, + "KillStreak": 2, + "KillerName": "Barry Lete" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 49, + "EventName": "ChampionKill", + "EventTime": 409.9170837402344, + "KillerName": "hacka", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 50, + "EventName": "ChampionKill", + "EventTime": 413.3069152832031, + "KillerName": "Erijo", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 51, + "EventName": "ChampionKill", + "EventTime": 414.2256164550781, + "KillerName": "Rolliger Rudolf", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 52, + "EventName": "ChampionKill", + "EventTime": 414.73748779296877, + "KillerName": "Erijo", + "VictimName": "hacka" + }, + { + "EventID": 53, + "EventName": "Multikill", + "EventTime": 414.73748779296877, + "KillStreak": 2, + "KillerName": "Erijo" + }, + { + "Assisters": [], + "EventID": 54, + "EventName": "ChampionKill", + "EventTime": 426.01544189453127, + "KillerName": "Rock the Kahba", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [], + "EventID": 55, + "EventName": "ChampionKill", + "EventTime": 432.4102783203125, + "KillerName": "Rock the Kahba", + "VictimName": "Rolliger Rudolf" + }, + { + "EventID": 56, + "EventName": "Multikill", + "EventTime": 432.4102783203125, + "KillStreak": 2, + "KillerName": "Rock the Kahba" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 57, + "EventName": "ChampionKill", + "EventTime": 490.0967102050781, + "KillerName": "Erijo", + "VictimName": "Reicken" + }, + { + "Assisters": [], + "EventID": 58, + "EventName": "ChampionKill", + "EventTime": 493.6936340332031, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "BearJew43", + "Pyke Bot" + ], + "EventID": 59, + "EventName": "ChampionKill", + "EventTime": 496.5680236816406, + "KillerName": "Erijo", + "VictimName": "AncientBoso" + }, + { + "EventID": 60, + "EventName": "Multikill", + "EventTime": 496.5680236816406, + "KillStreak": 2, + "KillerName": "Erijo" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 61, + "EventName": "ChampionKill", + "EventTime": 496.9507141113281, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "hacka" + }, + { + "EventID": 62, + "EventName": "Multikill", + "EventTime": 496.9507141113281, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [], + "EventID": 63, + "EventName": "ChampionKill", + "EventTime": 501.19140625, + "KillerName": "Synarys", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 64, + "EventName": "ChampionKill", + "EventTime": 501.6995849609375, + "KillerName": "WYSTΞRΛW", + "VictimName": "zaap" + }, + { + "Assisters": [], + "EventID": 65, + "EventName": "ChampionKill", + "EventTime": 514.6065673828125, + "KillerName": "Synarys", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 66, + "EventName": "ChampionKill", + "EventTime": 520.00390625, + "KillerName": "WYSTΞRΛW", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 67, + "EventName": "ChampionKill", + "EventTime": 586.9451904296875, + "KillerName": "Barry Lete", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 68, + "EventName": "ChampionKill", + "EventTime": 587.686279296875, + "KillerName": "Rock the Kahba", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [], + "EventID": 69, + "EventName": "ChampionKill", + "EventTime": 590.2977905273438, + "KillerName": "hacka", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 70, + "EventName": "ChampionKill", + "EventTime": 590.5833740234375, + "KillerName": "Rock the Kahba", + "VictimName": "hacka" + }, + { + "EventID": 71, + "EventName": "Multikill", + "EventTime": 590.5833740234375, + "KillStreak": 2, + "KillerName": "Rock the Kahba" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 72, + "EventName": "ChampionKill", + "EventTime": 592.31884765625, + "KillerName": "AncientBoso", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 73, + "EventName": "ChampionKill", + "EventTime": 592.5860595703125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 74, + "EventName": "ChampionKill", + "EventTime": 594.83203125, + "KillerName": "WYSTΞRΛW", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 75, + "EventName": "ChampionKill", + "EventTime": 594.9207763671875, + "KillerName": "Erijo", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 76, + "EventName": "ChampionKill", + "EventTime": 595.9884033203125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Reicken" + }, + { + "EventID": 77, + "EventName": "Multikill", + "EventTime": 595.9884033203125, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 78, + "EventName": "ChampionKill", + "EventTime": 599.3370361328125, + "KillerName": "Barry Lete", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 79, + "EventName": "ChampionKill", + "EventTime": 606.6257934570313, + "KillerName": "Synarys", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [], + "EventID": 80, + "EventName": "ChampionKill", + "EventTime": 630.5857543945313, + "KillerName": "Synarys", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 81, + "EventName": "ChampionKill", + "EventTime": 631.982421875, + "KillerName": "Rolliger Rudolf", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 82, + "EventName": "ChampionKill", + "EventTime": 643.6124267578125, + "KillerName": "Babboz premier", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 83, + "EventName": "ChampionKill", + "EventTime": 687.8211059570313, + "KillerName": "Caashual", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 84, + "EventName": "ChampionKill", + "EventTime": 690.6760864257813, + "KillerName": "Babboz premier", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 85, + "EventName": "ChampionKill", + "EventTime": 691.0227661132813, + "KillerName": "hacka", + "VictimName": "Babboz premier" + }, + { + "Assisters": [], + "EventID": 86, + "EventName": "ChampionKill", + "EventTime": 700.5423583984375, + "KillerName": "hacka", + "VictimName": "Synarys" + }, + { + "EventID": 87, + "EventName": "Multikill", + "EventTime": 700.5423583984375, + "KillStreak": 2, + "KillerName": "hacka" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 88, + "EventName": "ChampionKill", + "EventTime": 703.8668823242188, + "KillerName": "Rolliger Rudolf", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 89, + "EventName": "ChampionKill", + "EventTime": 704.3682861328125, + "KillerName": "WYSTΞRΛW", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 90, + "EventName": "ChampionKill", + "EventTime": 707.7551879882813, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 91, + "EventName": "ChampionKill", + "EventTime": 709.5720825195313, + "KillerName": "OfCourseLucky", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 92, + "EventName": "ChampionKill", + "EventTime": 714.8484497070313, + "KillerName": "Rock the Kahba", + "VictimName": "AncientBoso" + }, + { + "Acer": "Rock the Kahba", + "AcingTeam": "CHAOS", + "EventID": 93, + "EventName": "Ace", + "EventTime": 714.8484497070313 + }, + { + "Assisters": [ + "Jhin Bot" + ], + "EventID": 94, + "EventName": "ChampionKill", + "EventTime": 775.2179565429688, + "KillerName": "hacka", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 95, + "EventName": "ChampionKill", + "EventTime": 776.201416015625, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Caashual", + "Pyke Bot" + ], + "EventID": 96, + "EventName": "ChampionKill", + "EventTime": 778.0474853515625, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "BearJew43" + }, + { + "Assisters": [], + "EventID": 97, + "EventName": "ChampionKill", + "EventTime": 778.6884155273438, + "KillerName": "Barry Lete", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "BearJew43", + "Pyke Bot" + ], + "EventID": 98, + "EventName": "ChampionKill", + "EventTime": 779.1884155273438, + "KillerName": "Erijo", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Pyke Bot" + ], + "EventID": 99, + "EventName": "ChampionKill", + "EventTime": 779.6668701171875, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Erijo" + }, + { + "EventID": 100, + "EventName": "Multikill", + "EventTime": 779.6668701171875, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "hacka", + "Jhin Bot" + ], + "EventID": 101, + "EventName": "ChampionKill", + "EventTime": 781.8851318359375, + "KillerName": "Oowi Glad", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 102, + "EventName": "ChampionKill", + "EventTime": 784.9352416992188, + "KillerName": "OfCourseLucky", + "VictimName": "Barry Lete" + }, + { + "EventID": 103, + "EventName": "Multikill", + "EventTime": 784.9352416992188, + "KillStreak": 2, + "KillerName": "OfCourseLucky" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 104, + "EventName": "ChampionKill", + "EventTime": 850.1945190429688, + "KillerName": "Rock the Kahba", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 105, + "EventName": "ChampionKill", + "EventTime": 852.3099365234375, + "KillerName": "Synarys", + "VictimName": "hacka" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 106, + "EventName": "ChampionKill", + "EventTime": 853.0804443359375, + "KillerName": "Synarys", + "VictimName": "Oowi Glad" + }, + { + "EventID": 107, + "EventName": "Multikill", + "EventTime": 853.0804443359375, + "KillStreak": 2, + "KillerName": "Synarys" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 108, + "EventName": "ChampionKill", + "EventTime": 862.50537109375, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 109, + "EventName": "ChampionKill", + "EventTime": 862.8317260742188, + "KillerName": "Rock the Kahba", + "VictimName": "BearJew43" + } + ] + }, + "gameData": { + "gameMode": "CHERRY", + "gameTime": 863.6199340820313, + "mapName": "Map30", + "mapNumber": 30, + "mapTerrain": "Default" + } +} \ No newline at end of file diff --git a/tests/GetLiveclientdataAllgamedata_Arena4.json b/tests/GetLiveclientdataAllgamedata_Arena4.json new file mode 100644 index 0000000..0c4d5cc --- /dev/null +++ b/tests/GetLiveclientdataAllgamedata_Arena4.json @@ -0,0 +1,3147 @@ +{ + "activePlayer": { + "abilities": { + "E": { + "abilityLevel": 3, + "displayName": "90 Caliber Net", + "id": "CaitlynE", + "rawDescription": "GeneratedTip_Spell_CaitlynE_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynE_DisplayName" + }, + "Passive": { + "displayName": "Headshot", + "id": "CaitlynPassive", + "rawDescription": "GeneratedTip_Passive_CaitlynPassive_Description", + "rawDisplayName": "GeneratedTip_Passive_CaitlynPassive_DisplayName" + }, + "Q": { + "abilityLevel": 5, + "displayName": "Piltover Peacemaker", + "id": "CaitlynQ", + "rawDescription": "GeneratedTip_Spell_CaitlynQ_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynQ_DisplayName" + }, + "R": { + "abilityLevel": 2, + "displayName": "Ace in the Hole", + "id": "CaitlynR", + "rawDescription": "GeneratedTip_Spell_CaitlynR_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynR_DisplayName" + }, + "W": { + "abilityLevel": 5, + "displayName": "Yordle Snap Trap", + "id": "CaitlynW", + "rawDescription": "GeneratedTip_Spell_CaitlynW_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynW_DisplayName" + } + }, + "championStats": { + "abilityHaste": 20.0, + "abilityPower": 127.05882263183594, + "armor": 109.46315002441406, + "armorPenetrationFlat": 0.0, + "armorPenetrationPercent": 0.6000000238418579, + "attackDamage": 435.63616943359377, + "attackRange": 650.0, + "attackSpeed": 2.092106342315674, + "bonusArmorPenetrationPercent": 1.0, + "bonusMagicPenetrationPercent": 1.0, + "critChance": 1.0, + "critDamage": 230.0, + "currentHealth": 77.5146484375, + "healShieldPower": 0.0, + "healthRegenRate": 2.1591501235961916, + "lifeSteal": 0.05000000074505806, + "magicLethality": 0.0, + "magicPenetrationFlat": 0.0, + "magicPenetrationPercent": 1.0, + "magicResist": 67.36215209960938, + "maxHealth": 2972.884521484375, + "moveSpeed": 457.09100341796877, + "omnivamp": 0.0, + "physicalLethality": 0.0, + "physicalVamp": 0.0, + "resourceMax": 1095.60009765625, + "resourceRegenRate": 22.837100982666017, + "resourceType": "MANA", + "resourceValue": 1095.60009765625, + "spellVamp": 0.0, + "tenacity": 5.0 + }, + "currentGold": 0.0, + "fullRunes": {}, + "level": 15, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "summonerName": "hacka#EUW", + "teamRelativeColors": true + }, + "allPlayers": [ + { + "championName": "Caitlyn", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lord Dominik's Regards", + "itemID": 223036, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223036_Description", + "rawDisplayName": "Item_223036_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Caitlyn", + "rawSkinName": "game_character_skin_displayname_Caitlyn_19", + "respawnTimer": 9706.248046875, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 6, + "kills": 7, + "wardScore": 0.0 + }, + "skinID": 19, + "skinName": "Arcade Caitlyn", + "summonerName": "hacka#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Blitzcrank", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lich Bane", + "itemID": 223100, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223100_Description", + "rawDisplayName": "Item_223100_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 14, + "position": "NONE", + "rawChampionName": "game_character_displayname_Blitzcrank", + "rawSkinName": "game_character_skin_displayname_Blitzcrank_17", + "respawnTimer": 9638.873046875, + "riotId": "Barry Lete#V20", + "riotIdGameName": "Barry Lete", + "riotIdTagLine": "V20", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 5, + "kills": 6, + "wardScore": 0.0 + }, + "skinID": 17, + "skinName": "Battle Boss Blitzcrank", + "summonerName": "Barry Lete#V20", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Thresh", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Stormrazor", + "itemID": 223095, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223095_Description", + "rawDisplayName": "Item_223095_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rapid Firecannon", + "itemID": 223094, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223094_Description", + "rawDisplayName": "Item_223094_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 14, + "position": "NONE", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 9630.1396484375, + "riotId": "zaap#PHUB", + "riotIdGameName": "zaap", + "riotIdTagLine": "PHUB", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 7, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "zaap#PHUB", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Gwen", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Riftmaker", + "itemID": 224633, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224633_Description", + "rawDisplayName": "Item_224633_Name", + "slot": 3 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Gwen", + "respawnTimer": 9707.0185546875, + "riotId": "Oowi Glad#EUW", + "riotIdGameName": "Oowi Glad", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 8, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "Oowi Glad#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Ezreal", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "The Collector", + "itemID": 226676, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226676_Description", + "rawDisplayName": "Item_226676_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Muramana", + "itemID": 223042, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223042_Description", + "rawDisplayName": "Item_223042_Name", + "slot": 2 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Galeforce", + "itemID": 446671, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446671_Description", + "rawDisplayName": "Item_446671_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Trinity Force", + "itemID": 223078, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223078_Description", + "rawDisplayName": "Item_223078_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hellfire Hatchet", + "itemID": 4017, + "price": 2500, + "rawDescription": "GeneratedTip_Item_4017_Description", + "rawDisplayName": "Item_4017_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Ezreal", + "rawSkinName": "game_character_skin_displayname_Ezreal_54", + "respawnTimer": 9978.4384765625, + "riotId": "OfCourseLucky#Luck", + "riotIdGameName": "OfCourseLucky", + "riotIdTagLine": "Luck", + "runes": null, + "scores": { + "assists": 7, + "creepScore": 0, + "deaths": 8, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 54, + "skinName": "Prestige Heavenscale Ezreal", + "summonerName": "OfCourseLucky#Luck", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Malphite", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Dragonheart", + "itemID": 447106, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447106_Description", + "rawDisplayName": "Item_447106_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Heartsteel", + "itemID": 223084, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223084_Description", + "rawDisplayName": "Item_223084_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sunfire Aegis", + "itemID": 223068, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223068_Description", + "rawDisplayName": "Item_223068_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Jak'Sho, The Protean", + "itemID": 226665, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226665_Description", + "rawDisplayName": "Item_226665_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Malphite", + "rawSkinName": "game_character_skin_displayname_Malphite_6", + "respawnTimer": 9730.64453125, + "riotId": "Rolliger Rudolf#EUW", + "riotIdGameName": "Rolliger Rudolf", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 8, + "creepScore": 0, + "deaths": 7, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 6, + "skinName": "Mecha Malphite", + "summonerName": "Rolliger Rudolf#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Corki", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Boots of Swiftness", + "itemID": 223009, + "price": 500, + "rawDescription": "GeneratedTip_Item_223009_Description", + "rawDisplayName": "Item_223009_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Flesheater", + "itemID": 447112, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447112_Description", + "rawDisplayName": "Item_447112_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rapid Firecannon", + "itemID": 223094, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223094_Description", + "rawDisplayName": "Item_223094_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Corki", + "rawSkinName": "game_character_skin_displayname_Corki_3", + "respawnTimer": 9737.53515625, + "riotId": "WYSTΞRΛW#EUW", + "riotIdGameName": "WYSTΞRΛW", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 10, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 3, + "skinName": "Red Baron Corki", + "summonerName": "WYSTΞRΛW#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Castle", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_Castle_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_Castle_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Vladimir", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Cloak of Starry Night", + "itemID": 443059, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443059_Description", + "rawDisplayName": "Item_443059_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Void Staff", + "itemID": 223135, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223135_Description", + "rawDisplayName": "Item_223135_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Vladimir", + "rawSkinName": "game_character_skin_displayname_Vladimir_1", + "respawnTimer": 9704.1328125, + "riotId": "Erijo#Dog", + "riotIdGameName": "Erijo", + "riotIdTagLine": "Dog", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 6, + "kills": 9, + "wardScore": 0.0 + }, + "skinID": 1, + "skinName": "Count Vladimir", + "summonerName": "Erijo#Dog", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Fate's Call", + "rawDescription": "GeneratedTip_Spell_Augment_Oathsworn_KalistaRx_Description", + "rawDisplayName": "GeneratedTip_Spell_Augment_Oathsworn_KalistaRx_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Riven", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hemomancer's Helm", + "itemID": 447103, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447103_Description", + "rawDisplayName": "Item_447103_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Eclipse", + "itemID": 226692, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226692_Description", + "rawDisplayName": "Item_226692_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sterak's Gage", + "itemID": 223053, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223053_Description", + "rawDisplayName": "Item_223053_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Duskblade of Draktharr", + "itemID": 446691, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446691_Description", + "rawDisplayName": "Item_446691_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Riven", + "rawSkinName": "game_character_skin_displayname_Riven_16", + "respawnTimer": 9716.76953125, + "riotId": "BearJew43#Bonk", + "riotIdGameName": "BearJew43", + "riotIdTagLine": "Bonk", + "runes": null, + "scores": { + "assists": 9, + "creepScore": 0, + "deaths": 7, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 16, + "skinName": "Dawnbringer Riven", + "summonerName": "BearJew43#Bonk", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Brand", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rylai's Crystal Scepter", + "itemID": 223116, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223116_Description", + "rawDisplayName": "Item_223116_Name", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Wooglet's Witchcap", + "itemID": 228002, + "price": 6000, + "rawDescription": "GeneratedTip_Item_228002_Description", + "rawDisplayName": "Cherry_WoogletsWitchcap_ItemName", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Runecarver", + "itemID": 447108, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447108_Description", + "rawDisplayName": "Item_447108_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Morellonomicon", + "itemID": 223165, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223165_Description", + "rawDisplayName": "Item_223165_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Brand", + "rawSkinName": "game_character_skin_displayname_Brand_9", + "respawnTimer": 9978.5859375, + "riotId": "Synarys#EUW", + "riotIdGameName": "Synarys", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 7, + "creepScore": 0, + "deaths": 7, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 9, + "skinName": "Arclight Brand", + "summonerName": "Synarys#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Sett", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Spear of Shojin", + "itemID": 223161, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223161_Description", + "rawDisplayName": "Item_223161_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sterak's Gage", + "itemID": 223053, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223053_Description", + "rawDisplayName": "Item_223053_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sword of the Divine", + "itemID": 443060, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443060_Description", + "rawDisplayName": "Item_443060_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Atma's Reckoning", + "itemID": 223039, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223039_Description", + "rawDisplayName": "Item_223039_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Trinity Force", + "itemID": 223078, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223078_Description", + "rawDisplayName": "Item_223078_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Sett", + "rawSkinName": "game_character_skin_displayname_Sett_40", + "respawnTimer": 9806.1572265625, + "riotId": "Babboz premier#9152", + "riotIdGameName": "Babboz premier", + "riotIdTagLine": "9152", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 6, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 40, + "skinName": "Spirit Blossom Sett", + "summonerName": "Babboz premier#9152", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Lissandra", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Void Staff", + "itemID": 223135, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223135_Description", + "rawDisplayName": "Item_223135_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rite Of Ruin", + "itemID": 3430, + "price": 2500, + "rawDescription": "GeneratedTip_Item_3430_Description", + "rawDisplayName": "Item_3430_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Lissandra", + "rawSkinName": "game_character_skin_displayname_Lissandra_33", + "respawnTimer": 9972.3603515625, + "riotId": "Rock the Kahba#EUW", + "riotIdGameName": "Rock the Kahba", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 8, + "creepScore": 0, + "deaths": 6, + "kills": 9, + "wardScore": 0.0 + }, + "skinID": 33, + "skinName": "Prestige Porcelain Lissandra", + "summonerName": "Rock the Kahba#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Die Another Day", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_DieAnotherDay_KindredR_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_DieAnotherDay_KindredR_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Hecarim", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Moonflair Spellblade", + "itemID": 447110, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447110_Description", + "rawDisplayName": "Item_447110_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Muramana", + "itemID": 223042, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223042_Description", + "rawDisplayName": "Item_223042_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hellfire Hatchet", + "itemID": 4017, + "price": 2500, + "rawDescription": "GeneratedTip_Item_4017_Description", + "rawDisplayName": "Item_4017_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Black Cleaver", + "itemID": 223071, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223071_Description", + "rawDisplayName": "Item_223071_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Death's Dance", + "itemID": 226333, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226333_Description", + "rawDisplayName": "Item_226333_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Hecarim", + "rawSkinName": "game_character_skin_displayname_Hecarim_4", + "respawnTimer": 9157.15625, + "riotId": "DDDDDDDDDDDDDD#EUW", + "riotIdGameName": "DDDDDDDDDDDDDD", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 2, + "kills": 16, + "wardScore": 0.0 + }, + "skinID": 4, + "skinName": "Arcade Hecarim", + "summonerName": "DDDDDDDDDDDDDD#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Camille", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Titanic Hydra", + "itemID": 223748, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223748_Description", + "rawDisplayName": "Item_223748_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Overlord's Bloodmail", + "itemID": 447111, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447111_Description", + "rawDisplayName": "Item_447111_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Heartsteel", + "itemID": 223084, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223084_Description", + "rawDisplayName": "Item_223084_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Cloak of Starry Night", + "itemID": 443059, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443059_Description", + "rawDisplayName": "Item_443059_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Divine Sunderer", + "itemID": 446632, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446632_Description", + "rawDisplayName": "Item_446632_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 25, + "position": "NONE", + "rawChampionName": "game_character_displayname_Camille", + "rawSkinName": "game_character_skin_displayname_Camille_10", + "respawnTimer": 0.0, + "riotId": "Caashual#EUW", + "riotIdGameName": "Caashual", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 13, + "creepScore": 0, + "deaths": 5, + "kills": 7, + "wardScore": 0.0 + }, + "skinID": 10, + "skinName": "iG Camille", + "summonerName": "Caashual#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Warmup Routine", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Veigar", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Everfrost", + "itemID": 446656, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446656_Description", + "rawDisplayName": "Item_446656_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Seraph's Embrace", + "itemID": 223040, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223040_Description", + "rawDisplayName": "Item_223040_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 13, + "position": "NONE", + "rawChampionName": "game_character_displayname_Veigar", + "rawSkinName": "game_character_skin_displayname_Veigar_31", + "respawnTimer": 9568.787109375, + "riotId": "AncientBoso#EUW", + "riotIdGameName": "AncientBoso", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 6, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 31, + "skinName": "Furyhorn Cosplay Veigar", + "summonerName": "AncientBoso#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Bel'Veth", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Blade of The Ruined King", + "itemID": 223153, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223153_Description", + "rawDisplayName": "Item_223153_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Jak'Sho, The Protean", + "itemID": 226665, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226665_Description", + "rawDisplayName": "Item_226665_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 13, + "position": "NONE", + "rawChampionName": "game_character_displayname_Belveth", + "rawSkinName": "game_character_skin_displayname_Belveth_1", + "respawnTimer": 9563.5107421875, + "riotId": "Reicken#EUW", + "riotIdGameName": "Reicken", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 7, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 1, + "skinName": "Battle Boss Bel'Veth", + "summonerName": "Reicken#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Thresh", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Lux", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Lux", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Jhin", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Jhin", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Sett", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Sett", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Pyke", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + } + ], + "events": { + "Events": [ + { + "EventID": 0, + "EventName": "GameStart", + "EventTime": 0.02265089936554432 + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 1, + "EventName": "ChampionKill", + "EventTime": 70.8059310913086, + "KillerName": "BearJew43", + "VictimName": "Caashual" + }, + { + "EventID": 2, + "EventName": "FirstBlood", + "EventTime": 70.8059310913086, + "Recipient": "BearJew43" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 3, + "EventName": "ChampionKill", + "EventTime": 72.50231170654297, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 4, + "EventName": "ChampionKill", + "EventTime": 75.31416320800781, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [ + "AncientBoso" + ], + "EventID": 5, + "EventName": "ChampionKill", + "EventTime": 78.30369567871094, + "KillerName": "Reicken", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 6, + "EventName": "ChampionKill", + "EventTime": 83.62960815429688, + "KillerName": "Babboz premier", + "VictimName": "Reicken" + }, + { + "Assisters": [], + "EventID": 7, + "EventName": "ChampionKill", + "EventTime": 86.23847961425781, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 8, + "EventName": "ChampionKill", + "EventTime": 92.12323760986328, + "KillerName": "Rock the Kahba", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 9, + "EventName": "ChampionKill", + "EventTime": 97.71664428710938, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [], + "EventID": 10, + "EventName": "ChampionKill", + "EventTime": 106.22671508789063, + "KillerName": "Babboz premier", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 11, + "EventName": "ChampionKill", + "EventTime": 118.49600982666016, + "KillerName": "WYSTΞRΛW", + "VictimName": "hacka" + }, + { + "EventID": 12, + "EventName": "MinionsSpawning", + "EventTime": 120.01715850830078 + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 13, + "EventName": "ChampionKill", + "EventTime": 123.75492095947266, + "KillerName": "Oowi Glad", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 14, + "EventName": "ChampionKill", + "EventTime": 124.56584930419922, + "KillerName": "WYSTΞRΛW", + "VictimName": "Oowi Glad" + }, + { + "EventID": 15, + "EventName": "Multikill", + "EventTime": 124.56584930419922, + "KillStreak": 2, + "KillerName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 16, + "EventName": "ChampionKill", + "EventTime": 124.83928680419922, + "KillerName": "Oowi Glad", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 17, + "EventName": "Multikill", + "EventTime": 124.83928680419922, + "KillStreak": 2, + "KillerName": "Oowi Glad" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 18, + "EventName": "ChampionKill", + "EventTime": 197.6542205810547, + "KillerName": "Babboz premier", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 19, + "EventName": "ChampionKill", + "EventTime": 201.27737426757813, + "KillerName": "hacka", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 20, + "EventName": "ChampionKill", + "EventTime": 212.46542358398438, + "KillerName": "BearJew43", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 21, + "EventName": "ChampionKill", + "EventTime": 213.8985137939453, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 22, + "EventName": "ChampionKill", + "EventTime": 213.93002319335938, + "KillerName": "WYSTΞRΛW", + "VictimName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 23, + "EventName": "ChampionKill", + "EventTime": 215.4224395751953, + "KillerName": "Synarys", + "VictimName": "Barry Lete" + }, + { + "Assisters": [], + "EventID": 24, + "EventName": "ChampionKill", + "EventTime": 215.6230926513672, + "KillerName": "hacka", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 25, + "EventName": "ChampionKill", + "EventTime": 219.2171630859375, + "KillerName": "OfCourseLucky", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 26, + "EventName": "ChampionKill", + "EventTime": 219.31491088867188, + "KillerName": "Erijo", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [], + "EventID": 27, + "EventName": "ChampionKill", + "EventTime": 230.19534301757813, + "KillerName": "Cherry_Shopkeeper", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [], + "EventID": 28, + "EventName": "ChampionKill", + "EventTime": 239.14427185058595, + "KillerName": "Caashual", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 29, + "EventName": "ChampionKill", + "EventTime": 303.0120544433594, + "KillerName": "Erijo", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 30, + "EventName": "ChampionKill", + "EventTime": 303.2181701660156, + "KillerName": "Rock the Kahba", + "VictimName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 31, + "EventName": "ChampionKill", + "EventTime": 303.7876892089844, + "KillerName": "Caashual", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 32, + "EventName": "ChampionKill", + "EventTime": 303.95526123046877, + "KillerName": "Barry Lete", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 33, + "EventName": "ChampionKill", + "EventTime": 310.568359375, + "KillerName": "WYSTΞRΛW", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Barry Lete" + ], + "EventID": 34, + "EventName": "ChampionKill", + "EventTime": 312.6029968261719, + "KillerName": "zaap", + "VictimName": "hacka" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 35, + "EventName": "ChampionKill", + "EventTime": 313.0817565917969, + "KillerName": "OfCourseLucky", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 36, + "EventName": "ChampionKill", + "EventTime": 319.2106018066406, + "KillerName": "BearJew43", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 37, + "EventName": "ChampionKill", + "EventTime": 322.49700927734377, + "KillerName": "Babboz premier", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 38, + "EventName": "ChampionKill", + "EventTime": 325.4095458984375, + "KillerName": "Erijo", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 39, + "EventName": "ChampionKill", + "EventTime": 330.8350524902344, + "KillerName": "AncientBoso", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 40, + "EventName": "ChampionKill", + "EventTime": 332.12506103515627, + "KillerName": "AncientBoso", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 41, + "EventName": "Multikill", + "EventTime": 332.12506103515627, + "KillStreak": 2, + "KillerName": "AncientBoso" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 42, + "EventName": "ChampionKill", + "EventTime": 392.0235595703125, + "KillerName": "BearJew43", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 43, + "EventName": "ChampionKill", + "EventTime": 395.1387023925781, + "KillerName": "Barry Lete", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 44, + "EventName": "ChampionKill", + "EventTime": 396.8771667480469, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 45, + "EventName": "ChampionKill", + "EventTime": 398.304443359375, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Babboz premier" + }, + { + "EventID": 46, + "EventName": "Multikill", + "EventTime": 398.304443359375, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 47, + "EventName": "ChampionKill", + "EventTime": 404.6380310058594, + "KillerName": "Barry Lete", + "VictimName": "AncientBoso" + }, + { + "EventID": 48, + "EventName": "Multikill", + "EventTime": 404.6380310058594, + "KillStreak": 2, + "KillerName": "Barry Lete" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 49, + "EventName": "ChampionKill", + "EventTime": 409.9170837402344, + "KillerName": "hacka", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 50, + "EventName": "ChampionKill", + "EventTime": 413.3069152832031, + "KillerName": "Erijo", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 51, + "EventName": "ChampionKill", + "EventTime": 414.2256164550781, + "KillerName": "Rolliger Rudolf", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 52, + "EventName": "ChampionKill", + "EventTime": 414.73748779296877, + "KillerName": "Erijo", + "VictimName": "hacka" + }, + { + "EventID": 53, + "EventName": "Multikill", + "EventTime": 414.73748779296877, + "KillStreak": 2, + "KillerName": "Erijo" + }, + { + "Assisters": [], + "EventID": 54, + "EventName": "ChampionKill", + "EventTime": 426.01544189453127, + "KillerName": "Rock the Kahba", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [], + "EventID": 55, + "EventName": "ChampionKill", + "EventTime": 432.4102783203125, + "KillerName": "Rock the Kahba", + "VictimName": "Rolliger Rudolf" + }, + { + "EventID": 56, + "EventName": "Multikill", + "EventTime": 432.4102783203125, + "KillStreak": 2, + "KillerName": "Rock the Kahba" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 57, + "EventName": "ChampionKill", + "EventTime": 490.0967102050781, + "KillerName": "Erijo", + "VictimName": "Reicken" + }, + { + "Assisters": [], + "EventID": 58, + "EventName": "ChampionKill", + "EventTime": 493.6936340332031, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "BearJew43", + "Pyke Bot" + ], + "EventID": 59, + "EventName": "ChampionKill", + "EventTime": 496.5680236816406, + "KillerName": "Erijo", + "VictimName": "AncientBoso" + }, + { + "EventID": 60, + "EventName": "Multikill", + "EventTime": 496.5680236816406, + "KillStreak": 2, + "KillerName": "Erijo" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 61, + "EventName": "ChampionKill", + "EventTime": 496.9507141113281, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "hacka" + }, + { + "EventID": 62, + "EventName": "Multikill", + "EventTime": 496.9507141113281, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [], + "EventID": 63, + "EventName": "ChampionKill", + "EventTime": 501.19140625, + "KillerName": "Synarys", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 64, + "EventName": "ChampionKill", + "EventTime": 501.6995849609375, + "KillerName": "WYSTΞRΛW", + "VictimName": "zaap" + }, + { + "Assisters": [], + "EventID": 65, + "EventName": "ChampionKill", + "EventTime": 514.6065673828125, + "KillerName": "Synarys", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 66, + "EventName": "ChampionKill", + "EventTime": 520.00390625, + "KillerName": "WYSTΞRΛW", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 67, + "EventName": "ChampionKill", + "EventTime": 586.9451904296875, + "KillerName": "Barry Lete", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 68, + "EventName": "ChampionKill", + "EventTime": 587.686279296875, + "KillerName": "Rock the Kahba", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [], + "EventID": 69, + "EventName": "ChampionKill", + "EventTime": 590.2977905273438, + "KillerName": "hacka", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 70, + "EventName": "ChampionKill", + "EventTime": 590.5833740234375, + "KillerName": "Rock the Kahba", + "VictimName": "hacka" + }, + { + "EventID": 71, + "EventName": "Multikill", + "EventTime": 590.5833740234375, + "KillStreak": 2, + "KillerName": "Rock the Kahba" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 72, + "EventName": "ChampionKill", + "EventTime": 592.31884765625, + "KillerName": "AncientBoso", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 73, + "EventName": "ChampionKill", + "EventTime": 592.5860595703125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 74, + "EventName": "ChampionKill", + "EventTime": 594.83203125, + "KillerName": "WYSTΞRΛW", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 75, + "EventName": "ChampionKill", + "EventTime": 594.9207763671875, + "KillerName": "Erijo", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 76, + "EventName": "ChampionKill", + "EventTime": 595.9884033203125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Reicken" + }, + { + "EventID": 77, + "EventName": "Multikill", + "EventTime": 595.9884033203125, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 78, + "EventName": "ChampionKill", + "EventTime": 599.3370361328125, + "KillerName": "Barry Lete", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 79, + "EventName": "ChampionKill", + "EventTime": 606.6257934570313, + "KillerName": "Synarys", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [], + "EventID": 80, + "EventName": "ChampionKill", + "EventTime": 630.5857543945313, + "KillerName": "Synarys", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 81, + "EventName": "ChampionKill", + "EventTime": 631.982421875, + "KillerName": "Rolliger Rudolf", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 82, + "EventName": "ChampionKill", + "EventTime": 643.6124267578125, + "KillerName": "Babboz premier", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 83, + "EventName": "ChampionKill", + "EventTime": 687.8211059570313, + "KillerName": "Caashual", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 84, + "EventName": "ChampionKill", + "EventTime": 690.6760864257813, + "KillerName": "Babboz premier", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 85, + "EventName": "ChampionKill", + "EventTime": 691.0227661132813, + "KillerName": "hacka", + "VictimName": "Babboz premier" + }, + { + "Assisters": [], + "EventID": 86, + "EventName": "ChampionKill", + "EventTime": 700.5423583984375, + "KillerName": "hacka", + "VictimName": "Synarys" + }, + { + "EventID": 87, + "EventName": "Multikill", + "EventTime": 700.5423583984375, + "KillStreak": 2, + "KillerName": "hacka" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 88, + "EventName": "ChampionKill", + "EventTime": 703.8668823242188, + "KillerName": "Rolliger Rudolf", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 89, + "EventName": "ChampionKill", + "EventTime": 704.3682861328125, + "KillerName": "WYSTΞRΛW", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 90, + "EventName": "ChampionKill", + "EventTime": 707.7551879882813, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 91, + "EventName": "ChampionKill", + "EventTime": 709.5720825195313, + "KillerName": "OfCourseLucky", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 92, + "EventName": "ChampionKill", + "EventTime": 714.8484497070313, + "KillerName": "Rock the Kahba", + "VictimName": "AncientBoso" + }, + { + "Acer": "Rock the Kahba", + "AcingTeam": "CHAOS", + "EventID": 93, + "EventName": "Ace", + "EventTime": 714.8484497070313 + }, + { + "Assisters": [ + "Jhin Bot" + ], + "EventID": 94, + "EventName": "ChampionKill", + "EventTime": 775.2179565429688, + "KillerName": "hacka", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 95, + "EventName": "ChampionKill", + "EventTime": 776.201416015625, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Caashual", + "Pyke Bot" + ], + "EventID": 96, + "EventName": "ChampionKill", + "EventTime": 778.0474853515625, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "BearJew43" + }, + { + "Assisters": [], + "EventID": 97, + "EventName": "ChampionKill", + "EventTime": 778.6884155273438, + "KillerName": "Barry Lete", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "BearJew43", + "Pyke Bot" + ], + "EventID": 98, + "EventName": "ChampionKill", + "EventTime": 779.1884155273438, + "KillerName": "Erijo", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Pyke Bot" + ], + "EventID": 99, + "EventName": "ChampionKill", + "EventTime": 779.6668701171875, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Erijo" + }, + { + "EventID": 100, + "EventName": "Multikill", + "EventTime": 779.6668701171875, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "hacka", + "Jhin Bot" + ], + "EventID": 101, + "EventName": "ChampionKill", + "EventTime": 781.8851318359375, + "KillerName": "Oowi Glad", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 102, + "EventName": "ChampionKill", + "EventTime": 784.9352416992188, + "KillerName": "OfCourseLucky", + "VictimName": "Barry Lete" + }, + { + "EventID": 103, + "EventName": "Multikill", + "EventTime": 784.9352416992188, + "KillStreak": 2, + "KillerName": "OfCourseLucky" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 104, + "EventName": "ChampionKill", + "EventTime": 850.1945190429688, + "KillerName": "Rock the Kahba", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 105, + "EventName": "ChampionKill", + "EventTime": 852.3099365234375, + "KillerName": "Synarys", + "VictimName": "hacka" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 106, + "EventName": "ChampionKill", + "EventTime": 853.0804443359375, + "KillerName": "Synarys", + "VictimName": "Oowi Glad" + }, + { + "EventID": 107, + "EventName": "Multikill", + "EventTime": 853.0804443359375, + "KillStreak": 2, + "KillerName": "Synarys" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 108, + "EventName": "ChampionKill", + "EventTime": 862.50537109375, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 109, + "EventName": "ChampionKill", + "EventTime": 862.8317260742188, + "KillerName": "Rock the Kahba", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "WYSTΞRΛW", + "Lux Bot" + ], + "EventID": 110, + "EventName": "ChampionKill", + "EventTime": 864.8869018554688, + "KillerName": "Rolliger Rudolf", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Lux Bot" + ], + "EventID": 111, + "EventName": "ChampionKill", + "EventTime": 876.7061767578125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 112, + "EventName": "ChampionKill", + "EventTime": 883.5968627929688, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 113, + "EventName": "Multikill", + "EventTime": 883.5968627929688, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [], + "EventID": 114, + "EventName": "ChampionKill", + "EventTime": 952.2185668945313, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Babboz premier" + }, + { + "Assisters": [], + "EventID": 115, + "EventName": "ChampionKill", + "EventTime": 954.9070434570313, + "KillerName": "Caashual", + "VictimName": "Synarys" + }, + { + "Assisters": [], + "EventID": 116, + "EventName": "ChampionKill", + "EventTime": 1025.791748046875, + "KillerName": "Caashual", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 117, + "EventName": "ChampionKill", + "EventTime": 1046.152099609375, + "KillerName": "Caashual", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [], + "EventID": 118, + "EventName": "ChampionKill", + "EventTime": 1049.0050048828126, + "KillerName": "Caashual", + "VictimName": "OfCourseLucky" + }, + { + "EventID": 119, + "EventName": "Multikill", + "EventTime": 1049.0050048828126, + "KillStreak": 2, + "KillerName": "Caashual" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 120, + "EventName": "ChampionKill", + "EventTime": 1100.1153564453126, + "KillerName": "Synarys", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 121, + "EventName": "ChampionKill", + "EventTime": 1118.4222412109376, + "KillerName": "Babboz premier", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 122, + "EventName": "ChampionKill", + "EventTime": 1124.4998779296876, + "KillerName": "Babboz premier", + "VictimName": "OfCourseLucky" + }, + { + "EventID": 123, + "EventName": "Multikill", + "EventTime": 1124.4998779296876, + "KillStreak": 2, + "KillerName": "Babboz premier" + }, + { + "Assisters": [ + "Rock the Kahba", + "Thresh Bot" + ], + "EventID": 124, + "EventName": "ChampionKill", + "EventTime": 1124.6473388671876, + "KillerName": "OfCourseLucky", + "VictimName": "Synarys" + } + ] + }, + "gameData": { + "gameMode": "CHERRY", + "gameTime": 1145.0616455078126, + "mapName": "Map30", + "mapNumber": 30, + "mapTerrain": "Default" + } +} \ No newline at end of file diff --git a/tests/GetLiveclientdataAllgamedata_Arena5.json b/tests/GetLiveclientdataAllgamedata_Arena5.json new file mode 100644 index 0000000..6fbd55f --- /dev/null +++ b/tests/GetLiveclientdataAllgamedata_Arena5.json @@ -0,0 +1,3191 @@ +{ + "activePlayer": { + "abilities": { + "E": { + "abilityLevel": 3, + "displayName": "90 Caliber Net", + "id": "CaitlynE", + "rawDescription": "GeneratedTip_Spell_CaitlynE_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynE_DisplayName" + }, + "Passive": { + "displayName": "Headshot", + "id": "CaitlynPassive", + "rawDescription": "GeneratedTip_Passive_CaitlynPassive_Description", + "rawDisplayName": "GeneratedTip_Passive_CaitlynPassive_DisplayName" + }, + "Q": { + "abilityLevel": 5, + "displayName": "Piltover Peacemaker", + "id": "CaitlynQ", + "rawDescription": "GeneratedTip_Spell_CaitlynQ_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynQ_DisplayName" + }, + "R": { + "abilityLevel": 2, + "displayName": "Ace in the Hole", + "id": "CaitlynR", + "rawDescription": "GeneratedTip_Spell_CaitlynR_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynR_DisplayName" + }, + "W": { + "abilityLevel": 5, + "displayName": "Yordle Snap Trap", + "id": "CaitlynW", + "rawDescription": "GeneratedTip_Spell_CaitlynW_Description", + "rawDisplayName": "GeneratedTip_Spell_CaitlynW_DisplayName" + } + }, + "championStats": { + "abilityHaste": 20.0, + "abilityPower": 127.05882263183594, + "armor": 109.46315002441406, + "armorPenetrationFlat": 0.0, + "armorPenetrationPercent": 0.6000000238418579, + "attackDamage": 435.63616943359377, + "attackRange": 650.0, + "attackSpeed": 2.092106342315674, + "bonusArmorPenetrationPercent": 1.0, + "bonusMagicPenetrationPercent": 1.0, + "critChance": 1.0, + "critDamage": 230.0, + "currentHealth": 77.5146484375, + "healShieldPower": 0.0, + "healthRegenRate": 2.1591501235961916, + "lifeSteal": 0.05000000074505806, + "magicLethality": 0.0, + "magicPenetrationFlat": 0.0, + "magicPenetrationPercent": 1.0, + "magicResist": 67.36215209960938, + "maxHealth": 2972.884521484375, + "moveSpeed": 457.09100341796877, + "omnivamp": 0.0, + "physicalLethality": 0.0, + "physicalVamp": 0.0, + "resourceMax": 1095.60009765625, + "resourceRegenRate": 22.837100982666017, + "resourceType": "MANA", + "resourceValue": 1095.60009765625, + "spellVamp": 0.0, + "tenacity": 5.0 + }, + "currentGold": 0.0, + "fullRunes": {}, + "level": 15, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "summonerName": "hacka#EUW", + "teamRelativeColors": true + }, + "allPlayers": [ + { + "championName": "Caitlyn", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lord Dominik's Regards", + "itemID": 223036, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223036_Description", + "rawDisplayName": "Item_223036_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Caitlyn", + "rawSkinName": "game_character_skin_displayname_Caitlyn_19", + "respawnTimer": 9648.5244140625, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 6, + "kills": 7, + "wardScore": 0.0 + }, + "skinID": 19, + "skinName": "Arcade Caitlyn", + "summonerName": "hacka#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Blitzcrank", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lich Bane", + "itemID": 223100, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223100_Description", + "rawDisplayName": "Item_223100_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 14, + "position": "NONE", + "rawChampionName": "game_character_displayname_Blitzcrank", + "rawSkinName": "game_character_skin_displayname_Blitzcrank_17", + "respawnTimer": 9581.1494140625, + "riotId": "Barry Lete#V20", + "riotIdGameName": "Barry Lete", + "riotIdTagLine": "V20", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 5, + "kills": 6, + "wardScore": 0.0 + }, + "skinID": 17, + "skinName": "Battle Boss Blitzcrank", + "summonerName": "Barry Lete#V20", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Thresh", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Stormrazor", + "itemID": 223095, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223095_Description", + "rawDisplayName": "Item_223095_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rapid Firecannon", + "itemID": 223094, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223094_Description", + "rawDisplayName": "Item_223094_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 14, + "position": "NONE", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 9572.416015625, + "riotId": "zaap#PHUB", + "riotIdGameName": "zaap", + "riotIdTagLine": "PHUB", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 7, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "zaap#PHUB", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Gwen", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Riftmaker", + "itemID": 224633, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224633_Description", + "rawDisplayName": "Item_224633_Name", + "slot": 3 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Gwen", + "respawnTimer": 9649.294921875, + "riotId": "Oowi Glad#EUW", + "riotIdGameName": "Oowi Glad", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 8, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "Oowi Glad#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Ezreal", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "The Collector", + "itemID": 226676, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226676_Description", + "rawDisplayName": "Item_226676_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Muramana", + "itemID": 223042, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223042_Description", + "rawDisplayName": "Item_223042_Name", + "slot": 2 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Galeforce", + "itemID": 446671, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446671_Description", + "rawDisplayName": "Item_446671_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Trinity Force", + "itemID": 223078, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223078_Description", + "rawDisplayName": "Item_223078_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hellfire Hatchet", + "itemID": 4017, + "price": 2500, + "rawDescription": "GeneratedTip_Item_4017_Description", + "rawDisplayName": "Item_4017_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Ezreal", + "rawSkinName": "game_character_skin_displayname_Ezreal_54", + "respawnTimer": 9920.7138671875, + "riotId": "OfCourseLucky#Luck", + "riotIdGameName": "OfCourseLucky", + "riotIdTagLine": "Luck", + "runes": null, + "scores": { + "assists": 7, + "creepScore": 0, + "deaths": 8, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 54, + "skinName": "Prestige Heavenscale Ezreal", + "summonerName": "OfCourseLucky#Luck", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Malphite", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Dragonheart", + "itemID": 447106, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447106_Description", + "rawDisplayName": "Item_447106_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Heartsteel", + "itemID": 223084, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223084_Description", + "rawDisplayName": "Item_223084_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sunfire Aegis", + "itemID": 223068, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223068_Description", + "rawDisplayName": "Item_223068_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Jak'Sho, The Protean", + "itemID": 226665, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226665_Description", + "rawDisplayName": "Item_226665_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Malphite", + "rawSkinName": "game_character_skin_displayname_Malphite_6", + "respawnTimer": 9672.919921875, + "riotId": "Rolliger Rudolf#EUW", + "riotIdGameName": "Rolliger Rudolf", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 8, + "creepScore": 0, + "deaths": 7, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 6, + "skinName": "Mecha Malphite", + "summonerName": "Rolliger Rudolf#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Corki", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Boots of Swiftness", + "itemID": 223009, + "price": 500, + "rawDescription": "GeneratedTip_Item_223009_Description", + "rawDisplayName": "Item_223009_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Flesheater", + "itemID": 447112, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447112_Description", + "rawDisplayName": "Item_447112_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rapid Firecannon", + "itemID": 223094, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223094_Description", + "rawDisplayName": "Item_223094_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Corki", + "rawSkinName": "game_character_skin_displayname_Corki_3", + "respawnTimer": 9679.810546875, + "riotId": "WYSTΞRΛW#EUW", + "riotIdGameName": "WYSTΞRΛW", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 10, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 3, + "skinName": "Red Baron Corki", + "summonerName": "WYSTΞRΛW#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Castle", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_Castle_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_Castle_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Vladimir", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Cloak of Starry Night", + "itemID": 443059, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443059_Description", + "rawDisplayName": "Item_443059_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Void Staff", + "itemID": 223135, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223135_Description", + "rawDisplayName": "Item_223135_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Vladimir", + "rawSkinName": "game_character_skin_displayname_Vladimir_1", + "respawnTimer": 9646.408203125, + "riotId": "Erijo#Dog", + "riotIdGameName": "Erijo", + "riotIdTagLine": "Dog", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 6, + "kills": 9, + "wardScore": 0.0 + }, + "skinID": 1, + "skinName": "Count Vladimir", + "summonerName": "Erijo#Dog", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Fate's Call", + "rawDescription": "GeneratedTip_Spell_Augment_Oathsworn_KalistaRx_Description", + "rawDisplayName": "GeneratedTip_Spell_Augment_Oathsworn_KalistaRx_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Riven", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hemomancer's Helm", + "itemID": 447103, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447103_Description", + "rawDisplayName": "Item_447103_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Eclipse", + "itemID": 226692, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226692_Description", + "rawDisplayName": "Item_226692_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sterak's Gage", + "itemID": 223053, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223053_Description", + "rawDisplayName": "Item_223053_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Duskblade of Draktharr", + "itemID": 446691, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446691_Description", + "rawDisplayName": "Item_446691_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 15, + "position": "NONE", + "rawChampionName": "game_character_displayname_Riven", + "rawSkinName": "game_character_skin_displayname_Riven_16", + "respawnTimer": 9659.0458984375, + "riotId": "BearJew43#Bonk", + "riotIdGameName": "BearJew43", + "riotIdTagLine": "Bonk", + "runes": null, + "scores": { + "assists": 9, + "creepScore": 0, + "deaths": 7, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 16, + "skinName": "Dawnbringer Riven", + "summonerName": "BearJew43#Bonk", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Brand", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rylai's Crystal Scepter", + "itemID": 223116, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223116_Description", + "rawDisplayName": "Item_223116_Name", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Wooglet's Witchcap", + "itemID": 228002, + "price": 6000, + "rawDescription": "GeneratedTip_Item_228002_Description", + "rawDisplayName": "Cherry_WoogletsWitchcap_ItemName", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Runecarver", + "itemID": 447108, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447108_Description", + "rawDisplayName": "Item_447108_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Morellonomicon", + "itemID": 223165, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223165_Description", + "rawDisplayName": "Item_223165_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Brand", + "rawSkinName": "game_character_skin_displayname_Brand_9", + "respawnTimer": 9986.759765625, + "riotId": "Synarys#EUW", + "riotIdGameName": "Synarys", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 7, + "creepScore": 0, + "deaths": 8, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 9, + "skinName": "Arclight Brand", + "summonerName": "Synarys#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Sett", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Spear of Shojin", + "itemID": 223161, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223161_Description", + "rawDisplayName": "Item_223161_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sterak's Gage", + "itemID": 223053, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223053_Description", + "rawDisplayName": "Item_223053_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sword of the Divine", + "itemID": 443060, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443060_Description", + "rawDisplayName": "Item_443060_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Atma's Reckoning", + "itemID": 223039, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223039_Description", + "rawDisplayName": "Item_223039_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sundered Sky", + "itemID": 226610, + "price": 2500, + "rawDescription": "GeneratedTip_Item_6610_Description", + "rawDisplayName": "Item_226610_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Trinity Force", + "itemID": 223078, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223078_Description", + "rawDisplayName": "Item_223078_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Sett", + "rawSkinName": "game_character_skin_displayname_Sett_40", + "respawnTimer": 9984.3232421875, + "riotId": "Babboz premier#9152", + "riotIdGameName": "Babboz premier", + "riotIdTagLine": "9152", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 7, + "kills": 8, + "wardScore": 0.0 + }, + "skinID": 40, + "skinName": "Spirit Blossom Sett", + "summonerName": "Babboz premier#9152", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Lissandra", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Void Staff", + "itemID": 223135, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223135_Description", + "rawDisplayName": "Item_223135_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rite Of Ruin", + "itemID": 3430, + "price": 2500, + "rawDescription": "GeneratedTip_Item_3430_Description", + "rawDisplayName": "Item_3430_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Lissandra", + "rawSkinName": "game_character_skin_displayname_Lissandra_33", + "respawnTimer": 9914.63671875, + "riotId": "Rock the Kahba#EUW", + "riotIdGameName": "Rock the Kahba", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 8, + "creepScore": 0, + "deaths": 6, + "kills": 9, + "wardScore": 0.0 + }, + "skinID": 33, + "skinName": "Prestige Porcelain Lissandra", + "summonerName": "Rock the Kahba#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Die Another Day", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_DieAnotherDay_KindredR_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_DieAnotherDay_KindredR_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Hecarim", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Moonflair Spellblade", + "itemID": 447110, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447110_Description", + "rawDisplayName": "Item_447110_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Muramana", + "itemID": 223042, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223042_Description", + "rawDisplayName": "Item_223042_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hellfire Hatchet", + "itemID": 4017, + "price": 2500, + "rawDescription": "GeneratedTip_Item_4017_Description", + "rawDisplayName": "Item_4017_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Black Cleaver", + "itemID": 223071, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223071_Description", + "rawDisplayName": "Item_223071_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Death's Dance", + "itemID": 226333, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226333_Description", + "rawDisplayName": "Item_226333_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 18, + "position": "NONE", + "rawChampionName": "game_character_displayname_Hecarim", + "rawSkinName": "game_character_skin_displayname_Hecarim_4", + "respawnTimer": 0.0, + "riotId": "DDDDDDDDDDDDDD#EUW", + "riotIdGameName": "DDDDDDDDDDDDDD", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 2, + "kills": 18, + "wardScore": 0.0 + }, + "skinID": 4, + "skinName": "Arcade Hecarim", + "summonerName": "DDDDDDDDDDDDDD#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Camille", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Titanic Hydra", + "itemID": 223748, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223748_Description", + "rawDisplayName": "Item_223748_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Overlord's Bloodmail", + "itemID": 447111, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447111_Description", + "rawDisplayName": "Item_447111_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Heartsteel", + "itemID": 223084, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223084_Description", + "rawDisplayName": "Item_223084_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Cloak of Starry Night", + "itemID": 443059, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443059_Description", + "rawDisplayName": "Item_443059_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Divine Sunderer", + "itemID": 446632, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446632_Description", + "rawDisplayName": "Item_446632_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 25, + "position": "NONE", + "rawChampionName": "game_character_displayname_Camille", + "rawSkinName": "game_character_skin_displayname_Camille_10", + "respawnTimer": 0.0, + "riotId": "Caashual#EUW", + "riotIdGameName": "Caashual", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 14, + "creepScore": 0, + "deaths": 5, + "kills": 7, + "wardScore": 0.0 + }, + "skinID": 10, + "skinName": "iG Camille", + "summonerName": "Caashual#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Warmup Routine", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_WarmupRoutine_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Veigar", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Everfrost", + "itemID": 446656, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446656_Description", + "rawDisplayName": "Item_446656_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Seraph's Embrace", + "itemID": 223040, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223040_Description", + "rawDisplayName": "Item_223040_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 13, + "position": "NONE", + "rawChampionName": "game_character_displayname_Veigar", + "rawSkinName": "game_character_skin_displayname_Veigar_31", + "respawnTimer": 9511.0625, + "riotId": "AncientBoso#EUW", + "riotIdGameName": "AncientBoso", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 6, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 31, + "skinName": "Furyhorn Cosplay Veigar", + "summonerName": "AncientBoso#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Bel'Veth", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hamstringer", + "itemID": 443069, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443069_Description", + "rawDisplayName": "Item_443069_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Blade of The Ruined King", + "itemID": 223153, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223153_Description", + "rawDisplayName": "Item_223153_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Jak'Sho, The Protean", + "itemID": 226665, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226665_Description", + "rawDisplayName": "Item_226665_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 13, + "position": "NONE", + "rawChampionName": "game_character_displayname_Belveth", + "rawSkinName": "game_character_skin_displayname_Belveth_1", + "respawnTimer": 9505.7861328125, + "riotId": "Reicken#EUW", + "riotIdGameName": "Reicken", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 7, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 1, + "skinName": "Battle Boss Bel'Veth", + "summonerName": "Reicken#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Thresh", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Lux", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Lux", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Jhin", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Jhin", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Sett", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Sett", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Pyke", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 15, + "position": "", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + } + ], + "events": { + "Events": [ + { + "EventID": 0, + "EventName": "GameStart", + "EventTime": 0.02265089936554432 + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 1, + "EventName": "ChampionKill", + "EventTime": 70.8059310913086, + "KillerName": "BearJew43", + "VictimName": "Caashual" + }, + { + "EventID": 2, + "EventName": "FirstBlood", + "EventTime": 70.8059310913086, + "Recipient": "BearJew43" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 3, + "EventName": "ChampionKill", + "EventTime": 72.50231170654297, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 4, + "EventName": "ChampionKill", + "EventTime": 75.31416320800781, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [ + "AncientBoso" + ], + "EventID": 5, + "EventName": "ChampionKill", + "EventTime": 78.30369567871094, + "KillerName": "Reicken", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 6, + "EventName": "ChampionKill", + "EventTime": 83.62960815429688, + "KillerName": "Babboz premier", + "VictimName": "Reicken" + }, + { + "Assisters": [], + "EventID": 7, + "EventName": "ChampionKill", + "EventTime": 86.23847961425781, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 8, + "EventName": "ChampionKill", + "EventTime": 92.12323760986328, + "KillerName": "Rock the Kahba", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 9, + "EventName": "ChampionKill", + "EventTime": 97.71664428710938, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [], + "EventID": 10, + "EventName": "ChampionKill", + "EventTime": 106.22671508789063, + "KillerName": "Babboz premier", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 11, + "EventName": "ChampionKill", + "EventTime": 118.49600982666016, + "KillerName": "WYSTΞRΛW", + "VictimName": "hacka" + }, + { + "EventID": 12, + "EventName": "MinionsSpawning", + "EventTime": 120.01715850830078 + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 13, + "EventName": "ChampionKill", + "EventTime": 123.75492095947266, + "KillerName": "Oowi Glad", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 14, + "EventName": "ChampionKill", + "EventTime": 124.56584930419922, + "KillerName": "WYSTΞRΛW", + "VictimName": "Oowi Glad" + }, + { + "EventID": 15, + "EventName": "Multikill", + "EventTime": 124.56584930419922, + "KillStreak": 2, + "KillerName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 16, + "EventName": "ChampionKill", + "EventTime": 124.83928680419922, + "KillerName": "Oowi Glad", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 17, + "EventName": "Multikill", + "EventTime": 124.83928680419922, + "KillStreak": 2, + "KillerName": "Oowi Glad" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 18, + "EventName": "ChampionKill", + "EventTime": 197.6542205810547, + "KillerName": "Babboz premier", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 19, + "EventName": "ChampionKill", + "EventTime": 201.27737426757813, + "KillerName": "hacka", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 20, + "EventName": "ChampionKill", + "EventTime": 212.46542358398438, + "KillerName": "BearJew43", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 21, + "EventName": "ChampionKill", + "EventTime": 213.8985137939453, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 22, + "EventName": "ChampionKill", + "EventTime": 213.93002319335938, + "KillerName": "WYSTΞRΛW", + "VictimName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 23, + "EventName": "ChampionKill", + "EventTime": 215.4224395751953, + "KillerName": "Synarys", + "VictimName": "Barry Lete" + }, + { + "Assisters": [], + "EventID": 24, + "EventName": "ChampionKill", + "EventTime": 215.6230926513672, + "KillerName": "hacka", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 25, + "EventName": "ChampionKill", + "EventTime": 219.2171630859375, + "KillerName": "OfCourseLucky", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 26, + "EventName": "ChampionKill", + "EventTime": 219.31491088867188, + "KillerName": "Erijo", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [], + "EventID": 27, + "EventName": "ChampionKill", + "EventTime": 230.19534301757813, + "KillerName": "Cherry_Shopkeeper", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [], + "EventID": 28, + "EventName": "ChampionKill", + "EventTime": 239.14427185058595, + "KillerName": "Caashual", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 29, + "EventName": "ChampionKill", + "EventTime": 303.0120544433594, + "KillerName": "Erijo", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 30, + "EventName": "ChampionKill", + "EventTime": 303.2181701660156, + "KillerName": "Rock the Kahba", + "VictimName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 31, + "EventName": "ChampionKill", + "EventTime": 303.7876892089844, + "KillerName": "Caashual", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 32, + "EventName": "ChampionKill", + "EventTime": 303.95526123046877, + "KillerName": "Barry Lete", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 33, + "EventName": "ChampionKill", + "EventTime": 310.568359375, + "KillerName": "WYSTΞRΛW", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Barry Lete" + ], + "EventID": 34, + "EventName": "ChampionKill", + "EventTime": 312.6029968261719, + "KillerName": "zaap", + "VictimName": "hacka" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 35, + "EventName": "ChampionKill", + "EventTime": 313.0817565917969, + "KillerName": "OfCourseLucky", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 36, + "EventName": "ChampionKill", + "EventTime": 319.2106018066406, + "KillerName": "BearJew43", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 37, + "EventName": "ChampionKill", + "EventTime": 322.49700927734377, + "KillerName": "Babboz premier", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 38, + "EventName": "ChampionKill", + "EventTime": 325.4095458984375, + "KillerName": "Erijo", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 39, + "EventName": "ChampionKill", + "EventTime": 330.8350524902344, + "KillerName": "AncientBoso", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 40, + "EventName": "ChampionKill", + "EventTime": 332.12506103515627, + "KillerName": "AncientBoso", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 41, + "EventName": "Multikill", + "EventTime": 332.12506103515627, + "KillStreak": 2, + "KillerName": "AncientBoso" + }, + { + "Assisters": [ + "Erijo" + ], + "EventID": 42, + "EventName": "ChampionKill", + "EventTime": 392.0235595703125, + "KillerName": "BearJew43", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 43, + "EventName": "ChampionKill", + "EventTime": 395.1387023925781, + "KillerName": "Barry Lete", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 44, + "EventName": "ChampionKill", + "EventTime": 396.8771667480469, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 45, + "EventName": "ChampionKill", + "EventTime": 398.304443359375, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Babboz premier" + }, + { + "EventID": 46, + "EventName": "Multikill", + "EventTime": 398.304443359375, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 47, + "EventName": "ChampionKill", + "EventTime": 404.6380310058594, + "KillerName": "Barry Lete", + "VictimName": "AncientBoso" + }, + { + "EventID": 48, + "EventName": "Multikill", + "EventTime": 404.6380310058594, + "KillStreak": 2, + "KillerName": "Barry Lete" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 49, + "EventName": "ChampionKill", + "EventTime": 409.9170837402344, + "KillerName": "hacka", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 50, + "EventName": "ChampionKill", + "EventTime": 413.3069152832031, + "KillerName": "Erijo", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 51, + "EventName": "ChampionKill", + "EventTime": 414.2256164550781, + "KillerName": "Rolliger Rudolf", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 52, + "EventName": "ChampionKill", + "EventTime": 414.73748779296877, + "KillerName": "Erijo", + "VictimName": "hacka" + }, + { + "EventID": 53, + "EventName": "Multikill", + "EventTime": 414.73748779296877, + "KillStreak": 2, + "KillerName": "Erijo" + }, + { + "Assisters": [], + "EventID": 54, + "EventName": "ChampionKill", + "EventTime": 426.01544189453127, + "KillerName": "Rock the Kahba", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [], + "EventID": 55, + "EventName": "ChampionKill", + "EventTime": 432.4102783203125, + "KillerName": "Rock the Kahba", + "VictimName": "Rolliger Rudolf" + }, + { + "EventID": 56, + "EventName": "Multikill", + "EventTime": 432.4102783203125, + "KillStreak": 2, + "KillerName": "Rock the Kahba" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 57, + "EventName": "ChampionKill", + "EventTime": 490.0967102050781, + "KillerName": "Erijo", + "VictimName": "Reicken" + }, + { + "Assisters": [], + "EventID": 58, + "EventName": "ChampionKill", + "EventTime": 493.6936340332031, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "BearJew43", + "Pyke Bot" + ], + "EventID": 59, + "EventName": "ChampionKill", + "EventTime": 496.5680236816406, + "KillerName": "Erijo", + "VictimName": "AncientBoso" + }, + { + "EventID": 60, + "EventName": "Multikill", + "EventTime": 496.5680236816406, + "KillStreak": 2, + "KillerName": "Erijo" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 61, + "EventName": "ChampionKill", + "EventTime": 496.9507141113281, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "hacka" + }, + { + "EventID": 62, + "EventName": "Multikill", + "EventTime": 496.9507141113281, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [], + "EventID": 63, + "EventName": "ChampionKill", + "EventTime": 501.19140625, + "KillerName": "Synarys", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 64, + "EventName": "ChampionKill", + "EventTime": 501.6995849609375, + "KillerName": "WYSTΞRΛW", + "VictimName": "zaap" + }, + { + "Assisters": [], + "EventID": 65, + "EventName": "ChampionKill", + "EventTime": 514.6065673828125, + "KillerName": "Synarys", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 66, + "EventName": "ChampionKill", + "EventTime": 520.00390625, + "KillerName": "WYSTΞRΛW", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 67, + "EventName": "ChampionKill", + "EventTime": 586.9451904296875, + "KillerName": "Barry Lete", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 68, + "EventName": "ChampionKill", + "EventTime": 587.686279296875, + "KillerName": "Rock the Kahba", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [], + "EventID": 69, + "EventName": "ChampionKill", + "EventTime": 590.2977905273438, + "KillerName": "hacka", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 70, + "EventName": "ChampionKill", + "EventTime": 590.5833740234375, + "KillerName": "Rock the Kahba", + "VictimName": "hacka" + }, + { + "EventID": 71, + "EventName": "Multikill", + "EventTime": 590.5833740234375, + "KillStreak": 2, + "KillerName": "Rock the Kahba" + }, + { + "Assisters": [ + "Reicken" + ], + "EventID": 72, + "EventName": "ChampionKill", + "EventTime": 592.31884765625, + "KillerName": "AncientBoso", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 73, + "EventName": "ChampionKill", + "EventTime": 592.5860595703125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "AncientBoso" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 74, + "EventName": "ChampionKill", + "EventTime": 594.83203125, + "KillerName": "WYSTΞRΛW", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "BearJew43" + ], + "EventID": 75, + "EventName": "ChampionKill", + "EventTime": 594.9207763671875, + "KillerName": "Erijo", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Caashual", + "Thresh Bot" + ], + "EventID": 76, + "EventName": "ChampionKill", + "EventTime": 595.9884033203125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Reicken" + }, + { + "EventID": 77, + "EventName": "Multikill", + "EventTime": 595.9884033203125, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "zaap" + ], + "EventID": 78, + "EventName": "ChampionKill", + "EventTime": 599.3370361328125, + "KillerName": "Barry Lete", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 79, + "EventName": "ChampionKill", + "EventTime": 606.6257934570313, + "KillerName": "Synarys", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [], + "EventID": 80, + "EventName": "ChampionKill", + "EventTime": 630.5857543945313, + "KillerName": "Synarys", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 81, + "EventName": "ChampionKill", + "EventTime": 631.982421875, + "KillerName": "Rolliger Rudolf", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 82, + "EventName": "ChampionKill", + "EventTime": 643.6124267578125, + "KillerName": "Babboz premier", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 83, + "EventName": "ChampionKill", + "EventTime": 687.8211059570313, + "KillerName": "Caashual", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 84, + "EventName": "ChampionKill", + "EventTime": 690.6760864257813, + "KillerName": "Babboz premier", + "VictimName": "Oowi Glad" + }, + { + "Assisters": [ + "Oowi Glad" + ], + "EventID": 85, + "EventName": "ChampionKill", + "EventTime": 691.0227661132813, + "KillerName": "hacka", + "VictimName": "Babboz premier" + }, + { + "Assisters": [], + "EventID": 86, + "EventName": "ChampionKill", + "EventTime": 700.5423583984375, + "KillerName": "hacka", + "VictimName": "Synarys" + }, + { + "EventID": 87, + "EventName": "Multikill", + "EventTime": 700.5423583984375, + "KillStreak": 2, + "KillerName": "hacka" + }, + { + "Assisters": [ + "WYSTΞRΛW" + ], + "EventID": 88, + "EventName": "ChampionKill", + "EventTime": 703.8668823242188, + "KillerName": "Rolliger Rudolf", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "Rolliger Rudolf" + ], + "EventID": 89, + "EventName": "ChampionKill", + "EventTime": 704.3682861328125, + "KillerName": "WYSTΞRΛW", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 90, + "EventName": "ChampionKill", + "EventTime": 707.7551879882813, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Barry Lete" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 91, + "EventName": "ChampionKill", + "EventTime": 709.5720825195313, + "KillerName": "OfCourseLucky", + "VictimName": "Reicken" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 92, + "EventName": "ChampionKill", + "EventTime": 714.8484497070313, + "KillerName": "Rock the Kahba", + "VictimName": "AncientBoso" + }, + { + "Acer": "Rock the Kahba", + "AcingTeam": "CHAOS", + "EventID": 93, + "EventName": "Ace", + "EventTime": 714.8484497070313 + }, + { + "Assisters": [ + "Jhin Bot" + ], + "EventID": 94, + "EventName": "ChampionKill", + "EventTime": 775.2179565429688, + "KillerName": "hacka", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 95, + "EventName": "ChampionKill", + "EventTime": 776.201416015625, + "KillerName": "OfCourseLucky", + "VictimName": "zaap" + }, + { + "Assisters": [ + "Caashual", + "Pyke Bot" + ], + "EventID": 96, + "EventName": "ChampionKill", + "EventTime": 778.0474853515625, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "BearJew43" + }, + { + "Assisters": [], + "EventID": 97, + "EventName": "ChampionKill", + "EventTime": 778.6884155273438, + "KillerName": "Barry Lete", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "BearJew43", + "Pyke Bot" + ], + "EventID": 98, + "EventName": "ChampionKill", + "EventTime": 779.1884155273438, + "KillerName": "Erijo", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Pyke Bot" + ], + "EventID": 99, + "EventName": "ChampionKill", + "EventTime": 779.6668701171875, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Erijo" + }, + { + "EventID": 100, + "EventName": "Multikill", + "EventTime": 779.6668701171875, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [ + "hacka", + "Jhin Bot" + ], + "EventID": 101, + "EventName": "ChampionKill", + "EventTime": 781.8851318359375, + "KillerName": "Oowi Glad", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Rock the Kahba" + ], + "EventID": 102, + "EventName": "ChampionKill", + "EventTime": 784.9352416992188, + "KillerName": "OfCourseLucky", + "VictimName": "Barry Lete" + }, + { + "EventID": 103, + "EventName": "Multikill", + "EventTime": 784.9352416992188, + "KillStreak": 2, + "KillerName": "OfCourseLucky" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 104, + "EventName": "ChampionKill", + "EventTime": 850.1945190429688, + "KillerName": "Rock the Kahba", + "VictimName": "Erijo" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 105, + "EventName": "ChampionKill", + "EventTime": 852.3099365234375, + "KillerName": "Synarys", + "VictimName": "hacka" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 106, + "EventName": "ChampionKill", + "EventTime": 853.0804443359375, + "KillerName": "Synarys", + "VictimName": "Oowi Glad" + }, + { + "EventID": 107, + "EventName": "Multikill", + "EventTime": 853.0804443359375, + "KillStreak": 2, + "KillerName": "Synarys" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 108, + "EventName": "ChampionKill", + "EventTime": 862.50537109375, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "Assisters": [ + "OfCourseLucky" + ], + "EventID": 109, + "EventName": "ChampionKill", + "EventTime": 862.8317260742188, + "KillerName": "Rock the Kahba", + "VictimName": "BearJew43" + }, + { + "Assisters": [ + "WYSTΞRΛW", + "Lux Bot" + ], + "EventID": 110, + "EventName": "ChampionKill", + "EventTime": 864.8869018554688, + "KillerName": "Rolliger Rudolf", + "VictimName": "Caashual" + }, + { + "Assisters": [ + "Caashual", + "Lux Bot" + ], + "EventID": 111, + "EventName": "ChampionKill", + "EventTime": 876.7061767578125, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Rolliger Rudolf" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 112, + "EventName": "ChampionKill", + "EventTime": 883.5968627929688, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "WYSTΞRΛW" + }, + { + "EventID": 113, + "EventName": "Multikill", + "EventTime": 883.5968627929688, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "Assisters": [], + "EventID": 114, + "EventName": "ChampionKill", + "EventTime": 952.2185668945313, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Babboz premier" + }, + { + "Assisters": [], + "EventID": 115, + "EventName": "ChampionKill", + "EventTime": 954.9070434570313, + "KillerName": "Caashual", + "VictimName": "Synarys" + }, + { + "Assisters": [], + "EventID": 116, + "EventName": "ChampionKill", + "EventTime": 1025.791748046875, + "KillerName": "Caashual", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "DDDDDDDDDDDDDD" + ], + "EventID": 117, + "EventName": "ChampionKill", + "EventTime": 1046.152099609375, + "KillerName": "Caashual", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [], + "EventID": 118, + "EventName": "ChampionKill", + "EventTime": 1049.0050048828126, + "KillerName": "Caashual", + "VictimName": "OfCourseLucky" + }, + { + "EventID": 119, + "EventName": "Multikill", + "EventTime": 1049.0050048828126, + "KillStreak": 2, + "KillerName": "Caashual" + }, + { + "Assisters": [ + "Babboz premier" + ], + "EventID": 120, + "EventName": "ChampionKill", + "EventTime": 1100.1153564453126, + "KillerName": "Synarys", + "VictimName": "OfCourseLucky" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 121, + "EventName": "ChampionKill", + "EventTime": 1118.4222412109376, + "KillerName": "Babboz premier", + "VictimName": "Rock the Kahba" + }, + { + "Assisters": [ + "Synarys" + ], + "EventID": 122, + "EventName": "ChampionKill", + "EventTime": 1124.4998779296876, + "KillerName": "Babboz premier", + "VictimName": "OfCourseLucky" + }, + { + "EventID": 123, + "EventName": "Multikill", + "EventTime": 1124.4998779296876, + "KillStreak": 2, + "KillerName": "Babboz premier" + }, + { + "Assisters": [ + "Rock the Kahba", + "Thresh Bot" + ], + "EventID": 124, + "EventName": "ChampionKill", + "EventTime": 1124.6473388671876, + "KillerName": "OfCourseLucky", + "VictimName": "Synarys" + }, + { + "Assisters": [ + "Sett Bot" + ], + "EventID": 125, + "EventName": "ChampionKill", + "EventTime": 1188.1094970703126, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Babboz premier" + }, + { + "Assisters": [ + "Caashual" + ], + "EventID": 126, + "EventName": "ChampionKill", + "EventTime": 1190.5460205078126, + "KillerName": "DDDDDDDDDDDDDD", + "VictimName": "Synarys" + }, + { + "EventID": 127, + "EventName": "Multikill", + "EventTime": 1190.5460205078126, + "KillStreak": 2, + "KillerName": "DDDDDDDDDDDDDD" + }, + { + "EventID": 128, + "EventName": "GameEnd", + "EventTime": 1196.595947265625, + "Result": "Lose" + } + ] + }, + "gameData": { + "gameMode": "CHERRY", + "gameTime": 1202.785888671875, + "mapName": "Map30", + "mapNumber": 30, + "mapTerrain": "Default" + } +} \ No newline at end of file diff --git a/tests/GetLiveclientdataAllgamedata_Arena6.json b/tests/GetLiveclientdataAllgamedata_Arena6.json new file mode 100644 index 0000000..f17b6f1 --- /dev/null +++ b/tests/GetLiveclientdataAllgamedata_Arena6.json @@ -0,0 +1,2549 @@ +{ + "activePlayer": { + "abilities": { + "E": { + "abilityLevel": 4, + "displayName": "Relentless Pursuit", + "id": "LucianE", + "rawDescription": "GeneratedTip_Spell_LucianE_Description", + "rawDisplayName": "GeneratedTip_Spell_LucianE_DisplayName" + }, + "Passive": { + "displayName": "Lightslinger", + "id": "LucianPassive", + "rawDescription": "GeneratedTip_Passive_LucianPassive_Description", + "rawDisplayName": "GeneratedTip_Passive_LucianPassive_DisplayName" + }, + "Q": { + "abilityLevel": 5, + "displayName": "Piercing Light", + "id": "LucianQ", + "rawDescription": "GeneratedTip_Spell_LucianQ_Description", + "rawDisplayName": "GeneratedTip_Spell_LucianQ_DisplayName" + }, + "R": { + "abilityLevel": 2, + "displayName": "The Culling", + "id": "LucianR", + "rawDescription": "GeneratedTip_Spell_LucianR_Description", + "rawDisplayName": "GeneratedTip_Spell_LucianR_DisplayName" + }, + "W": { + "abilityLevel": 1, + "displayName": "Ardent Blaze", + "id": "LucianW", + "rawDescription": "GeneratedTip_Spell_LucianW_Description", + "rawDisplayName": "GeneratedTip_Spell_LucianW_DisplayName" + } + }, + "championStats": { + "abilityHaste": 60.0, + "abilityPower": 0.0, + "armor": 85.58428955078125, + "armorPenetrationFlat": 0.0, + "armorPenetrationPercent": 0.6000000238418579, + "attackDamage": 253.55050659179688, + "attackRange": 500.0, + "attackSpeed": 1.3556766510009766, + "bonusArmorPenetrationPercent": 1.0, + "bonusMagicPenetrationPercent": 1.0, + "critChance": 0.8999999761581421, + "critDamage": 230.0, + "currentHealth": 1452.9091796875, + "healShieldPower": 0.0, + "healthRegenRate": 2.0298500061035158, + "lifeSteal": 0.05000000074505806, + "magicLethality": 0.0, + "magicPenetrationFlat": 0.0, + "magicPenetrationPercent": 1.0, + "magicResist": 59.03379440307617, + "maxHealth": 2422.558837890625, + "moveSpeed": 462.97564697265627, + "omnivamp": 0.0, + "physicalLethality": 0.0, + "physicalVamp": 0.0, + "resourceMax": 993.3350219726563, + "resourceRegenRate": 13.946403503417969, + "resourceType": "MANA", + "resourceValue": 993.3350219726563, + "spellVamp": 0.0, + "tenacity": 5.0 + }, + "currentGold": 750.0, + "fullRunes": {}, + "level": 12, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "summonerName": "hacka#EUW", + "teamRelativeColors": true + }, + "allPlayers": [ + { + "championName": "Lucian", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lord Dominik's Regards", + "itemID": 223036, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223036_Description", + "rawDisplayName": "Item_223036_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Lucian", + "rawSkinName": "game_character_skin_displayname_Lucian_8", + "respawnTimer": 9886.66015625, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 3, + "kills": 5, + "wardScore": 0.0 + }, + "skinID": 8, + "skinName": "High Noon Lucian", + "summonerName": "hacka#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "LeBlanc", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Runecarver", + "itemID": 447108, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447108_Description", + "rawDisplayName": "Item_447108_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Leblanc", + "respawnTimer": 9955.1923828125, + "riotId": "Wendaranahi#18710", + "riotIdGameName": "Wendaranahi", + "riotIdTagLine": "18710", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 5, + "kills": 6, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "Wendaranahi#18710", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Malphite", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Detonation Orb", + "itemID": 447113, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447113_Description", + "rawDisplayName": "Item_447113_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Shadowflame", + "itemID": 224645, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224645_Description", + "rawDisplayName": "Item_224645_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Void Staff", + "itemID": 223135, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223135_Description", + "rawDisplayName": "Item_223135_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Malphite", + "rawSkinName": "game_character_skin_displayname_Malphite_3", + "respawnTimer": 9889.39453125, + "riotId": "BindBeard#1111", + "riotIdGameName": "BindBeard", + "riotIdTagLine": "1111", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 2, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 3, + "skinName": "Marble Malphite", + "summonerName": "BindBeard#1111", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Poppy", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Blade", + "itemID": 223177, + "price": 500, + "rawDescription": "GeneratedTip_Item_223177_Description", + "rawDisplayName": "game_item_displayname_223177", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Plated Steelcaps", + "itemID": 223047, + "price": 500, + "rawDescription": "GeneratedTip_Item_223047_Description", + "rawDisplayName": "Item_223047_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Darksteel Talons", + "itemID": 443054, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443054_Description", + "rawDisplayName": "Item_443054_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Thornmail", + "itemID": 223075, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223075_Description", + "rawDisplayName": "Item_223075_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Force of Nature", + "itemID": 224401, + "price": 2500, + "rawDescription": "GeneratedTip_Item_224401_Description", + "rawDisplayName": "Item_224401_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Poppy", + "rawSkinName": "game_character_skin_displayname_Poppy_7", + "respawnTimer": 9971.9482421875, + "riotId": "Theoyeeee#EUW", + "riotIdGameName": "Theoyeeee", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 5, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 7, + "skinName": "Star Guardian Poppy", + "summonerName": "Theoyeeee#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Twisted Fate", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_TwistedFate", + "rawSkinName": "game_character_skin_displayname_TwistedFate_4", + "respawnTimer": 9988.98828125, + "riotId": "PaiiN P#EUW", + "riotIdGameName": "PaiiN P", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 7, + "kills": 0, + "wardScore": 0.0 + }, + "skinID": 4, + "skinName": "Tango Twisted Fate", + "summonerName": "PaiiN P#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Bard", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Everfrost", + "itemID": 446656, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446656_Description", + "rawDisplayName": "Item_446656_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rapid Firecannon", + "itemID": 223094, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223094_Description", + "rawDisplayName": "Item_223094_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Nashor's Tooth", + "itemID": 223115, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223115_Description", + "rawDisplayName": "Item_223115_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Bard", + "rawSkinName": "game_character_skin_displayname_Bard_5", + "respawnTimer": 9977.9267578125, + "riotId": "GusepeCarabinero#YOO", + "riotIdGameName": "GusepeCarabinero", + "riotIdTagLine": "YOO", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 4, + "kills": 4, + "wardScore": 0.0 + }, + "skinID": 5, + "skinName": "Snow Day Bard", + "summonerName": "GusepeCarabinero#YOO", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryAugFlashyFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryAugFlashyFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Master Yi", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guinsoo's Rageblade", + "itemID": 223124, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223124_Description", + "rawDisplayName": "Item_223124_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mirage Blade", + "itemID": 447100, + "price": 1000, + "rawDescription": "GeneratedTip_Item_447100_Description", + "rawDisplayName": "Item_447100_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Blade of The Ruined King", + "itemID": 223153, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223153_Description", + "rawDisplayName": "Item_223153_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_MasterYi", + "respawnTimer": 9963.1953125, + "riotId": "livevil#music", + "riotIdGameName": "livevil", + "riotIdTagLine": "music", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 4, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "livevil#music", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Now You See Me", + "rawDescription": "GeneratedTip_SummonerSpell_Augment_NowYouSeeMe_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_Augment_NowYouSeeMe_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Nidalee", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Lich Bane", + "itemID": 223100, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223100_Description", + "rawDisplayName": "Item_223100_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Night Harvester", + "itemID": 444636, + "price": 1000, + "rawDescription": "GeneratedTip_Item_444636_Description", + "rawDisplayName": "Item_444636_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Rabadon's Deathcap", + "itemID": 223089, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223089_Description", + "rawDisplayName": "Item_223089_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Nidalee", + "rawSkinName": "game_character_skin_displayname_Nidalee_9", + "respawnTimer": 9850.5302734375, + "riotId": "Rüben4win#EUW", + "riotIdGameName": "Rüben4win", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 3, + "creepScore": 0, + "deaths": 3, + "kills": 5, + "wardScore": 0.0 + }, + "skinID": 9, + "skinName": "Super Galaxy Nidalee", + "summonerName": "Rüben4win#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Dr. Mundo", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Gargoyle Stoneplate", + "itemID": 443193, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443193_Description", + "rawDisplayName": "Item_443193_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Heartsteel", + "itemID": 223084, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223084_Description", + "rawDisplayName": "Item_223084_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Spirit Visage", + "itemID": 223065, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223065_Description", + "rawDisplayName": "Item_223065_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_DrMundo", + "rawSkinName": "game_character_skin_displayname_DrMundo_4", + "respawnTimer": 9856.046875, + "riotId": "LukasTshoeBBHood#8533", + "riotIdGameName": "LukasTshoeBBHood", + "riotIdTagLine": "8533", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 2, + "kills": 3, + "wardScore": 0.0 + }, + "skinID": 4, + "skinName": "Mundo Mundo", + "summonerName": "LukasTshoeBBHood#8533", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Qiyana", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Gargoyle Stoneplate", + "itemID": 443193, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443193_Description", + "rawDisplayName": "Item_443193_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Chempunk Chainsword", + "itemID": 226609, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226609_Description", + "rawDisplayName": "Item_226609_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Hubris", + "itemID": 226697, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226697_Description", + "rawDisplayName": "Item_226697_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Qiyana", + "respawnTimer": 9962.5908203125, + "riotId": "Chain Combo#EUW", + "riotIdGameName": "Chain Combo", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 6, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "Chain Combo#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Volibear", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Duskblade of Draktharr", + "itemID": 446691, + "price": 1000, + "rawDescription": "GeneratedTip_Item_446691_Description", + "rawDisplayName": "Item_446691_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Bloodletter's Curse", + "itemID": 4010, + "price": 2500, + "rawDescription": "GeneratedTip_Item_4010_Description", + "rawDisplayName": "Item_4010_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Iceborn Gauntlet", + "itemID": 226662, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226662_Description", + "rawDisplayName": "Item_226662_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Volibear", + "rawSkinName": "game_character_skin_displayname_Volibear_7", + "respawnTimer": 9856.9580078125, + "riotId": "Thanátosi#Luo", + "riotIdGameName": "Thanátosi", + "riotIdTagLine": "Luo", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 5, + "kills": 2, + "wardScore": 0.0 + }, + "skinID": 7, + "skinName": "Duality Dragon Volibear", + "summonerName": "Thanátosi#Luo", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Urgot", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Ravenous Hydra", + "itemID": 223074, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223074_Description", + "rawDisplayName": "Item_223074_Name", + "slot": 0 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Wordless Promise", + "itemID": 4016, + "price": 2500, + "rawDescription": "GeneratedTip_Item_4016_Description", + "rawDisplayName": "Item_4016_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Moonstone Renewer", + "itemID": 226617, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226617_Description", + "rawDisplayName": "Item_226617_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Eleisa's Miracle", + "itemID": 443063, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443063_Description", + "rawDisplayName": "Item_443063_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Urgot", + "respawnTimer": 9988.533203125, + "riotId": "zzzzzffff#EUW", + "riotIdGameName": "zzzzzffff", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 5, + "creepScore": 0, + "deaths": 3, + "kills": 6, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "zzzzzffff#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Lee Sin", + "isBot": false, + "isDead": true, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sword of the Divine", + "itemID": 443060, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443060_Description", + "rawDisplayName": "Item_443060_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 3 + }, + { + "canUse": true, + "consumable": true, + "count": 1, + "displayName": "Lucky Dice", + "itemID": 2145, + "price": 0, + "rawDescription": "GeneratedTip_Item_2145_Description", + "rawDisplayName": "Item_2145_Name", + "slot": 4 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "The Collector", + "itemID": 226676, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226676_Description", + "rawDisplayName": "Item_226676_Name", + "slot": 5 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_LeeSin", + "respawnTimer": 9968.9296875, + "riotId": "Thibackmor#7108", + "riotIdGameName": "Thibackmor", + "riotIdTagLine": "7108", + "runes": null, + "scores": { + "assists": 4, + "creepScore": 0, + "deaths": 5, + "kills": 1, + "wardScore": 0.0 + }, + "skinID": 0, + "summonerName": "Thibackmor#7108", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Kai'Sa", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Fulmination", + "itemID": 443055, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443055_Description", + "rawDisplayName": "Item_443055_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "The Collector", + "itemID": 226676, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226676_Description", + "rawDisplayName": "Item_226676_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Infinity Edge", + "itemID": 223031, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223031_Description", + "rawDisplayName": "Item_223031_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Kaisa", + "rawSkinName": "game_character_skin_displayname_Kaisa_1", + "respawnTimer": 9422.7548828125, + "riotId": "CakedupDrake#1979", + "riotIdGameName": "CakedupDrake", + "riotIdTagLine": "1979", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 13, + "wardScore": 0.0 + }, + "skinID": 1, + "skinName": "Bullet Angel Kai'Sa", + "summonerName": "CakedupDrake#1979", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Karma", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Amulet", + "itemID": 2049, + "price": 500, + "rawDescription": "GeneratedTip_Item_2049_Description", + "rawDisplayName": "Item_2049_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Locket of the Iron Solari", + "itemID": 223190, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223190_Description", + "rawDisplayName": "Item_223190_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Cloak of Starry Night", + "itemID": 443059, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443059_Description", + "rawDisplayName": "Item_443059_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Moonstone Renewer", + "itemID": 226617, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226617_Description", + "rawDisplayName": "Item_226617_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Karma", + "rawSkinName": "game_character_skin_displayname_Karma_27", + "respawnTimer": 9427.7275390625, + "riotId": "Definitely Sabri#EUW", + "riotIdGameName": "Definitely Sabri", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 13, + "creepScore": 0, + "deaths": 2, + "kills": 0, + "wardScore": 0.0 + }, + "skinID": 27, + "skinName": "Ruined Karma", + "summonerName": "Definitely Sabri#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Nunu & Willump", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Eleisa's Miracle", + "itemID": 443063, + "price": 1000, + "rawDescription": "GeneratedTip_Item_443063_Description", + "rawDisplayName": "Item_443063_Name", + "slot": 2 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Moonstone Renewer", + "itemID": 226617, + "price": 2500, + "rawDescription": "GeneratedTip_Item_226617_Description", + "rawDisplayName": "Item_226617_Name", + "slot": 3 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Spirit Visage", + "itemID": 223065, + "price": 2500, + "rawDescription": "GeneratedTip_Item_223065_Description", + "rawDisplayName": "Item_223065_Name", + "slot": 4 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 12, + "position": "NONE", + "rawChampionName": "game_character_displayname_Nunu", + "rawSkinName": "game_character_skin_displayname_Nunu_4", + "respawnTimer": 9770.9462890625, + "riotId": "JuaniRios#EUW", + "riotIdGameName": "JuaniRios", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 6, + "creepScore": 0, + "deaths": 2, + "kills": 5, + "wardScore": 0.0 + }, + "skinID": 4, + "skinName": "Nunu & Willump Bot", + "summonerName": "JuaniRios#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + } + }, + "team": "CHAOS" + }, + { + "championName": "Thresh", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 8, + "position": "", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Lux", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 8, + "position": "", + "rawChampionName": "game_character_displayname_Lux", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Jhin", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 8, + "position": "", + "rawChampionName": "game_character_displayname_Jhin", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Sett", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 8, + "position": "", + "rawChampionName": "game_character_displayname_Sett", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Pyke", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 8, + "position": "", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + } + ], + "events": { + "Events": [ + { + "EventID": 0, + "EventName": "GameStart", + "EventTime": 0.026411600410938264 + }, + { + "Assisters": [ + "JuaniRios" + ], + "EventID": 1, + "EventName": "ChampionKill", + "EventTime": 61.11565017700195, + "KillerName": "zzzzzffff", + "VictimName": "Definitely Sabri" + }, + { + "Assisters": [ + "Rüben4win" + ], + "EventID": 2, + "EventName": "ChampionKill", + "EventTime": 69.43828582763672, + "KillerName": "LukasTshoeBBHood", + "VictimName": "Chain Combo" + }, + { + "EventID": 3, + "EventName": "FirstBlood", + "EventTime": 69.43828582763672, + "Recipient": "LukasTshoeBBHood" + }, + { + "Assisters": [ + "BindBeard" + ], + "EventID": 4, + "EventName": "ChampionKill", + "EventTime": 77.6132583618164, + "KillerName": "hacka", + "VictimName": "Thanátosi" + }, + { + "Assisters": [ + "LukasTshoeBBHood" + ], + "EventID": 5, + "EventName": "ChampionKill", + "EventTime": 81.1380844116211, + "KillerName": "Rüben4win", + "VictimName": "Theoyeeee" + }, + { + "Assisters": [ + "zzzzzffff" + ], + "EventID": 6, + "EventName": "ChampionKill", + "EventTime": 89.07881927490235, + "KillerName": "JuaniRios", + "VictimName": "CakedupDrake" + }, + { + "Assisters": [ + "Thibackmor" + ], + "EventID": 7, + "EventName": "ChampionKill", + "EventTime": 90.00926208496094, + "KillerName": "GusepeCarabinero", + "VictimName": "livevil" + }, + { + "Assisters": [ + "BindBeard" + ], + "EventID": 8, + "EventName": "ChampionKill", + "EventTime": 91.28515625, + "KillerName": "hacka", + "VictimName": "PaiiN P" + }, + { + "Assisters": [ + "JuaniRios" + ], + "EventID": 9, + "EventName": "ChampionKill", + "EventTime": 94.05148315429688, + "KillerName": "zzzzzffff", + "VictimName": "Definitely Sabri" + }, + { + "Assisters": [], + "EventID": 10, + "EventName": "ChampionKill", + "EventTime": 113.95693969726563, + "KillerName": "Wendaranahi", + "VictimName": "Thibackmor" + }, + { + "Assisters": [ + "Thibackmor" + ], + "EventID": 11, + "EventName": "ChampionKill", + "EventTime": 114.13031768798828, + "KillerName": "GusepeCarabinero", + "VictimName": "Wendaranahi" + }, + { + "Assisters": [], + "EventID": 12, + "EventName": "HeraldKill", + "EventTime": 116.6503677368164, + "Stolen": "False" + }, + { + "EventID": 13, + "EventName": "MinionsSpawning", + "EventTime": 120.01714324951172 + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 14, + "EventName": "ChampionKill", + "EventTime": 190.6488800048828, + "KillerName": "CakedupDrake", + "VictimName": "Chain Combo" + }, + { + "Assisters": [ + "Rüben4win" + ], + "EventID": 15, + "EventName": "ChampionKill", + "EventTime": 207.25778198242188, + "KillerName": "LukasTshoeBBHood", + "VictimName": "Thanátosi" + }, + { + "Assisters": [ + "BindBeard" + ], + "EventID": 16, + "EventName": "ChampionKill", + "EventTime": 210.1011199951172, + "KillerName": "hacka", + "VictimName": "Thibackmor" + }, + { + "Assisters": [ + "JuaniRios" + ], + "EventID": 17, + "EventName": "ChampionKill", + "EventTime": 210.6994171142578, + "KillerName": "zzzzzffff", + "VictimName": "livevil" + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 18, + "EventName": "ChampionKill", + "EventTime": 210.93101501464845, + "KillerName": "BindBeard", + "VictimName": "GusepeCarabinero" + }, + { + "Assisters": [ + "livevil" + ], + "EventID": 19, + "EventName": "ChampionKill", + "EventTime": 212.27687072753907, + "KillerName": "Wendaranahi", + "VictimName": "JuaniRios" + }, + { + "Assisters": [ + "LukasTshoeBBHood" + ], + "EventID": 20, + "EventName": "ChampionKill", + "EventTime": 220.33396911621095, + "KillerName": "Rüben4win", + "VictimName": "PaiiN P" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 21, + "EventName": "ChampionKill", + "EventTime": 223.33590698242188, + "KillerName": "CakedupDrake", + "VictimName": "Chain Combo" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 22, + "EventName": "ChampionKill", + "EventTime": 228.87234497070313, + "KillerName": "CakedupDrake", + "VictimName": "Theoyeeee" + }, + { + "EventID": 23, + "EventName": "Multikill", + "EventTime": 228.87234497070313, + "KillStreak": 2, + "KillerName": "CakedupDrake" + }, + { + "Assisters": [ + "zzzzzffff" + ], + "EventID": 24, + "EventName": "ChampionKill", + "EventTime": 232.44964599609376, + "KillerName": "JuaniRios", + "VictimName": "Wendaranahi" + }, + { + "Assisters": [], + "EventID": 25, + "EventName": "HeraldKill", + "EventTime": 234.94992065429688, + "Stolen": "False" + }, + { + "Assisters": [ + "Chain Combo" + ], + "EventID": 26, + "EventName": "ChampionKill", + "EventTime": 301.9644775390625, + "KillerName": "Theoyeeee", + "VictimName": "livevil" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 27, + "EventName": "ChampionKill", + "EventTime": 305.68414306640627, + "KillerName": "CakedupDrake", + "VictimName": "PaiiN P" + }, + { + "Assisters": [ + "Theoyeeee" + ], + "EventID": 28, + "EventName": "ChampionKill", + "EventTime": 314.2071533203125, + "KillerName": "Chain Combo", + "VictimName": "Wendaranahi" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 29, + "EventName": "ChampionKill", + "EventTime": 315.7301330566406, + "KillerName": "CakedupDrake", + "VictimName": "Thanátosi" + }, + { + "Assisters": [ + "LukasTshoeBBHood" + ], + "EventID": 30, + "EventName": "ChampionKill", + "EventTime": 322.19415283203127, + "KillerName": "Rüben4win", + "VictimName": "hacka" + }, + { + "Assisters": [ + "LukasTshoeBBHood" + ], + "EventID": 31, + "EventName": "ChampionKill", + "EventTime": 338.9259338378906, + "KillerName": "Rüben4win", + "VictimName": "BindBeard" + }, + { + "Assisters": [ + "zzzzzffff" + ], + "EventID": 32, + "EventName": "ChampionKill", + "EventTime": 339.7393493652344, + "KillerName": "JuaniRios", + "VictimName": "Thibackmor" + }, + { + "Assisters": [ + "JuaniRios" + ], + "EventID": 33, + "EventName": "ChampionKill", + "EventTime": 349.4552917480469, + "KillerName": "zzzzzffff", + "VictimName": "GusepeCarabinero" + }, + { + "Assisters": [], + "EventID": 34, + "EventName": "HeraldKill", + "EventTime": 351.98309326171877, + "Stolen": "False" + }, + { + "Assisters": [ + "BindBeard" + ], + "EventID": 35, + "EventName": "ChampionKill", + "EventTime": 415.9664001464844, + "KillerName": "hacka", + "VictimName": "zzzzzffff" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 36, + "EventName": "ChampionKill", + "EventTime": 418.3440246582031, + "KillerName": "CakedupDrake", + "VictimName": "Rüben4win" + }, + { + "Assisters": [ + "Wendaranahi" + ], + "EventID": 37, + "EventName": "ChampionKill", + "EventTime": 423.4669494628906, + "KillerName": "livevil", + "VictimName": "PaiiN P" + }, + { + "Assisters": [ + "Theoyeeee" + ], + "EventID": 38, + "EventName": "ChampionKill", + "EventTime": 425.74395751953127, + "KillerName": "Chain Combo", + "VictimName": "Thibackmor" + }, + { + "Assisters": [ + "PaiiN P" + ], + "EventID": 39, + "EventName": "ChampionKill", + "EventTime": 432.42291259765627, + "KillerName": "Thanátosi", + "VictimName": "Wendaranahi" + }, + { + "Assisters": [ + "Thibackmor" + ], + "EventID": 40, + "EventName": "ChampionKill", + "EventTime": 436.7639465332031, + "KillerName": "GusepeCarabinero", + "VictimName": "Chain Combo" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 41, + "EventName": "ChampionKill", + "EventTime": 437.0674743652344, + "KillerName": "CakedupDrake", + "VictimName": "LukasTshoeBBHood" + }, + { + "Assisters": [ + "BindBeard" + ], + "EventID": 42, + "EventName": "ChampionKill", + "EventTime": 437.2705078125, + "KillerName": "hacka", + "VictimName": "JuaniRios" + }, + { + "Assisters": [ + "Chain Combo" + ], + "EventID": 43, + "EventName": "ChampionKill", + "EventTime": 439.1695251464844, + "KillerName": "Theoyeeee", + "VictimName": "GusepeCarabinero" + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 44, + "EventName": "ChampionKill", + "EventTime": 439.2801208496094, + "KillerName": "BindBeard", + "VictimName": "zzzzzffff" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 45, + "EventName": "ChampionKill", + "EventTime": 443.3572998046875, + "KillerName": "CakedupDrake", + "VictimName": "Rüben4win" + }, + { + "EventID": 46, + "EventName": "Multikill", + "EventTime": 443.3572998046875, + "KillStreak": 2, + "KillerName": "CakedupDrake" + }, + { + "Assisters": [], + "EventID": 47, + "EventName": "ChampionKill", + "EventTime": 453.2373352050781, + "KillerName": "Wendaranahi", + "VictimName": "PaiiN P" + }, + { + "Assisters": [ + "livevil" + ], + "EventID": 48, + "EventName": "ChampionKill", + "EventTime": 455.449951171875, + "KillerName": "Wendaranahi", + "VictimName": "Thanátosi" + }, + { + "EventID": 49, + "EventName": "Multikill", + "EventTime": 455.449951171875, + "KillStreak": 2, + "KillerName": "Wendaranahi" + }, + { + "Assisters": [], + "EventID": 50, + "EventName": "HeraldKill", + "EventTime": 457.9616394042969, + "Stolen": "False" + }, + { + "Assisters": [ + "JuaniRios", + "Sett Bot" + ], + "EventID": 51, + "EventName": "ChampionKill", + "EventTime": 510.3082275390625, + "KillerName": "zzzzzffff", + "VictimName": "Theoyeeee" + }, + { + "Assisters": [ + "livevil" + ], + "EventID": 52, + "EventName": "ChampionKill", + "EventTime": 516.854736328125, + "KillerName": "Wendaranahi", + "VictimName": "Rüben4win" + }, + { + "Assisters": [ + "livevil", + "Lux Bot" + ], + "EventID": 53, + "EventName": "ChampionKill", + "EventTime": 522.3710327148438, + "KillerName": "Wendaranahi", + "VictimName": "LukasTshoeBBHood" + }, + { + "EventID": 54, + "EventName": "Multikill", + "EventTime": 522.3710327148438, + "KillStreak": 2, + "KillerName": "Wendaranahi" + }, + { + "Assisters": [ + "GusepeCarabinero" + ], + "EventID": 55, + "EventName": "ChampionKill", + "EventTime": 523.2820434570313, + "KillerName": "Thibackmor", + "VictimName": "Thanátosi" + }, + { + "Assisters": [ + "Definitely Sabri", + "Thresh Bot" + ], + "EventID": 56, + "EventName": "ChampionKill", + "EventTime": 534.0509643554688, + "KillerName": "CakedupDrake", + "VictimName": "hacka" + }, + { + "Assisters": [ + "zzzzzffff", + "Sett Bot" + ], + "EventID": 57, + "EventName": "ChampionKill", + "EventTime": 538.9344482421875, + "KillerName": "JuaniRios", + "VictimName": "Theoyeeee" + }, + { + "Assisters": [ + "Thibackmor" + ], + "EventID": 58, + "EventName": "ChampionKill", + "EventTime": 545.1062622070313, + "KillerName": "GusepeCarabinero", + "VictimName": "PaiiN P" + }, + { + "Assisters": [ + "Definitely Sabri", + "Thresh Bot" + ], + "EventID": 59, + "EventName": "ChampionKill", + "EventTime": 552.9839477539063, + "KillerName": "CakedupDrake", + "VictimName": "hacka" + }, + { + "Assisters": [ + "Definitely Sabri", + "Thresh Bot" + ], + "EventID": 60, + "EventName": "ChampionKill", + "EventTime": 555.7188110351563, + "KillerName": "CakedupDrake", + "VictimName": "BindBeard" + }, + { + "EventID": 61, + "EventName": "Multikill", + "EventTime": 555.7188110351563, + "KillStreak": 2, + "KillerName": "CakedupDrake" + }, + { + "Assisters": [ + "JuaniRios" + ], + "EventID": 62, + "EventName": "ChampionKill", + "EventTime": 555.8273315429688, + "KillerName": "zzzzzffff", + "VictimName": "Chain Combo" + }, + { + "Assisters": [], + "EventID": 63, + "EventName": "HeraldKill", + "EventTime": 558.3360595703125, + "Stolen": "False" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 64, + "EventName": "ChampionKill", + "EventTime": 621.5161743164063, + "KillerName": "CakedupDrake", + "VictimName": "Wendaranahi" + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 65, + "EventName": "ChampionKill", + "EventTime": 628.9146728515625, + "KillerName": "BindBeard", + "VictimName": "Chain Combo" + }, + { + "Assisters": [ + "Definitely Sabri" + ], + "EventID": 66, + "EventName": "ChampionKill", + "EventTime": 629.5189208984375, + "KillerName": "CakedupDrake", + "VictimName": "livevil" + }, + { + "EventID": 67, + "EventName": "Multikill", + "EventTime": 629.5189208984375, + "KillStreak": 2, + "KillerName": "CakedupDrake" + }, + { + "Assisters": [ + "LukasTshoeBBHood" + ], + "EventID": 68, + "EventName": "ChampionKill", + "EventTime": 635.2536010742188, + "KillerName": "Rüben4win", + "VictimName": "Thibackmor" + }, + { + "Assisters": [ + "hacka" + ], + "EventID": 69, + "EventName": "ChampionKill", + "EventTime": 638.2721557617188, + "KillerName": "BindBeard", + "VictimName": "Theoyeeee" + }, + { + "EventID": 70, + "EventName": "Multikill", + "EventTime": 638.2721557617188, + "KillStreak": 2, + "KillerName": "BindBeard" + }, + { + "Assisters": [ + "Rüben4win" + ], + "EventID": 71, + "EventName": "ChampionKill", + "EventTime": 644.2504272460938, + "KillerName": "LukasTshoeBBHood", + "VictimName": "GusepeCarabinero" + }, + { + "Assisters": [ + "PaiiN P", + "Pyke Bot" + ], + "EventID": 72, + "EventName": "ChampionKill", + "EventTime": 654.8572387695313, + "KillerName": "Thanátosi", + "VictimName": "zzzzzffff" + }, + { + "Assisters": [ + "zzzzzffff", + "Pyke Bot" + ], + "EventID": 73, + "EventName": "ChampionKill", + "EventTime": 655.312255859375, + "KillerName": "JuaniRios", + "VictimName": "PaiiN P" + } + ] + }, + "gameData": { + "gameMode": "CHERRY", + "gameTime": 665.3240356445313, + "mapName": "Map30", + "mapNumber": 30, + "mapTerrain": "Default" + } +} diff --git a/tests/GetLiveclientdataAllgamedata_Arena7.json b/tests/GetLiveclientdataAllgamedata_Arena7.json new file mode 100644 index 0000000..ed588ee --- /dev/null +++ b/tests/GetLiveclientdataAllgamedata_Arena7.json @@ -0,0 +1,1474 @@ +{ + "activePlayer": { + "error": "Spectator mode doesn't currently support this feature" + }, + "allPlayers": [ + { + "championName": "Poppy", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Blade", + "itemID": 223177, + "price": 500, + "rawDescription": "GeneratedTip_Item_223177_Description", + "rawDisplayName": "game_item_displayname_223177", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Poppy", + "respawnTimer": 9927.0439453125, + "riotId": "Space#1337", + "riotIdGameName": "Space", + "riotIdTagLine": "1337", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "-196.7289734,781.7951050", + "screenPositionCenter": "-126.6880798,639.7633057", + "skinID": 0, + "summonerName": "Space#1337", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Bel'Veth", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 7, + "position": "NONE", + "rawChampionName": "game_character_displayname_Belveth", + "respawnTimer": 9911.8134765625, + "riotId": "robm#1337", + "riotIdGameName": "robm", + "riotIdTagLine": "1337", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "241.0424805,767.2014160", + "screenPositionCenter": "288.2798767,631.7130127", + "skinID": 0, + "summonerName": "robm#1337", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Udyr", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Udyr", + "rawSkinName": "game_character_skin_displayname_Udyr_3", + "respawnTimer": 9939.6875, + "riotId": "Pimonchacal#EUW", + "riotIdGameName": "Pimonchacal", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 1, + "wardScore": 0.0 + }, + "screenPositionBottom": "2659.6279297,757.5418091", + "screenPositionCenter": "2617.5415039,666.9306030", + "skinID": 3, + "skinName": "Spirit Guard Udyr", + "summonerName": "Pimonchacal#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Blitzcrank", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Blitzcrank", + "rawSkinName": "game_character_skin_displayname_Blitzcrank_49", + "respawnTimer": 9929.013671875, + "riotId": "LF Illusion#EUW", + "riotIdGameName": "LF Illusion", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 2, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 49, + "skinName": "Zenith Games Blitzcrank", + "summonerName": "LF Illusion#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Cleanse", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerBoost_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerBoost_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Exhaust", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerExhaust_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerExhaust_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Teemo", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Teemo", + "rawSkinName": "game_character_skin_displayname_Teemo_27", + "respawnTimer": 9932.5732421875, + "riotId": "LF Rum und Ehre#EUW", + "riotIdGameName": "LF Rum und Ehre", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 27, + "skinName": "Prestige Spirit Blossom Teemo", + "summonerName": "LF Rum und Ehre#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Xayah", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Xayah", + "rawSkinName": "game_character_skin_displayname_Xayah_3", + "respawnTimer": 0.0, + "riotId": "LF Backpack#EUW", + "riotIdGameName": "LF Backpack", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 0, + "kills": 1, + "wardScore": 0.0 + }, + "screenPositionBottom": "13.5040283,1539.4542236", + "screenPositionCenter": "42.9184723,1452.3083496", + "skinID": 3, + "skinName": "SSG Xayah", + "summonerName": "LF Backpack#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Udyr", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Shroud", + "itemID": 2050, + "price": 500, + "rawDescription": "GeneratedTip_Item_2050_Description", + "rawDisplayName": "Item_2050_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Udyr", + "respawnTimer": 9925.5107421875, + "riotId": "Fuji No Sai#EUW", + "riotIdGameName": "Fuji No Sai", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Fuji No Sai#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Kai'Sa", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Hammer", + "itemID": 223184, + "price": 500, + "rawDescription": "GeneratedTip_Item_223184_Description", + "rawDisplayName": "game_item_displayname_223184", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Berserker's Greaves", + "itemID": 223006, + "price": 500, + "rawDescription": "GeneratedTip_Item_223006_Description", + "rawDisplayName": "Item_3006_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Kaisa", + "respawnTimer": 0.0, + "riotId": "Nike#9007", + "riotIdGameName": "Nike", + "riotIdTagLine": "9007", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 0, + "kills": 1, + "wardScore": 0.0 + }, + "screenPositionBottom": "2181.0014648,813.2258301", + "screenPositionCenter": "2159.2126465,740.0481567", + "skinID": 0, + "summonerName": "Nike#9007", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Naafiri", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Dirk", + "itemID": 223185, + "price": 500, + "rawDescription": "GeneratedTip_Item_223185_Description", + "rawDisplayName": "game_item_displayname_223185", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Boots of Swiftness", + "itemID": 223009, + "price": 500, + "rawDescription": "GeneratedTip_Item_223009_Description", + "rawDisplayName": "Item_223009_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Naafiri", + "respawnTimer": 0.0, + "riotId": "rtois#32928", + "riotIdGameName": "rtois", + "riotIdTagLine": "32928", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 0, + "kills": 1, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "rtois#32928", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Akali", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Akali", + "rawSkinName": "game_character_skin_displayname_Akali_2", + "respawnTimer": 0.0, + "riotId": "Hurrakana#Hurra", + "riotIdGameName": "Hurrakana", + "riotIdTagLine": "Hurra", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 0, + "kills": 2, + "wardScore": 0.0 + }, + "screenPositionBottom": "2033.8739014,278.4694824", + "screenPositionCenter": "2020.8618164,235.4695892", + "skinID": 2, + "skinName": "Infernal Akali", + "summonerName": "Hurrakana#Hurra", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Orbital Laser", + "rawDescription": "GeneratedTip_Spell_Augment_OrbitalLaser_Description", + "rawDisplayName": "GeneratedTip_Spell_Augment_OrbitalLaser_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Rengar", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Blade", + "itemID": 223177, + "price": 500, + "rawDescription": "GeneratedTip_Item_223177_Description", + "rawDisplayName": "game_item_displayname_223177", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Rengar", + "rawSkinName": "game_character_skin_displayname_Rengar_23", + "respawnTimer": 9937.5498046875, + "riotId": "Tatsumi#JAP", + "riotIdGameName": "Tatsumi", + "riotIdTagLine": "JAP", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 1, + "wardScore": 0.0 + }, + "screenPositionBottom": "334.2461548,407.5440063", + "screenPositionCenter": "363.6753845,326.0071411", + "skinID": 23, + "skinName": "Guardian of the Sands Rengar", + "summonerName": "Tatsumi#JAP", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Lee Sin", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Blade", + "itemID": 223177, + "price": 500, + "rawDescription": "GeneratedTip_Item_223177_Description", + "rawDisplayName": "game_item_displayname_223177", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_LeeSin", + "rawSkinName": "game_character_skin_displayname_LeeSin_1", + "respawnTimer": 0.0, + "riotId": "DocWanwan#NBBK", + "riotIdGameName": "DocWanwan", + "riotIdTagLine": "NBBK", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 0, + "kills": 1, + "wardScore": 0.0 + }, + "screenPositionBottom": "2132.2358398,256.4972534", + "screenPositionCenter": "2116.5415039,211.0235901", + "skinID": 1, + "skinName": "Traditional Lee Sin", + "summonerName": "DocWanwan#NBBK", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Feast", + "rawDescription": "GeneratedTip_Spell_Augment_UltimateRoulette_ChogathR_Description", + "rawDisplayName": "GeneratedTip_Spell_Augment_UltimateRoulette_ChogathR_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Leona", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Mercury's Treads", + "itemID": 223111, + "price": 500, + "rawDescription": "GeneratedTip_Item_223111_Description", + "rawDisplayName": "Item_223111_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Leona", + "rawSkinName": "game_character_skin_displayname_Leona_9", + "respawnTimer": 9955.189453125, + "riotId": "Ritchel#EUW", + "riotIdGameName": "Ritchel", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 1, + "creepScore": 0, + "deaths": 1, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "382.7031860,418.2731018", + "screenPositionCenter": "410.8859863,335.6357117", + "skinID": 9, + "skinName": "Barbecue Leona", + "summonerName": "Ritchel#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Veigar", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Sorcerer's Shoes", + "itemID": 223020, + "price": 500, + "rawDescription": "GeneratedTip_Item_223020_Description", + "rawDisplayName": "Item_223020_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Veigar", + "rawSkinName": "game_character_skin_displayname_Veigar_30", + "respawnTimer": 9915.564453125, + "riotId": "WarTank2014#PogU", + "riotIdGameName": "WarTank2014", + "riotIdTagLine": "PogU", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 1, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 30, + "skinName": "Furyhorn Cosplay Veigar", + "summonerName": "WarTank2014#PogU", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flash (on cooldown)", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_CD_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Rammus", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Horn", + "itemID": 222051, + "price": 500, + "rawDescription": "GeneratedTip_Item_222051_Description", + "rawDisplayName": "game_item_displayname_2051", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Plated Steelcaps", + "itemID": 223047, + "price": 500, + "rawDescription": "GeneratedTip_Item_223047_Description", + "rawDisplayName": "Item_223047_Name", + "slot": 1 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Rammus", + "respawnTimer": 0.0, + "riotId": "KingsCrusher2014#EUW", + "riotIdGameName": "KingsCrusher2014", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 2, + "creepScore": 0, + "deaths": 0, + "kills": 0, + "wardScore": 0.0 + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "KingsCrusher2014#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Orianna", + "isBot": false, + "isDead": false, + "items": [ + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Needlessly Large Rod", + "itemID": 221058, + "price": 1250, + "rawDescription": "GeneratedTip_Item_221058_Description", + "rawDisplayName": "Item_221058_Name", + "slot": 0 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Guardian's Orb", + "itemID": 223112, + "price": 500, + "rawDescription": "GeneratedTip_Item_223112_Description", + "rawDisplayName": "game_item_displayname_223112", + "slot": 1 + }, + { + "canUse": false, + "consumable": false, + "count": 1, + "displayName": "Ionian Boots of Lucidity", + "itemID": 223158, + "price": 500, + "rawDescription": "GeneratedTip_Item_223158_Description", + "rawDisplayName": "Item_223158_Name", + "slot": 2 + }, + { + "canUse": true, + "consumable": false, + "count": 1, + "displayName": "Arcane Sweeper", + "itemID": 3348, + "price": 0, + "rawDescription": "GeneratedTip_Item_3348_Description", + "rawDisplayName": "game_item_displayname_3348", + "slot": 6 + } + ], + "level": 5, + "position": "NONE", + "rawChampionName": "game_character_displayname_Orianna", + "rawSkinName": "game_character_skin_displayname_Orianna_5", + "respawnTimer": 0.0, + "riotId": "hacka#EUW", + "riotIdGameName": "hacka", + "riotIdTagLine": "EUW", + "runes": null, + "scores": { + "assists": 0, + "creepScore": 0, + "deaths": 0, + "kills": 2, + "wardScore": 0.0 + }, + "screenPositionBottom": "2442.1538086,1445.9113770", + "screenPositionCenter": "2413.9472656,1357.1105957", + "skinID": 5, + "skinName": "Winter Wonder Orianna", + "summonerName": "hacka#EUW", + "summonerSpells": { + "summonerSpellOne": { + "displayName": "Flee", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryHold_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryHold_DisplayName" + }, + "summonerSpellTwo": { + "displayName": "Flash", + "rawDescription": "GeneratedTip_SummonerSpell_SummonerCherryFlash_Description", + "rawDisplayName": "GeneratedTip_SummonerSpell_SummonerCherryFlash_DisplayName" + } + }, + "team": "ORDER" + }, + { + "championName": "Thresh", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 4, + "position": "", + "rawChampionName": "game_character_displayname_Thresh", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Lux", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 4, + "position": "", + "rawChampionName": "game_character_displayname_Lux", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Jhin", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 4, + "position": "", + "rawChampionName": "game_character_displayname_Jhin", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Sett", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 4, + "position": "", + "rawChampionName": "game_character_displayname_Sett", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + }, + { + "championName": "Pyke", + "isBot": true, + "isDead": false, + "items": { + "error": "Unable to find player" + }, + "level": 4, + "position": "", + "rawChampionName": "game_character_displayname_Pyke", + "respawnTimer": 0.0, + "riotId": "", + "riotIdGameName": "", + "riotIdTagLine": "", + "runes": { + "error": "Unable to find player" + }, + "scores": { + "error": "Unable to find player" + }, + "screenPositionBottom": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "screenPositionCenter": "340282346638528859811704183484516925440.0000000,340282346638528859811704183484516925440.0000000", + "skinID": 0, + "summonerName": "Unknown", + "summonerSpells": { + "error": "Unable to find player" + }, + "team": "CHAOS" + } + ], + "events": { + "Events": [ + { + "EventID": 0, + "EventName": "GameStart", + "EventTime": 0.0 + }, + { + "Assisters": [ + "Hurrakana" + ], + "EventID": 1, + "EventName": "ChampionKill", + "EventTime": 70.75730895996094, + "KillerName": "DocWanwan", + "VictimName": "LF Illusion" + }, + { + "EventID": 2, + "EventName": "FirstBlood", + "EventTime": 70.75730895996094, + "Recipient": "DocWanwan" + }, + { + "Assisters": [ + "KingsCrusher2014" + ], + "EventID": 3, + "EventName": "ChampionKill", + "EventTime": 75.40898895263672, + "KillerName": "hacka", + "VictimName": "robm" + }, + { + "Assisters": [ + "LF Backpack" + ], + "EventID": 4, + "EventName": "ChampionKill", + "EventTime": 79.16002655029297, + "KillerName": "rtois", + "VictimName": "WarTank2014" + }, + { + "Assisters": [ + "rtois" + ], + "EventID": 5, + "EventName": "ChampionKill", + "EventTime": 89.10623168945313, + "KillerName": "LF Backpack", + "VictimName": "Fuji No Sai" + }, + { + "Assisters": [ + "KingsCrusher2014" + ], + "EventID": 6, + "EventName": "ChampionKill", + "EventTime": 90.63935089111328, + "KillerName": "hacka", + "VictimName": "Space" + }, + { + "Assisters": [ + "DocWanwan" + ], + "EventID": 7, + "EventName": "ChampionKill", + "EventTime": 92.60907745361328, + "KillerName": "Hurrakana", + "VictimName": "LF Illusion" + }, + { + "Assisters": [ + "DocWanwan" + ], + "EventID": 8, + "EventName": "ChampionKill", + "EventTime": 96.16944122314453, + "KillerName": "Hurrakana", + "VictimName": "LF Rum und Ehre" + }, + { + "EventID": 9, + "EventName": "Multikill", + "EventTime": 96.16944122314453, + "KillStreak": 2, + "KillerName": "Hurrakana" + }, + { + "Assisters": [ + "Nike" + ], + "EventID": 10, + "EventName": "ChampionKill", + "EventTime": 101.14519500732422, + "KillerName": "Pimonchacal", + "VictimName": "Tatsumi" + }, + { + "Assisters": [ + "Ritchel" + ], + "EventID": 11, + "EventName": "ChampionKill", + "EventTime": 103.28287506103516, + "KillerName": "Tatsumi", + "VictimName": "Pimonchacal" + }, + { + "Assisters": [], + "EventID": 12, + "EventName": "ChampionKill", + "EventTime": 118.78556060791016, + "KillerName": "Nike", + "VictimName": "Ritchel" + }, + { + "EventID": 13, + "EventName": "MinionsSpawning", + "EventTime": 120.01830291748047 + }, + { + "Assisters": [], + "EventID": 14, + "EventName": "HeraldKill", + "EventTime": 121.29196166992188, + "Stolen": "False" + } + ] + }, + "gameData": { + "gameMode": "CHERRY", + "gameTime": 162.59576416015626, + "mapName": "Map30", + "mapNumber": 30, + "mapTerrain": "Default" + } +} \ No newline at end of file diff --git a/tests/deserialization_tests.rs b/tests/deserialization_tests.rs index 138559e..5c4368b 100644 --- a/tests/deserialization_tests.rs +++ b/tests/deserialization_tests.rs @@ -1,122 +1,143 @@ -use serde::{Deserialize, Serialize}; - -use shaco::{ - ingame::IngameClient, - model::ingame::{AllGameData, GameEvent, GameMode}, -}; - -/// check if all api calls deserialize without errors \ -/// DOES NOT CHECK IF THE EVENTS GET DESERIALIZED CORRECTLY -#[tokio::test] -async fn ingame_livegame_api_deserialization() { - let client = IngameClient::new().unwrap(); - - assert!(client.active_game().await); - assert!(client.active_game_loadingscreen().await); - assert!(!client.is_spectator_mode().await.unwrap()); - client.all_game_data(None).await.unwrap(); - client.event_data(None).await.unwrap(); - client.game_stats().await.unwrap(); - - let players = client.player_list(None).await.unwrap(); - let player_name = players.first().unwrap().summoner_name.to_string(); - - client.player_items(&player_name).await.unwrap(); - client.player_main_runes(&player_name).await.unwrap(); - client.player_scores(&player_name).await.unwrap(); - client.player_summoner_spells(&player_name).await.unwrap(); - - client.active_player().await.unwrap(); - client.active_player_abilities().await.unwrap(); - client.active_player_name().await.unwrap(); - client.active_player_runes().await.unwrap(); -} - -/// check if all api calls deserialize without errors \ -/// DOES NOT CHECK IF THE EVENTS GET DESERIALIZED CORRECTLY -#[tokio::test] -async fn ingame_spectate_api_deserialization() { - let client = IngameClient::new().unwrap(); - - assert!(client.active_game().await); - assert!(client.active_game_loadingscreen().await); - assert!(client.is_spectator_mode().await.unwrap()); - client.all_game_data(None).await.unwrap(); - client.event_data(None).await.unwrap(); - client.game_stats().await.unwrap(); - - let players = client.player_list(None).await.unwrap(); - let player_name = players.first().unwrap().summoner_name.to_string(); - - client.player_items(&player_name).await.unwrap(); - client.player_main_runes(&player_name).await.unwrap(); - client.player_scores(&player_name).await.unwrap(); - client.player_summoner_spells(&player_name).await.unwrap(); -} - -#[test] -fn deserialize_data_test() { - #[derive(Debug, Clone, Serialize, Deserialize)] - #[serde(rename_all = "PascalCase")] - struct IngameEvents { - events: Vec, - } - - let test_data1 = include_str!("GetLiveclientdataEventdata1.json"); - let test_data2 = include_str!("GetLiveclientdataEventdata2.json"); - let test_data3 = include_str!("aram_allgamedata1.json"); - let test_data4 = include_str!("aram_allgamedata2.json"); - let test_data5 = include_str!("arena_GetLiveclientdataAllgamedata.json"); - - assert!(serde_json::from_str::(test_data1).is_ok()); - assert!(serde_json::from_str::(test_data2).is_ok()); - assert!(serde_json::from_str::(test_data3).is_ok()); - assert!(serde_json::from_str::(test_data4).is_ok()); - assert!(serde_json::from_str::(test_data5).is_ok()); - - assert_eq!( - serde_json::from_str::(test_data1) - .unwrap() - .events - .len(), - 127 - ); - assert_eq!( - serde_json::from_str::(test_data2) - .unwrap() - .events - .len(), - 150 - ); -} - -#[test] -fn deserialize_game_mode() { - let vec = vec![ - "CLASSIC", - "ODIN", - "ARAM", - "TUTORIAL", - "URF", - "DOOMBOTSTEEMO", - "ONEFORALL", - "ASCENSION", - "FIRSTBLOOD", - "KINGPORO", - "SIEGE", - "ASSASSINATE", - "ARSR", - "DARKSTAR", - "STARGUARDIAN", - "PROJECT", - "GAMEMODEX", - "ODYSSEY", - "NEXUSBLITZ", - "ULTBOOK", - "CHERRY", - ]; - - vec.iter().for_each(|game_mode| { - serde_json::from_str::(&format!("\"{game_mode}\"")).unwrap(); - }) -} +use serde::{Deserialize, Serialize}; + +use shaco::{ + ingame::IngameClient, + model::ingame::{AllGameData, GameEvent, GameMode}, +}; + +/// check if all api calls deserialize without errors \ +/// DOES NOT CHECK IF THE EVENTS GET DESERIALIZED CORRECTLY +#[tokio::test] +async fn ingame_livegame_api_deserialization() { + let client = IngameClient::new(); + + assert!(client.active_game().await); + assert!(client.active_game_loadingscreen().await); + assert!(!client.is_spectator_mode().await.unwrap()); + client.all_game_data(None).await.unwrap(); + client.event_data(None).await.unwrap(); + client.game_stats().await.unwrap(); + + let players = client.player_list(None).await.unwrap(); + let player_name = players.first().unwrap().summoner_name.to_string(); + + client.player_items(&player_name).await.unwrap(); + client.player_main_runes(&player_name).await.unwrap(); + client.player_scores(&player_name).await.unwrap(); + client.player_summoner_spells(&player_name).await.unwrap(); + + client.active_player().await.unwrap(); + client.active_player_abilities().await.unwrap(); + client.active_player_name().await.unwrap(); + client.active_player_runes().await.unwrap(); +} + +/// check if all api calls deserialize without errors \ +/// DOES NOT CHECK IF THE EVENTS GET DESERIALIZED CORRECTLY +#[tokio::test] +async fn ingame_spectate_api_deserialization() { + let client = IngameClient::new(); + + assert!(client.active_game().await); + assert!(client.active_game_loadingscreen().await); + assert!(client.is_spectator_mode().await.unwrap()); + client.all_game_data(None).await.unwrap(); + client.event_data(None).await.unwrap(); + client.game_stats().await.unwrap(); + + let players = client.player_list(None).await.unwrap(); + let riot_id = &players.first().unwrap().riot_id.riot_id; + + client.player_items(riot_id).await.unwrap(); + client.player_main_runes(riot_id).await.unwrap(); + client.player_scores(riot_id).await.unwrap(); + client.player_summoner_spells(riot_id).await.unwrap(); +} + +#[test] +fn deserialize_data_test() { + #[derive(Debug, Clone, Serialize, Deserialize)] + #[serde(rename_all = "PascalCase")] + struct IngameEvents { + events: Vec, + } + + let test_data1 = include_str!("GetLiveclientdataEventdata1.json"); + let test_data2 = include_str!("GetLiveclientdataEventdata2.json"); + let test_data3 = include_str!("aram_allgamedata1.json"); + let test_data4 = include_str!("aram_allgamedata2.json"); + let test_data5 = include_str!("arena_GetLiveclientdataAllgamedata.json"); + let test_data6 = include_str!("GetLiveclientdataAllgamedata_Arena.json"); + let test_data7 = include_str!("GetLiveclientdataAllgamedata_Arena2.json"); + let test_data8 = include_str!("GetLiveclientdataAllgamedata_Arena3.json"); + let test_data9 = include_str!("GetLiveclientdataAllgamedata_Arena4.json"); + let test_data10 = include_str!("GetLiveclientdataAllgamedata_Arena5.json"); + let test_data11 = include_str!("GetLiveclientdataAllgamedata_Arena6.json"); + let test_data12 = include_str!("GetLiveclientdataAllgamedata_Arena7.json"); + + assert!(serde_json::from_str::(test_data1).is_ok()); + assert!(serde_json::from_str::(test_data2).is_ok()); + assert!(serde_json::from_str::(test_data3).is_ok()); + assert!(serde_json::from_str::(test_data4).is_ok()); + assert!(serde_json::from_str::(test_data5).is_ok()); + assert!(serde_json::from_str::(test_data6).is_ok()); + assert!(serde_json::from_str::(test_data7).is_ok()); + assert!(serde_json::from_str::(test_data8).is_ok()); + assert!(serde_json::from_str::(test_data9).is_ok()); + assert!(serde_json::from_str::(test_data10).is_ok()); + assert!(serde_json::from_str::(test_data11).is_ok()); + assert!(serde_json::from_str::(test_data12).is_ok()); + assert!( + serde_json::from_str::(test_data10) + .unwrap() + .all_players + .len() + == 16 + ); + + assert_eq!( + serde_json::from_str::(test_data1) + .unwrap() + .events + .len(), + 127 + ); + assert_eq!( + serde_json::from_str::(test_data2) + .unwrap() + .events + .len(), + 150 + ); +} + +#[test] +fn deserialize_game_mode() { + let vec = vec![ + "CLASSIC", + "ODIN", + "ARAM", + "TUTORIAL", + "URF", + "DOOMBOTSTEEMO", + "ONEFORALL", + "ASCENSION", + "FIRSTBLOOD", + "KINGPORO", + "SIEGE", + "ASSASSINATE", + "ARSR", + "DARKSTAR", + "STARGUARDIAN", + "PROJECT", + "GAMEMODEX", + "ODYSSEY", + "NEXUSBLITZ", + "ULTBOOK", + "CHERRY", + ]; + + vec.iter().for_each(|game_mode| { + serde_json::from_str::(&format!("\"{game_mode}\"")).unwrap(); + }) +}