Load packages

library(tidyverse)
library(scales)
## Warning: package 'scales' was built under R version 4.4.2
library(stringr)
library(jsonlite) #for json
library(formattable)

Overview / Introduction

Teamfight Tactics is a autochess strategy game created by Riot. It uses characters (“champions”) pulled from their more famous MOBA, League of Legends, and from their now-mainstream animated TV series Arcane. Major updates are released every year, changing the set of champions, traits, and in-game dynamics on a regular basis. The premise of the game is a 1v1v1v1v1v1v1v1 or 2v2v2v2 matchup where players create a team of champions to fight in maximum 40 sec rounds. Each player has a set amount of health, and each round lost decreases player health depending on the severity of loss.

Since this is a data acquisition class, the main focus will be to scrape data to compile top comps. Best/strongest team compositions are crowd sourced and posted on https://mobalytics.gg/tft/team-comps. Data will be scraped using Python, Selenium, and Beautiful Soup. Selenium will be required as the site page loads while scrolling down. For concrete data analysis goals, I would like to determine which champion is considered the most popular by count of appearance in meta comps, categorized by cost. Champion data can be sourced from the following json file https://raw.communitydragon.org/pbe/cdragon/tft/en_us.json.

Given the popularity of Arcane, I hypothesize that champions appearing in Arcane will be the most popular, as the set has just recently been released while coinciding with Arcane’s season 2 premier.

Champion Data

The following JSON file was sourced from https://raw.communitydragon.org/pbe/cdragon/tft/en_us.json, a website endorsed by the Riot Developers discord server for open-source League of Legends data. This data extends to Teamfight Tactics. Data on champions, traits, items and more can be found in the json file linked above. For the sake of limiting scope on this project, I focused on the champion data in this dataset. This data was also uploaded to Github, as the data on the website changes when TFT undergoes any changes. After extracting champion data, a list of “Arcane” champions was created manually, which indicated if a champion had appeared in the Arcane TV series.

tft <- fromJSON("https://raw.githubusercontent.com/koonkimb/Data607/refs/heads/main/Final%20Project/tft.json",flatten = TRUE)
champions_df <- as.data.frame(tft$setData$champions[22])
arcane_champions = c('Ambessa','Caitlyn','Ekko','Heimerdinger','Jayce','Jinx','Loris','Maddie','Mel','Powder','Renni','Scar','Sevika','Silco','Singed','Smeech','Steb','Vander','Vi','Viktor','Violet','Warwick')

Color scheme was designated for data visualization going forward.

arcane_champion_colors <- c(
  "Arcane Champion" = "#3eb6f2",
  "Non-Arcane Champion" = "#e766f4"
)

Champion_Cost <- c(
  "1" = "#afafae", 
  "2" = "#2bb02b", 
  "3" = "#0729cf", 
  "4" = "#b30fbf", 
  "5" = "#ac981a", 
  "6" = "#c09bfa"
) 

Data was cleaned and transformed. As a first step, champions without traits (i.e. null traits) were removed from the dataset, as they are not considered real champions in the game. These “champions” are only characterized as champions as they take up a game board space, and for the sake of this exercise, are not relevant. Cost was mutated from int to character, as this made color designations easier in the visualization. A new column was added to the champion dataframe using the list of Arcane champions. This new column designates whether the champion did or did not appear in Arcane.

champions_df <- champions_df %>% filter(map(traits,1) != "NULL") %>% mutate(cost = as.character(cost))
champions_df <- champions_df %>% mutate(arcane_champion = case_when(name %in% arcane_champions ~ "Arcane Champion", .default = "Non-Arcane Champion"))
formattable(champions_df)
apiName characterName cost icon name squareIcon tileIcon traits ability.desc ability.icon ability.name ability.variables stats.armor stats.attackSpeed stats.critChance stats.critMultiplier stats.damage stats.hp stats.initialMana stats.magicResist stats.mana stats.range arcane_champion
TFT13_Singed TFT13_Singed 1 ASSETS/Characters/TFT13_Singed/Skins/Base/Images/TFT13_Singed.TFT_Set13.tex Singed ASSETS/Characters/TFT13_Singed/Skins/Base/Images/TFT13_Singed_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Singed/HUD/TFT13_Singed_Square.TFT_Set13.tex Chem-Baron, Sentinel Gain @ModifiedDurability@ (%i:scaleAP%) Durability and grant the ally who has dealt the most damage this round @AttackSpeed@% Attack Speed, decaying over @Duration@ seconds. ASSETS/Characters/TFT13_Singed/HUD/Icons2D/Singed_R.TFT_Set13.tex Dangerous Mutations AttackSpeed , Duration , DR , HEROSpellBaseDamage, HEROOmnivamp , HERODuration , HEROCloudDuration , HEROMoveSpeed , 1 , 100 , 120 , 160 , 200 , 1 , 1 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 0.5 , 0.5 , 0.5 , 0.600000023841858 , 0.699999988079071 , 0.5 , 0.5 , 0 , 140 , 210 , 315 , 420 , 0 , 0 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 250 , 250 , 250 , 250 , 250 , 250 , 250 40 0.60 0.25 1.4 55 650 0 40 50 1 Arcane Champion
TFT13_RenataGlasc TFT13_RenataGlasc 2 ASSETS/Characters/TFT13_RenataGlasc/Skins/Base/Images/TFT13_RenataGlasc.TFT_Set13.tex Renata Glasc ASSETS/Characters/TFT13_RenataGlasc/Skins/Base/Images/TFT13_RenataGlasc_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_RenataGlasc/HUD/TFT13_RenataGlasc_Square.TFT_Set13.tex Chem-Baron, Visionary Fire a pair of missiles at target. Allies they pass through gain @ModifiedShield@ (%i:scaleAP%) Shield for @ShieldDuration@ seconds. When they collide, they deal @ModifiedTargetDamage@ (%i:scaleAP%) magic damage to target and @ModifiedExplosionDamage@ (%i:scaleAP%) magic damage to adjacent enemies. ASSETS/Characters/TFT13_RenataGlasc/HUD/Icons2D/Renata_E.TFT_Set13.tex Loyalty Program Shield , ShieldDuration , TargetDamage , ExplosionDamage , AdditionalSearchDistance, 100 , 95 , 120 , 150 , 180 , 100 , 100 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0 , 310 , 465 , 700 , 935 , 0 , 0 , 0 , 155 , 230 , 350 , 465 , 0 , 0 , 150 , 150 , 150 , 150 , 150 , 150 , 150 20 0.70 0.25 1.4 35 600 20 20 80 4 Non-Arcane Champion
TFT13_Silco TFT13_Silco 4 ASSETS/Characters/TFT13_Silco/Skins/Base/Images/TFT13_Silco.TFT_Set13.tex Silco ASSETS/Characters/TFT13_Silco/Skins/Base/Images/TFT13_Silco_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Silco/HUD/TFT13_Silco_Square.TFT_Set13.tex Chem-Baron, Dominator Throw a canister at target, dealing @ModifiedDamage@ (%i:scaleAP%) magic damage to them and releasing @MinionsSpawned@ monstrosities. Monstrosities attack @MinionNumAttacks@ times and deal @ModifiedMinionDamage@ (%i:scaleAP%) magic damage per attack. ASSETS/Characters/TFT13_Silco/HUD/Icons2D/TFT6_Silco_EyeOfTheStorm.TFT_Set13.tex Canned Monstrosity Damage , MinionsSpawned , MinionsThatAttackCurrentTarget, MinionDamage , MinionDuration , MinionNumAttacks , 0 , 100 , 200 , 1000 , 2000 , 5 , 6 , 4 , 4 , 4 , 8 , 8 , 8 , 8 , 0 , 2 , 2 , 4 , 0 , 0 , 0 , 30 , 38 , 57 , 100 , 120 , 6 , 6 , 12 , 12 , 12 , 12 , 12 , 12 , 12 , 5 , 5 , 5 , 5 , 5 , 5 , 5 30 0.75 0.25 1.4 40 800 30 30 80 4 Arcane Champion
TFT13_Camille TFT13_Camille 2 ASSETS/Characters/TFT13_Camille/Skins/Base/Images/TFT13_Camille.TFT_Set13.tex Camille ASSETS/Characters/TFT13_Camille/Skins/Base/Images/TFT13_Camille_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Camille/HUD/TFT13_Camille_Square.TFT_Set13.tex Enforcer, Ambusher Kick the target, dealing @TotalDamage@ (%i:scaleAD%%i:scaleAP%) Adaptive Damage. Heal for @HealPercent*100@% of the damage dealt.

Adaptive Damage: Uses the damage type the target resists less
ASSETS/Characters/TFT13_Camille/HUD/Icons2D/Camille_Spell.TFT_Set13.tex Adaptive Strike PercentAttackDamage, APDamage , HealPercent , 2.75 , 2.29999995231628 , 2.29999995231628 , 2.59999990463257 , 2.59999990463257 , 2.75 , 2.75 , 0 , 30 , 45 , 70 , 95 , 0 , 0 , 0.330000013113022 , 0.330000013113022 , 0.330000013113022 , 0.330000013113022 , 0.330000013113022 , 0.330000013113022 , 0.330000013113022 45 0.75 0.25 1.4 50 700 0 45 25 1 Non-Arcane Champion
TFT13_Blitzcrank TFT13_Blitzcrank 3 ASSETS/Characters/TFT13_Blitzcrank/Skins/Base/Images/TFT13_Blitzcrank.TFT_Set13.tex Blitzcrank ASSETS/Characters/TFT13_Blitzcrank/Skins/Base/Images/TFT13_Blitzcrank_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Blitzcrank/HUD/TFT13_Blitzcrank_Square.TFT_Set13.tex Automata , Dominator Passive: After surviving damage, deal @PassiveDamagePercent100@% of the damage absorbed as magic damage to target.

Active: Gain @ModifiedShield@ (%i:scaleAP%) Shield for @ShieldDuration@ seconds. Shock the nearest @NumEnemies@ enemies for @ModifiedDamage@ (%i:scaleAP%) magic damage and reduce their damage by @DamageReduction
100@% for @ShieldDuration@ seconds.
ASSETS/Characters/TFT13_Blitzcrank/HUD/Icons2D/BlitzcrankQ.TFT_Set13.tex Static Field Shield , ShieldDuration , BaseDamage , PassiveDamagePercent , PassiveCooldownSeconds, DamageReduction , NumEnemies , 400 , 470 , 500 , 550 , 600 , 400 , 400 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 80 , 40 , 60 , 100 , 200 , 80 , 80 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 3 , 3 , 3 , 3 , 3 , 3 , 3 50 0.60 0.25 1.4 60 850 20 50 70 1 Non-Arcane Champion
TFT13_Vi TFT13_Vi 4 ASSETS/Characters/TFT13_Vi/Skins/Base/Images/TFT13_Vi.TFT_Set13.tex Vi ASSETS/Characters/TFT13_Vi/Skins/Base/Images/TFT13_Vi_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Vi/HUD/TFT13_Vi_Square.TFT_Set13.tex Enforcer , Pit Fighter Gain @ModifiedShield@ (%i:scaleAP%) Shield for @ShieldDuration@ seconds, then Stun target for @StunDuration@ seconds. Slam them down, dealing @ModifiedDamage@ (%i:scaleAD%) physical damage to them and causing a shockwave in their row. Enemies hit take @ModifiedSecondaryDamage@ (%i:scaleAD%) physical damage and are briefly knocked up. ASSETS/Characters/TFT13_Vi/HUD/ViR.TFT_Set13.tex Wrecking Crew Shield , PercentAttackDamage , PercentAttackDamage_SecondaryDamage, ShieldDuration , StunDuration , 2 , 280 , 325 , 1200 , 1200 , 2 , 2 , 0 , 6 , 6 , 12 , 15 , 3.29999995231628 , 3.29999995231628 , 1.5 , 1.79999995231628 , 1.79999995231628 , 5 , 7 , 4 , 4 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 50 0.85 0.25 1.4 75 1100 40 50 100 1 Arcane Champion
TFT13_Caitlyn TFT13_Caitlyn 5 ASSETS/Characters/TFT13_Caitlyn/Skins/Base/Images/TFT13_Caitlyn.TFT_Set13.tex Caitlyn ASSETS/Characters/TFT13_Caitlyn/Skins/Base/Images/TFT13_Caitlyn_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Caitlyn/HUD/TFT13_Caitlyn_Square.TFT_Set13.tex Enforcer, Sniper Enter a sniper’s stance and call in an airship that circles the battlefield for @RaidDuration@ seconds, dropping @TotalShots@ bombs at a random cluster of enemies over the duration. Bombs deal @TotalDamage@ (%i:scaleAD% %i:scaleAP%) physical damage in a one-hex circle.

Whenever an enemy is caught in the epicenter of an Air Raid blast, reduce their Armor and Magic Resist by @ResistReduction@ and fire a shot towards them, dealing @HeadshotDamage@ (%i:scaleAD%) physical damage.
ASSETS/Characters/TFT13_Caitlyn/HUD/Icons2D/Caitlyn_Headshot.TFT_Set13.tex Air Raid RaidDuration , TotalShots , PercentAttackDamage , APDamage , HeadshotPercentAD , BonusSearchRange , PercentShotsFocusedOnFrontline, ResistReduction , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 4 , 4 , 4 , 20 , 4 , 4 , 4 , 2 , 1.79999995231628 , 1.79999995231628 , 7.5 , 2 , 2 , 2 , 80 , 20 , 30 , 100 , 200 , 80 , 80 , 2 , 2.79999995231628 , 2.79999995231628 , 13.5 , 13.5 , 2.40000009536743 , 2.40000009536743 , 630 , 630 , 630 , 630 , 630 , 630 , 630 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 20 , 20 , 20 , 20 , 20 , 20 , 20 40 0.55 0.25 1.4 82 900 0 40 50 13 Arcane Champion
TFT13_Ekko TFT13_Ekko 4 ASSETS/Characters/TFT13_Ekko/Skins/Base/Images/TFT13_Ekko.TFT_Set13.tex Ekko ASSETS/Characters/TFT13_Ekko/Skins/Base/Images/TFT13_Ekko_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Ekko/HUD/TFT13_Ekko_Square.TFT_Set13.tex Firelight, Scrap , Ambusher Summon an assault of afterimages that deals @ModifiedDamage@ (%i:scaleAP%) magic damage to the target and @ModifiedSecondaryDamage@ (%i:scaleAP%) magic damage to @NumBonusEnemies@ other nearby enemies. Afterimages reduce their target’s Magic Resist by @ShredAmount@ for the rest of combat. ASSETS/Characters/TFT13_Ekko/HUD/Icons2D/EkkoSpell.TFT_Set13.tex Splitting Seconds NumAfterimages , NumBonusEnemies, TargetDamage , SecondaryDamage, SpellTime , ShredAmount , 12 , 12 , 12 , 25 , 25 , 12 , 12 , 2 , 2 , 2 , 4 , 4 , 3 , 3 , 0 , 290 , 435 , 1200 , 2000 , 0 , 0 , 0 , 145 , 215 , 450 , 600 , 0 , 0 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 60 0.85 0.25 1.4 50 1100 0 60 60 1 Arcane Champion
TFT13_Amumu TFT13_Amumu 1 ASSETS/Characters/TFT13_Amumu/Skins/Base/Images/TFT13_Amumu.TFT_Set13.tex Amumu ASSETS/Characters/TFT13_Amumu/Skins/Base/Images/TFT13_Amumu_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Amumu/HUD/TFT13_Amumu_Square.TFT_Set13.tex Automata, Watcher Passive: Reduce all incoming damage by @FlatDamageReduction@. Every second, emit sparks that deal @ModifiedDamage@ (%i:scaleAP%) magic damage to adjacent enemies. ASSETS/Characters/TFT13_Amumu/HUD/Icons2D/Amumu_W.TFT_Set13.tex Obsolete Technology FlatDamageReduction , Damage , DamageRefreshDuration , FlatDRCooldownPerAttacker, 7 , 12 , 15 , 25 , 35 , 10 , 10 , 20 , 10 , 15 , 25 , 35 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 35 0.60 0.25 1.4 45 600 0 35 0 1 Non-Arcane Champion
TFT13_Malzahar TFT13_Malzahar 5 ASSETS/Characters/TFT13_Malzahar/Skins/Base/Images/TFT13_Malzahar.TFT_Set13.tex Malzahar ASSETS/Characters/TFT13_Malzahar/Skins/Base/Images/TFT13_Malzahar_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Malzahar/HUD/TFT13_Malzahar_Square.TFT_Set13.tex Automata , Visionary Summon a gate in a 5-hex line across target. Enemies hit take @ModifiedDamage@ (%i:scaleAP%) magic damage and are 20% Shredded for @ShredDuration@ seconds. Malzahar spreads 5 stacks of infection between enemies hit.

Infection deals @ModifiedInfectionDamage@ (%i:scaleAP%) magic damage per second for the rest of combat. This effect can stack infinitely. When an infected target dies, they spread their stacks to nearby enemies.

Shred: Reduce Magic Resist
ASSETS/Characters/TFT13_Malzahar/HUD/Icons2D/TFT13_MalzaharSpellIcon.TFT_Set13.tex Call of the Machine Damage , InfectionDamage , DamageTicksPerSecond, ShredDuration , 0 , 80 , 120 , 1000 , 1500 , 2 , 2 , 0 , 14 , 21 , 400 , 1000 , 2.5 , 2.5 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 4 , 4 , 4 , 4 , 4 , 4 , 4 40 0.80 0.25 1.4 45 950 30 40 95 4 Non-Arcane Champion
TFT13_DrMundo TFT13_DrMundo 4 ASSETS/Characters/TFT13_DrMundo/Skins/Base/Images/TFT13_DrMundo.TFT_Set13.tex Dr. Mundo ASSETS/Characters/TFT13_DrMundo/Skins/Base/Images/TFT13_DrMundo_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_DrMundo/HUD/TFT13_DrMundo_Square.TFT_Set13.tex Experiment, Dominator Become energized and heal @ModifiedHeal@ (%i:scaleHealth%%i:scaleAP%) over @Duration@ seconds. While energized, deal @ModifiedDamage@ (%i:scaleAP%) magic damage to a nearby enemy each second. Afterwards, deal @ModifiedSecondaryDamage@ (%i:scaleHealth%) magic damage to all enemies within 2 hexes.

Experiment Bonus: <ShowIfNot.TFT13_ExperimentActive></ShowIfNot.TFT13_ExperimentActive><ShowIf.TFT13_ExperimentActive></ShowIf.TFT13_ExperimentActive>Gain @TFTUnitProperty.:TFT13_DrMundoBaseHealthExperimentBonus@ max Health. On each takedown, gain @TFTUnitProperty.:TFT13_DrMundoCurrentExperimentBonus@ more max Health.
ASSETS/Characters/TFT13_DrMundo/HUD/Icons2D/DrMundo_E.TFT_Set13.tex Maximum Dosage PercentHealthHeal , APHeal , PercentofHealImmediately, Duration , APDamage , PercentHealthDamage , ExperimentHealthGain , BaseExperimentHealthGain, 0.180000007152557 , 0.180000007152557 , 0.180000007152557 , 0.180000007152557 , 0.180000007152557 , 0.180000007152557 , 0.180000007152557 , 0 , 650 , 750 , 2500 , 3500 , 0 , 0 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 120 , 180 , 1000 , 1200 , 0 , 0 , 0.150000005960464 , 0.0700000002980232 , 0.0700000002980232 , 0.349999994039536 , 0.5 , 0.25 , 0.25 , 60 , 60 , 60 , 60 , 60 , 60 , 60 , 120 , 120 , 120 , 120 , 120 , 120 , 120 60 0.65 0.25 1.4 60 1100 30 60 100 1 Non-Arcane Champion
TFT13_Twitch TFT13_Twitch 4 ASSETS/Characters/TFT13_Twitch/Skins/Base/Images/TFT13_Twitch.TFT_Set13.tex Twitch ASSETS/Characters/TFT13_Twitch/Skins/Base/Images/TFT13_Twitch__Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Twitch/HUD/TFT13_Twitch_Square.TFT_Set13.tex Experiment, Sniper For the next @TotalAttacks@ attacks, gain @AttackSpeed100@% Attack Speed, infinite range, and replace attacks with a piercing bolt that targets random enemies. Bolts deal @TotalDamage@ (%i:scaleAD%) physical damage, reduced by @DamageReduction100@% for each enemy they pass through.

Experiment Bonus: <ShowIfNot.TFT13_ExperimentActive></ShowIfNot.TFT13_ExperimentActive><ShowIf.TFT13_ExperimentActive></ShowIf.TFT13_ExperimentActive>After every @ExperimentDamageTicks@ attacks, deal physical damage to the nearest enemy equal to @TFTUnitProperty.:TFT13_TwitchCurrentExperimentBonus@% of their max Health.
ASSETS/Characters/TFT13_Twitch/HUD/Icons_2D/Twitch_R.TFT_Set13.tex Spray and Pray TotalAttacks , AttackSpeed , APDamage , PercentAttackDamage , DamageReduction , ExperimentDamageTicks , ExperimentMaxHealthDamage, 8 , 8 , 8 , 8 , 8 , 8 , 8 , 0.850000023841858 , 0.850000023841858 , 0.850000023841858 , 0.850000023841858 , 0.850000023841858 , 0.850000023841858 , 0.850000023841858 , 4 , 18 , 25 , 120 , 200 , 4 , 4 , 1.5 , 1.39999997615814 , 1.39999997615814 , 3 , 4 , 1.5 , 1.5 , 0.600000023841858 , 0.400000005960465 , 0.400000005960465 , 0.200000002980232 , 0.100000001490116 , 0.600000023841858 , 0.600000023841858 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 30 0.75 0.25 1.4 70 800 0 30 60 6 Non-Arcane Champion
TFT13_Akali TFT13_Akali 2 ASSETS/Characters/TFT13_Akali/Skins/Base/Images/TFT13_Akali.TFT_Set13.tex Akali ASSETS/Characters/TFT13_Akali/Skins/Base/Images/TFT13_Akali_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Akali/HUD/TFT13_Akali_Square.TFT_Set13.tex Rebel , Quickstriker Throw a shuriken at target, dealing @ModifiedDamage@ (%i:scaleAP%) magic damage and marking them to take @TargetDamageAmp*100@% more damage for @Duration@ seconds. Then dash away from target. After a brief delay, dash towards them and deal @ModifiedSecondaryDamage@ (%i:scaleAP%) magic damage. ASSETS/Characters/TFT13_Akali/HUD/Icons2D/Akali_Spell.TFT_Set13.tex Shuriken Flip Damage , SecondaryDamage , TargetDamageAmp , Duration , FlipBackwardsSpeed , SpeedDuringFinalKick, 0 , 80 , 120 , 185 , 250 , 0 , 0 , 0 , 240 , 360 , 550 , 740 , 0 , 0 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1300 , 1300 , 1300 , 1300 , 1300 , 1300 , 1300 , 1700 , 1700 , 1700 , 1700 , 1700 , 1700 , 1700 45 0.75 0.25 1.4 45 700 0 45 60 1 Non-Arcane Champion
TFT13_Sett TFT13_Sett 2 ASSETS/Characters/TFT13_Sett/Skins/Base/Images/TFT13_Sett.TFT_Set13.tex Sett ASSETS/Characters/TFT13_Sett/Skins/Base/Images/TFT13_Sett_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Sett/HUD/TFT13_Sett_Square.TFT_Set13.tex Rebel , Bruiser Pull in an enemy on either side and slam them together, dealing @ModifiedDamage@ (%i:scaleAP%) magic damage and Stunning them for @StunDuration@ seconds.

If only one enemy is grabbed, the damage and Stun duration are increased by 50%.
ASSETS/Characters/TFT13_Sett/HUD/Icons2D/Sett_Spell.TFT_Set13.tex Facebreaker Damage , StunDuration, SoloBonus , 0 , 180 , 270 , 420 , 570 , 2 , 2 , 1 , 1.5 , 1.5 , 2 , 2.5 , 3.5 , 4 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 50 0.60 0.25 1.4 60 850 50 50 100 1 Non-Arcane Champion
TFT13_Ezreal TFT13_Ezreal 3 ASSETS/Characters/TFT13_Ezreal/Skins/Base/Images/TFT13_Ezreal.TFT_Set13.tex Ezreal ASSETS/Characters/TFT13_Ezreal/Skins/Base/Images/TFT13_Ezreal_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Ezreal/HUD/TFT13_Ezreal_Square.TFT_Set13.tex Academy , Rebel , Artillerist Fire a shot towards current target that deals @TotalDamage@ (%i:scaleAD%) physical damage to all enemies within 1 hex. Then, deal @ModifiedDamage@ (%i:scaleAD%) physical damage to the unit in the center of the blast.


ASSETS/Characters/TFT13_Ezreal/HUD/Icons2D/Ezreal_Spell.TFT_Set13.tex Essence Flux PercentAttackDamage, APDamage , PercentCenterDamage, 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 0 , 20 , 30 , 50 , 70 , 0 , 0 , 2.70000004768372 , 2.70000004768372 , 2.70000004768372 , 2.70000004768372 , 2.70000004768372 , 2.70000004768372 , 2.70000004768372 25 0.75 0.25 1.4 60 700 0 25 60 4 Non-Arcane Champion
TFT13_Illaoi TFT13_Illaoi 4 ASSETS/Characters/TFT13_Illaoi/Skins/Base/Images/TFT13_Illaoi.TFT_Set13.tex Illaoi ASSETS/Characters/TFT13_Illaoi/Skins/Base/Images/TFT13_Illaoi_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Illaoi/HUD/TFT13_Illaoi_Square.TFT_Set13.tex Rebel , Sentinel Gain @DR*100@% Durability for @SpellDuration@ seconds. Over the duration, drain @ModifiedHealthSteal@ (%i:scaleAP%) Health from the nearest @NumEnemies@ enemies. Then slam down, dealing @ModifiedDamage@ (%i:scaleArmor%%i:scaleMR%) magic damage to all enemies within 2 hexes. ASSETS/Characters/TFT13_Illaoi/HUD/Icons2D/Illaoi_E_Debuff.TFT_Set13.tex Test of Spirit SpellDuration , HealthSteal , NumEnemies , PercentBonusHealthSteal, DR , DamageResistRatio , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 200 , 50 , 75 , 225 , 225 , 200 , 200 , 4 , 4 , 4 , 10 , 10 , 4 , 4 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.400000005960465 , 0.5 , 0.5 , 0.899999976158142 , 0.899999976158142 , 0.400000005960465 , 0.400000005960465 , 0 , 0.600000023841858 , 0.899999976158142 , 7 , 10 , 0 , 0 60 0.65 0.25 1.4 70 1100 65 60 125 1 Non-Arcane Champion
TFT13_Draven TFT13_Draven 1 ASSETS/Characters/TFT13_Draven/Skins/Base/Images/TFT13_Draven.TFT_Set13.tex Draven ASSETS/Characters/TFT13_Draven/Skins/Base/Images/TFT13_Draven_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Draven/HUD/TFT13_Draven_Square.TFT_Set13.tex Conqueror , Pit Fighter Passive: If Draven has an empowered axe in hand, his next attack will throw it, dealing a total of @TotalDamage@ (%i:scaleAD%) physical damage. Empowered axes return to Draven after hitting an enemy.

Active: Spin an empowered axe.
ASSETS/Characters/TFT13_Draven/HUD/Icons2D/Draven_SpinningAxe.TFT_Set13.tex Spinning Axes PercentAD , BaseDamage , 1.39999997615814, 1.39999997615814, 1.39999997615814, 1.39999997615814, 1.39999997615814, 1.39999997615814, 1.39999997615814, 20 , 10 , 15 , 25 , 35 , 20 , 20 15 0.70 0.25 1.4 55 500 30 15 60 4 Non-Arcane Champion
TFT13_Rell TFT13_Rell 2 ASSETS/Characters/TFT13_Rell/Skins/Base/Images/TFT13_Rell.TFT_Set13.tex Rell ASSETS/Characters/TFT13_Rell/Skins/Base/Images/TFT13_Rell_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Rell/HUD/TFT13_Rell_Square.TFT_Set13.tex Conqueror, Sentinel , Visionary Gain @ModifiedShield@ (%i:scaleAP%) Shield for @ShieldDuration@ seconds. Lance enemies in a line for @ModifiedDamage@ (%i:scaleAP%) magic damage and steal @DefensesSteal@ Armor and Magic Resist from enemies hit. ASSETS/Characters/TFT13_Rell/HUD/Icons2D/RellSpell.TFT_Set13.tex Shattering Strike StabDamage , DefenseStealDuration, DefensesSteal , ShieldDuration , Shield , 0 , 120 , 180 , 270 , 360 , 0 , 0 , 60 , 60 , 60 , 60 , 60 , 60 , 60 , 10 , 10 , 12 , 15 , 18 , 10 , 10 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 0 , 300 , 350 , 400 , 540 , 0 , 0 45 0.60 0.25 1.4 60 800 40 45 90 1 Non-Arcane Champion
TFT13_Cassiopeia TFT13_Cassiopeia 3 ASSETS/Characters/TFT13_Cassiopeia/Skins/Base/Images/TFT13_Cassiopeia.TFT_Set13.tex Cassiopeia ASSETS/Characters/TFT13_Cassiopeia/Skins/Base/Images/TFT13_Cassiopeia_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Cassiopeia/HUD/TFT13_Cassiopeia_Square.TFT_Set13.tex Black Rose, Dominator Blast target for @ModifiedDamage@ (%i:scaleAP%) magic damage. Every third cast, splash miasma to @BonusNumEnemies@ enemies within @HexRadius@ hexes, dealing @ModifiedMiasmaDamage@ (%i:scaleAP%) magic damage to each. ASSETS/Characters/TFT13_Cassiopeia/HUD/Cassiopeia_W.TFT_Set13.tex Thorned Miasma Damage , MiasmaDamage , BonusNumEnemies, NumCasts , HexRadius , 200 , 230 , 345 , 550 , 755 , 450 , 450 , 40 , 160 , 240 , 385 , 530 , 40 , 40 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 25 0.70 0.25 1.4 40 700 10 25 40 4 Non-Arcane Champion
TFT13_Vladimir TFT13_Vladimir 2 ASSETS/Characters/TFT13_Vladimir/Skins/Base/Images/TFT12_Vladimir.TFT_Set13.tex Vladimir ASSETS/Characters/TFT13_Vladimir/Skins/Base/Images/TFT13_Vladimir_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Vladimir/HUD/TFT13_Vladimir_Square.TFT_Set13.tex Black Rose, Watcher , Sorcerer Heal @ModifiedHeal@ (%i:scaleAP%) and deal @ModifiedDamage@ (%i:scaleAP%) magic damage to the target. ASSETS/Characters/TFT13_Vladimir/HUD/VladimirQ.tex Transfusion Damage , Heal , HEROBonusDamage , HEROOverkillPerc , HEROOverkillNum , HEROOverkillBaseDamage, TOOLTIPONLYMana , HEROAmpPerCast , 0 , 140 , 210 , 325 , 380 , 0 , 0 , 0.100000001490116 , 200 , 240 , 300 , 330 , 0.100000001490116 , 0.100000001490116 , 1.79999995231628 , 1.79999995231628 , 1.79999995231628 , 1.79999995231628 , 1.79999995231628 , 1.79999995231628 , 1.79999995231628 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 90 , 135 , 205 , 275 , 0 , 0 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 45 0.65 0.25 1.4 45 800 0 45 65 1 Non-Arcane Champion
TFT13_Elise TFT13_Elise 4 ASSETS/Characters/TFT13_Elise/Skins/Base/Images/TFT13_Elise.TFT_Set13.tex Elise ASSETS/Characters/TFT13_Elise/Skins/Base/Images/TFT13_Elise_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Elise/HUD/TFT13_Elise_Square.TFT_Set13.tex Black Rose , Form Swapper, Bruiser Jump to a nearby hex and web all enemies within @HexRadius@ hexes, Stunning them for @StunDuration@ seconds and dealing @ModifiedDamage@ (%i:scaleAP%) magic damage. Heal @ModifiedHeal@ (%i:scaleAP%). ASSETS/Characters/TFT13_Elise/HUD/Icons2D/Elise_Melee.TFT_Set13.tex Cocoon StunDuration, SearchRange , Damage , HexRadius , FlatHealth , 1.5 , 1.75 , 2 , 8 , 12 , 2.5 , 2.5 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 120 , 180 , 1200 , 2000 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 400 , 450 , 2000 , 2500 , 0 , 0 0 0.50 0.25 1.4 50 750 0 NA 10 1 Non-Arcane Champion
TFT13_LeBlanc TFT13_LeBlanc 5 ASSETS/Characters/TFT13_LeBlanc/Skins/Base/Images/TFT13_LeBlanc.TFT_Set13.tex LeBlanc ASSETS/Characters/TFT13_LeBlanc/Skins/Base/Images/TFT13_LeBlanc_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_LeBlanc/HUD/TFT13_LeBlanc_Square.TFT_Set13.tex Black Rose, Sorcerer Chain together the nearest @ChainTargets@ enemies for @ChainDuration@ seconds, dealing @ModifiedDamage@ (%i:scaleAP%) magic damage split between them. When one takes damage, @DamageShare100@% of the amount is split as bonus true damage to the others.

LeBlanc’s next @NumAttacks@ attacks deal @ModifiedAutoDamage@ (%i:scaleAP%) bonus magic damage, increased by @AutoKillBonus
100@% for each enemy killed by the initial damage.
ASSETS/Characters/TFT13_LeBlanc/HUD/Icons2D/LeBlancE.TFT_Set13.tex The Chains of Fate ChainTargets , ChainDuration , Damage , AutoDamage , DamageShare , NumAttacks , AutoKillBonus , 4 , 4 , 4 , 20 , 20 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 500 , 650 , 975 , 5000 , 9002 , 200 , 200 , 250 , 160 , 240 , 900 , 900 , 0 , 0 , 0.150000005960464, 0.180000007152557, 0.25 , 1 , 1 , 0.200000002980232, 0.200000002980232, 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 40 0.80 0.25 1.4 50 900 45 40 90 4 Non-Arcane Champion
TFT13_Heimerdinger TFT13_Heimerdinger 4 ASSETS/Characters/TFT13_Heimerdinger/Skins/Base/Images/TFT13_Heimerdinger.TFT_Set13.tex Heimerdinger ASSETS/Characters/TFT13_Heimerdinger/Skins/Base/Images/TFT13_Heimerdinger_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Heimerdinger/HUD/TFT13_Heimerdinger_Square.TFT_Set13.tex Academy , Visionary Fire @StartingRockets@ missiles at random enemies that deal @ModifiedDamage@ (%i:scaleAP%) magic damage. Each cast fires @MissileIncreasePerCast@ more missile than the last. ASSETS/Characters/TFT13_Heimerdinger/HUD/Icons2D/Heimerdinger_Spell.TFT_Set13.tex PROGRESSSSS! Damage , StartingRockets , NumOfCastsToIncreaseMissiles , MissileIncreasePerCast , PercentOfMissileToFocusOnTarget, AdditionalTargetRowDifferential, 50 , 50 , 75 , 225 , 400 , 325 , 325 , 9 , 5 , 5 , 7 , 7 , 9 , 9 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 2 , 2 , 2 , 2 , 2 , 2 , 2 30 0.75 0.25 1.4 40 800 0 30 40 4 Arcane Champion
TFT13_Jayce TFT13_Jayce 5 ASSETS/Characters/TFT13_Jayce/Skins/Base/Images/TFT13_Jayce.TFT_Set13.tex Jayce ASSETS/Characters/TFT13_Jayce/Skins/Base/Images/TFT13_Jayce_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Jayce/HUD/TFT13_Jayce_Square.TFT_Set13.tex Academy , Form Swapper Passive: Summon a placeable Hextech Forge. On cast, the @NumAlliesShield@ allies closest to it gain @ModifiedShield@ (%i:scaleAP%) Shield for @ShieldDuration@ seconds. If it’s dead, revive it with @ReducedSummonHealth*100@% Health.

Active: Summon 2 Hexgates and knock target into one of them, dealing @ModifiedDamage@ (%i:scaleAD%) physical damage and sending them flying back to their original position. While flying, they deal @ModifiedSecondaryDamage@ (%i:scaleAD%) physical damage to all other enemies in the path.
ASSETS/Characters/TFT13_Jayce/HUD/Icons2D/Jayce_Melee.TFT_Set13.tex Special Delivery PercentAttackDamage , PercentADSecondaryDamage , NumAlliesShield , Shield , ShieldDuration , InitialGateDistanceBehindTheTarget, EnemyFlightDuration , FlyingEnemyDamageRadius , MaxEnemySpeed , MinEnemySpeed , ReducedSummonHealth , 0 , 5 , 5 , 20 , 0 , 0 , 0 , 0 , 2.25 , 2.25 , 15 , 0 , 0 , 0 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0 , 200 , 275 , 1800 , 0 , 0 , 0 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 480 , 480 , 480 , 480 , 480 , 480 , 480 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 290 , 290 , 290 , 290 , 290 , 290 , 290 , 2300 , 2300 , 2300 , 2300 , 2300 , 2300 , 2300 , 1650 , 1650 , 1650 , 1650 , 1650 , 1650 , 1650 , 1 , 1 , 1 , 1 , 1 , 1 , 1 0 0.50 0.25 1.4 50 900 0 NA 10 1 Arcane Champion
TFT13_Trundle TFT13_Trundle 1 ASSETS/Characters/TFT13_Trundle/Skins/Base/Images/TFT13_Trundle.TFT_Set13.tex Trundle ASSETS/Characters/TFT13_Trundle/Skins/Base/Images/TFT13_Trundle_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Trundle/HUD/TFT13_Trundle_Square.TFT_Set13.tex Scrap , Bruiser Heal @ModifiedHeal@ (%i:scaleAP%) and chomp target for @ModifiedDamage@ (%i:scaleAD%) physical damage. Both effects are increased by up to @AmountIncreaseMax*100@% based on Trundle’s missing Health. ASSETS/Characters/TFT13_Trundle/HUD/Icons2D/Trundle_Q.TFT_Set13.tex Desperate Chomp PercentAttackDamage, GainHealth , AmountIncreaseMax , 2.79999995231628 , 2.79999995231628 , 2.79999995231628 , 2.79999995231628 , 2.79999995231628 , 2.79999995231628 , 2.79999995231628 , 0 , 200 , 220 , 250 , 270 , 0 , 0 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 40 0.65 0.25 1.4 50 650 30 40 90 1 Non-Arcane Champion
TFT13_Ziggs TFT13_Ziggs 2 ASSETS/Characters/TFT13_Ziggs/Skins/Base/Images/TFT13_Ziggs.TFT_Set13.tex Ziggs ASSETS/Characters/TFT13_Ziggs/Skins/Base/Images/TFT13_Ziggs_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Ziggs/HUD/TFT13_Ziggs_Square.TFT_Set13.tex Scrap , Dominator Toss a bomb at target, dealing @ModifiedInitialDamage@ (%i:scaleAP%) magic damage. @NumBombs@ mini-bombs fly out, dealing @ModifiedSecondaryDamage@ (%i:scaleAP%) magic damage to random enemies. ASSETS/Characters/TFT13_Ziggs/HUD/Icons2D/ZiggsSpell.TFT_Set13.tex Bomb Full of Bombs Damage , MinibombDamage, NumBombs , 0 , 180 , 270 , 450 , 535 , 0 , 0 , 1 , 90 , 135 , 200 , 240 , 1 , 1 , 3 , 3 , 3 , 3 , 3 , 3 , 3 20 0.70 0.25 1.4 35 600 15 20 60 4 Non-Arcane Champion
TFT13_Rumble TFT13_Rumble 5 ASSETS/Characters/TFT13_Rumble/Skins/Base/Images/TFT13_Rumble.TFT_Set13.tex Rumble ASSETS/Characters/TFT13_Rumble/Skins/Base/Images/TFT13_Rumble_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Rumble/HUD/TFT13_Rumble_Square.TFT_Set13.tex Junker King, Scrap , Sentinel Call down a rain of @NumMissile@ missiles on target’s row that each deal @ModifiedDamage@ (%i:scaleAP%) magic damage, Wound, and 1% Burn units hit for @WoundDuration@ seconds. For each missile that doesn’t hit an enemy, restore @ManaPerMissile@ Mana.

If there’s only 1 enemy left, fire all of the missiles at them.

Burn: Deal a percent of the target’s max Health as true damage every second
Wound: Reduce healing received by 33%


@TFTUnitProperty.:TFT13_JunkerKing_UpgradeTRAKeyWrapper@
ASSETS/Characters/TFT13_Rumble/HUD/Icons2D/Rumble_R.TFT_Set13.tex The Equalizer Damage , NumMissile , WoundDuration , ManaPerMissile , Tankbuster_RefreshDuration , Tankbuster_APDamage_Level1 , Tankbuster_APDamage_Level2 , Tankbuster_APDamage_Level3 , SelfDestruct_ResistGainIncrease , SelfDestruct_ResistDamage_Level1 , SelfDestruct_ResistDamage_Level2 , SelfDestruct_ResistDamage_Level3 , SelfDestruct_HexRadius , Flamethrower_Damage_Level1 , Flamethrower_Damage_Level2 , Flamethrower_Damage_Level3 , Flamethrower_TicksPerSecond , RepairingMicrobots_RefreshDuration , ReparingMicrobots_MaxHealthHeal_Level1, ReparingMicrobots_MaxHealthHeal_Level2, ReparingMicrobots_MaxHealthHeal_Level3, PetriciteRod_RefreshDuration , PetriciteRod_APDamage_Level1 , PetriciteRod_APDamage_Level2 , PetriciteRod_APDamage_Level3 , PetriciteRod_DOTDuration , 0 , 500 , 750 , 4000 , 9999 , 0 , 0 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 100 , 100 , 100 , 100 , 100 , 100 , 100 , 150 , 150 , 150 , 150 , 150 , 150 , 150 , 1600 , 1600 , 1600 , 1600 , 1600 , 1600 , 1600 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 1.60000002384186 , 1.60000002384186 , 1.60000002384186 , 1.60000002384186 , 1.60000002384186 , 1.60000002384186 , 1.60000002384186 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 30 , 30 , 30 , 30 , 30 , 30 , 30 , 45 , 45 , 45 , 45 , 45 , 45 , 45 , 600 , 600 , 600 , 600 , 600 , 600 , 600 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 350 , 350 , 350 , 350 , 350 , 350 , 350 , 525 , 525 , 525 , 525 , 525 , 525 , 525 , 6000 , 6000 , 6000 , 6000 , 6000 , 6000 , 6000 , 15 , 15 , 15 , 15 , 15 , 15 , 15 70 0.80 0.25 1.4 60 1200 40 70 120 1 Non-Arcane Champion
TFT13_Gremlin TFT13_Gremlin 3 ASSETS/Characters/TFT13_Gremlin/Skins/Base/Images/TFT13_Gremlin.TFT_Set13.tex Smeech ASSETS/Characters/TFT13_Gremlin/Skins/Base/Images/TFT13_Gremlin_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Gremlin/HUD/TFT13_Gremlin_Square.TFT_Set13.tex Chem-Baron, Ambusher Leap towards the enemy with the fewest items within @LeapHexRange@ hexes. Slash @BaseNumStabs@ times, dealing a total of @TotalDamage@ (%i:scaleAD%) physical damage. If they die, leap again, dealing @DamageReductionOnLeap*100@% less damage. ASSETS/Characters/TFT13_Gremlin/HUD/Icons2D/GremlinSpell.TFT_Set13.tex Scrap Hacker PercentAttackDamage , APDamage , LeapHexRange , BaseNumStabs , DamageReductionOnLeap, 5 , 5 , 5 , 5 , 5 , 5 , 5 , 0 , 70 , 105 , 170 , 235 , 0 , 0 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 50 0.80 0.25 1.4 70 800 20 50 80 1 Arcane Champion
TFT13_Lieutenant TFT13_Lieutenant 5 ASSETS/Characters/TFT13_Lieutenant/Skins/Base/Images/TFT13_Lieutenant.TFT_Set13.tex Sevika ASSETS/Characters/TFT13_Lieutenant/Skins/Base/Images/TFT13_Lieutenant_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Lieutenant/HUD/TFT13_Lieutenant_Square.TFT_Set13.tex High Roller, Chem-Baron , Pit Fighter Randomly cast 1 of 3 spells, with a chance of a Jackpot!

Flamethrower: {{Spell_TFT13_LieutenantSpell1_Tooltip}}

Extendo-Punch: {{Spell_TFT13_LieutenantSpell2_Tooltip}}

Chomp: {{Spell_TFT13_LieutenantSpell3_Tooltip}}
ASSETS/Characters/TFT13_Lieutenant/HUD/Icons2D/TFT13_Lieutenant_AbilityIcon.TFT_Set13.tex Beat the Odds Spell1_ADPercent , Spell1_ReducedDamagePercent , Spell1_MinDuration , Spell1_Bonus_DamagePercentPerSecond, Spell1_HighrollBonus , APBonusDamage , Spell2_HexRadius , Spell2_Modifier , Spell2_SecondaryModifier , Spell2_HexKnockback , Spell2_StunDuration , Spell2_Bonus_KnockbackDamage , Spell3_Modifier , Spell3_BleedModifier , Spell3_StunDuration , Spell3_NumSlams , Spell3_BleedDuration , Spell3_TargetPercentHealthDamage , Spell3_HexRadius , Spell3_Bonus_BleedADPercent , Spell3_Bonus_BleedDuration , Spell3_ExecutePercentage , Spell3_ResetDashRange , Spell3_ResetDamageFalloff , Spell3_BonusNumChomps , 2.5 , 2.40000009536743 , 2.40000009536743 , 15 , 20 , 1.79999995231628 , 1.79999995231628 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 0 , 20 , 30 , 500 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 1.29999995231628 , 1.29999995231628 , 1.29999995231628 , 1.29999995231628 , 1.29999995231628 , 1.29999995231628 , 1.29999995231628 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 0 , 4 , 4 , 10 , 0 , 0 , 0 , 3.20000004768372 , 3.20000004768372 , 3.20000004768372 , 3.20000004768372 , 3.20000004768372 , 3.20000004768372 , 3.20000004768372 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 1.25 , 1.25 , 1.25 , 1.25 , 1.25 , 1.25 , 1.25 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 4 , 4 , 10 , 0 , 0 , 0 , 20 , 20 , 20 , 20 , 20 , 20 , 20 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 1 , 1 , 0.150000005960464 , 0.150000005960464 , 2 , 2 , 2 , 10 , 10 , 2 , 2 , 0.800000011920929 , 0.800000011920929 , 0.800000011920929 , 0.800000011920929 , 0.800000011920929 , 0.800000011920929 , 0.800000011920929 , 4 , 4 , 4 , 4 , 4 , 4 , 4 60 0.90 0.25 1.4 80 1200 0 60 60 1 Arcane Champion
TFT13_Chainsaw TFT13_Chainsaw 3 ASSETS/Characters/TFT13_Chainsaw/Skins/Base/Images/TFT13_Chainsaw.TFT_Set13.tex Renni ASSETS/Characters/TFT13_Chainsaw/Skins/Base/Images/TFT13_Chainsaw_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Chainsaw/HUD/TFT13_Chainsaw_Square.TFT_Set13.tex Chem-Baron, Bruiser Heal @ModifiedHealing@ (%i:scaleHealth%%i:scaleAP%) over @StunDuration@ seconds. For the duration, raise target into the air, Stunning them, and dealing @ModifiedDamage@ (%i:scaleAD%) physical damage. Afterwards, slam them down, dealing @FinalDamage@ (%i:scaleAD%) physical damage to all adjacent enemies.

ASSETS/Characters/TFT13_Chainsaw/HUD/Icons2D/ChainsawSpell.TFT_Set13.tex Sludgerunner’s Smash APHeal , MaxHealthHealingPercent , StunDuration , ADPercent , FinalADPercent , HeroAbilityDamage , HeroManaReduction , HeroHexDistance , HeroChargePercent , HeroStunDuration , HEROMaxHealthHealingPercent, 5.75 , 300 , 325 , 375 , 425 , 100 , 100 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 1.10000002384186 , 1.10000002384186 , 1.10000002384186 , 1.10000002384186 , 1.10000002384186 , 1.10000002384186 , 1.10000002384186 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 , 0.0599999986588955 50 0.65 0.25 1.4 55 850 40 50 100 1 Arcane Champion
TFT13_Beardy TFT13_Beardy 3 ASSETS/Characters/TFT13_Beardy/Skins/Base/Images/TFT13_Beardy.TFT_Set13.tex Loris ASSETS/Characters/TFT13_Beardy/Skins/Base/Images/TFT13_Beardy_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Beardy/HUD/TFT13_Beardy_Square.TFT_Set13.tex Enforcer, Sentinel Gain @ModifiedShield@ (%i:scaleAP%) Shield for @Duration@ seconds. It redirects @PercentDamageRedirect*100@% of damage taken by adjacent allies. When it expires, deal @ModifiedDamage@ (%i:scaleAP%) magic damage in a cone. ASSETS/Characters/TFT13_Beardy/HUD/Icons2D/Beardy_Spell.TFT_Set13.tex Piltover Bulwark Shield , Damage , PercentDamageRedirect, Duration , 0 , 525 , 600 , 700 , 800 , 0 , 0 , 0 , 150 , 225 , 360 , 495 , 0 , 0 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 4 , 4 , 4 , 4 , 4 , 4 , 4 50 0.65 0.25 1.4 50 850 50 50 90 1 Arcane Champion
TFT13_Fish TFT13_Fish 1 ASSETS/Characters/TFT13_Fish/Skins/Base/Images/TFT13_Fish.TFT_Set13.tex Steb ASSETS/Characters/TFT13_Fish/Skins/Base/Images/TFT13_Fish_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Fish/HUD/TFT13_Fish_Square.TFT_Set13.tex Enforcer, Bruiser Passive: On heal, heal the @NumAlliesToShare@ closest allies for @PercentAlliedHealShare*100@% of the amount.

Active: Heal for @ModifiedHeal@ (%i:scaleAP%) and strike target for @ModifiedDamage@ (%i:scaleAP%) magic damage.
ASSETS/Characters/TFT13_Fish/HUD/Icons2D/Fish_Spell.TFT_Set13.tex Field Medicine PercentAlliedHealShare, NumAlliesToShare , Damage , Heal , HEROOmnivamp , HEROSpellDamageMod , HEROMaxHits , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 260 , 390 , 585 , 780 , 0 , 0 , 0 , 270 , 310 , 360 , 410 , 0 , 0 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.649999976158142 , 0.649999976158142 , 0.649999976158142 , 0.649999976158142 , 0.649999976158142 , 0.649999976158142 , 0.649999976158142 , 3 , 3 , 3 , 3 , 3 , 3 , 3 45 0.55 0.25 1.4 55 650 30 45 90 1 Arcane Champion
TFT13_Shooter TFT13_Shooter 1 ASSETS/Characters/TFT13_Shooter/Skins/Base/Images/TFT13_Shooter.TFT_Set13.tex Maddie ASSETS/Characters/TFT13_Shooter/Skins/Base/Images/TFT13_Shooter_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Shooter/HUD/TFT13_Shooter_Square.TFT_Set13.tex Enforcer, Sniper Fire @NumOfShots@ shots towards the farthest enemy that deal @TotalDamage@ (%i:scaleAD%) physical damage to the first enemy they hit. ASSETS/Characters/TFT13_Shooter/HUD/Icons2D/ShooterSpellIcon.TFT_Set13.tex Fan the Hammer PercentAttackDamage , APDamage , NumOfShots , TotalSpellTime , ShotsPerSimulatedLaunchAttack, 1.35000002384186 , 1.25 , 1.25 , 1.39999997615814 , 1.39999997615814 , 1.35000002384186 , 1.35000002384186 , 0 , 10 , 15 , 25 , 35 , 0 , 0 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 1.14999997615814 , 1.14999997615814 , 1.14999997615814 , 1.14999997615814 , 1.14999997615814 , 1.14999997615814 , 1.14999997615814 , 3 , 3 , 3 , 3 , 3 , 3 , 3 15 0.70 0.25 1.4 50 500 20 15 120 6 Arcane Champion
TFT13_Blue TFT13_Blue 1 ASSETS/Characters/TFT13_Blue/Skins/Base/Images/TFT13_Blue.TFT_Set13.tex Powder ASSETS/Characters/TFT13_Blue/Skins/Base/Images/TFT13_Blue_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Blue/HUD/TFT13_Blue_Square.TFT_Set13.tex Family , Scrap , Ambusher Send a monkey towards the largest group of enemies, causing a 2-hex radius explosion on impact. Enemies hit take @ModifiedDamage@ (%i:scaleAP%) magic damage, reduced by @FalloffPercent*100@% for each hex they are away from the epicenter. Wound and 1% Burn applied for @IgniteDuration@ seconds to all enemies hit.

Burn: Deal a percent of the target’s max Health as true damage every second
Wound: Reduce healing received by 33%
ASSETS/Characters/TFT13_Blue/HUD/Icons2D/Blue_Spell.TFT_Set13.tex Misfit Toy Damage , IgniteDuration , FalloffPercent , HERODamage , HEROFalloffPercent, HEROFriendlyFire , HeroBigFalloffPerc, 0 , 350 , 500 , 700 , 900 , 0 , 0 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 0.330000013113022 , 0.300000011920929 , 0.300000011920929 , 0.25 , 0.25 , 0.330000013113022 , 0.330000013113022 , 240 , 350 , 500 , 700 , 900 , 240 , 240 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.600000023841858 , 0.600000023841858 , 0.600000023841858 , 0.600000023841858 , 0.600000023841858 , 0.600000023841858 , 0.600000023841858 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 15 0.70 0.25 1.4 35 500 40 15 120 4 Arcane Champion
TFT13_Prime TFT13_Prime 2 ASSETS/Characters/TFT13_Prime/Skins/Base/Images/TFT13_Prime.TFT_Set13.tex Vander ASSETS/Characters/TFT13_Prime/Skins/Base/Images/TFT13_Prime_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Prime/HUD/TFT13_Prime_Square.TFT_Set13.tex Family , Watcher Stop attacking and brace for @TauntDuration@ seconds, gaining @ModifiedDefenses@ (%i:scaleAP%) Armor and Magic Resist. Vander’s next attack is replaced with a strike that deals @ModifiedDamage@ (%i:scaleAD%) physical damage, increased by @ModifiedBonusDamage@ (%i:scaleAD%) physical damage for each 1 or 2 cost champion on your team. ASSETS/Characters/TFT13_Prime/HUD/Icons2D/PrimeSpell.TFT_Set13.tex Hound of the Underground TauntDuration , Resists , PercentAttackDamage, BonusDamageADRatio , HEROSpellDuration , HEROBonusDamage , HEROSplashPerc , HEROStunDuration , HEROManaIncrease , 2.5 , 2.5 , 2.5 , 2.5 , 2.5 , 2.5 , 2.5 , 90 , 100 , 125 , 150 , 175 , 90 , 90 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 1.85000002384186 , 1.85000002384186 , 1.85000002384186 , 1.85000002384186 , 1.85000002384186 , 1.85000002384186 , 1.85000002384186 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 0.75 , 60 , 60 , 60 , 60 , 60 , 60 , 60 45 0.70 0.25 1.4 50 800 0 45 50 1 Arcane Champion
TFT13_FlyGuy TFT13_FlyGuy 3 ASSETS/Characters/TFT13_FlyGuy/Skins/Base/Images/TFT13_Flyguy.TFT_Set13.tex Scar ASSETS/Characters/TFT13_FlyGuy/Skins/Base/Images/TFT13_Flyguy_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_FlyGuy/HUD/TFT13_FlyGuy_Square.TFT_Set13.tex Firelight, Watcher Lob bombs at the nearest @NumEnemies@ enemies, Stunning them for @StunDuration@ seconds and dealing @ModifiedDamage@ (%i:scaleAP%) magic damage to each. Heal @ModifiedHeal@ (%i:scaleAP%). ASSETS/Characters/TFT13_FlyGuy/HUD/Icons2D/FlyGuy_Spell.TFT_Set13.tex Sumpsnipe Surprise Heal , NumEnemies , StunDuration , Damage , 0.0299999993294477, 220 , 240 , 270 , 330 , 0.0299999993294477, 0.0299999993294477, 3 , 3 , 3 , 3 , 3 , 3 , 3 , 1.5 , 1.5 , 1.5 , 1.75 , 1.75 , 1.5 , 1.5 , 0 , 80 , 120 , 180 , 240 , 0 , 0 50 0.65 0.25 1.4 50 800 80 50 170 1 Arcane Champion
TFT13_NunuWillump TFT13_NunuWillump 3 ASSETS/Characters/TFT13_NunuWillump/Skins/Base/Images/TFT13_NunuWillump.TFT_Set13.tex Nunu & Willump ASSETS/Characters/TFT13_NunuWillump/Skins/Base/Images/TFT13_NunuWillump_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_NunuWillump/HUD/TFT13_NunuWillump_Square.TFT_Set13.tex Experiment, Bruiser , Visionary For @DamageDuration@ seconds, gain @ModifiedDurability@ (%i:scaleAP%) Durability and create a 2-hex cloud of noxious fumes that deals @ModifiedDamage@ (%i:scaleAP%) magic damage to enemies within. Afterwards, detonate the cloud and deal @ModifiedSecondDamage@ (%i:scaleAP%) magic damage to all enemies within.

Experiment Bonus: <ShowIfNot.TFT13_ExperimentActive></ShowIfNot.TFT13_ExperimentActive><ShowIf.TFT13_ExperimentActive></ShowIf.TFT13_ExperimentActive>After dealing damage, deal @TFTUnitProperty.:TFT13_NunuCurrentExperimentBonus@% max %i:scaleHealth% bonus magic damage (@ExperimentICD@s&nbsp;cooldown).
ASSETS/Characters/TFT13_NunuWillump/HUD/Icons2D/NunuSpell.TFT_Set13.tex ZOMBIE POWER!! Durability , Damage , DamageTicksPerSecond , SecondDamage , DamageDuration , HexRadius , ExperimentMaxHealthDamage, ExperimentICD , 0.5 , 0.5 , 0.5 , 0.550000011920929 , 0.5 , 0.5 , 0.5 , 0 , 30 , 45 , 65 , 85 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 150 , 225 , 340 , 455 , 0 , 0 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 0.0299999993294477 , 1 , 1 , 1 , 1 , 1 , 1 , 1 50 0.60 0.25 1.4 50 800 60 50 125 1 Non-Arcane Champion
TFT13_Jinx TFT13_Jinx 5 ASSETS/Characters/TFT13_Jinx/Skins/Base/Images/TFT13_Jinx.TFT_Set13.tex Jinx ASSETS/Characters/TFT13_Jinx/Skins/Base/Images/TFT13_Jinx_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Jinx/HUD/TFT13_Jinx_Square.TFT_Set13.tex Rebel , Ambusher Jinx alternates between Zap, Flame Chompers, and Death Rocket for her ability.

Zap: Deal @ZapModifiedDamage@ (%i:scaleAD%) physical damage to enemies in a line and Stun them for @ZapStunDuration@ seconds.
Flame Chompers: Deal @FlameChompersModifiedDamage@ (%i:scaleAD%) physical damage to @NumOfFlameChompers@ 1-hex circles of enemies.
Death Rocket: Fire a rocket at the center of the board that @DeathRocketModifiedDamage@ (%i:scaleAD%%i:scaleAP%) physical damage to ALL enemies, reduced by @FalloffPercent*100@% for each hex they are away from the epicenter.
ASSETS/Characters/TFT13_Jinx/HUD/Icons2D/Jinx_P.TFT_Set13.tex Ruin Everything NumOfFlameChompers , FlameChompersPercentAD, ZapPercentAD , ZapStunDuration , ZapLength , ZapWidth , DeathRocketPercentAD , DeathRocketAP , DeathRocketHexes , FalloffPercent , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0 , 2.65000009536743 , 2.65000009536743 , 20 , 30 , 0 , 0 , 0 , 2.65000009536743 , 2.65000009536743 , 20 , 30 , 0 , 0 , 1.5 , 1.25 , 1.5 , 10 , 10 , 1.5 , 1.5 , 2500 , 2500 , 2500 , 2500 , 2500 , 2500 , 2500 , 180 , 180 , 180 , 180 , 180 , 180 , 180 , 0 , 7 , 7 , 90.0100021362305 , 90.0199966430664 , 0 , 0 , 0 , 60 , 90 , 300 , 600 , 0 , 0 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 40 0.80 0.25 1.4 60 900 0 40 60 4 Arcane Champion
TFT13_Zeri TFT13_Zeri 2 ASSETS/Characters/TFT13_Zeri/Skins/Base/Images/TFT13_Zeri.TFT_Set13.tex Zeri ASSETS/Characters/TFT13_Zeri/Skins/Base/Images/TFT13_Zeri_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Zeri/HUD/TFT13_Zeri_Square.TFT_Set13.tex Firelight, Sniper Passive: Every @NumOfAttacks@rd attack is replaced with a spark that deals @TotalDamage@ (%i:scaleAD%) physical damage to target and @SecondaryDamage@ (%i:scaleAD%) physical damage to @NumOfBounces@ nearby enemies. ASSETS/Characters/TFT13_Zeri/HUD/Icons2D/Zeri_P.TFT_Set13.tex Living Battery NumOfAttacks , NumOfBounces , PercentAttackDamage , APDamage , PercentDealtToBouncedEnemies, 3 , 3 , 3 , 3 , 3 , 3 , 3 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 10 , 15 , 20 , 25 , 0 , 0 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 20 0.75 0.25 1.4 45 600 0 20 3 6 Non-Arcane Champion
TFT13_Red TFT13_Red 1 ASSETS/Characters/TFT13_Red/Skins/Base/Images/TFT13_Red.TFT_Set13.tex Violet ASSETS/Characters/TFT13_Red/Skins/Base/Images/TFT13_Red_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Red/HUD/TFT13_Red_Square.TFT_Set13.tex Family , Pit Fighter Jab target @NumStrikes@ times for @ModifiedDamage@ (%i:scaleAD%) physical damage each. Then uppercut them, dealing @TotalDamage@ (%i:scaleAD%%i:scaleAP%) physical damage and briefly knocking them up. ASSETS/Characters/TFT13_Red/HUD/TFT13_Red_Ability.TFT_Set13.tex 1-2-3 Combo PercentAttackDamage , StunDuration , APDamage , PercentIncreasedAttackDamage, NumStrikes , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 1.35000002384186 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0 , 20 , 30 , 45 , 60 , 0 , 0 , 3.29999995231628 , 3.29999995231628 , 3.29999995231628 , 3.29999995231628 , 3.29999995231628 , 3.29999995231628 , 3.29999995231628 , 2 , 2 , 2 , 2 , 2 , 2 , 2 40 0.80 0.25 1.4 50 650 20 40 65 1 Arcane Champion
TFT13_Nami TFT13_Nami 3 ASSETS/Characters/TFT13_Nami/Skins/Base/Images/TFT13_Nami.TFT_Set13.tex Nami ASSETS/Characters/TFT13_Nami/Skins/Base/Images/TFT13_Nami_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Nami/HUD/TFT13_Nami_Square.TFT_Set13.tex Emissary, Sorcerer Launch a wave at target that bounces @NumBounces@ times to enemies within @SearchRange@ hexes and deals @ModifiedDamage@ (%i:scaleAP%) magic damage. ASSETS/Characters/TFT13_Nami/HUD/Icons2D/NamiW.TFT_Set13.tex Ocean’s Ebb NumBounces , Damage , SearchRange , TimesHitTarget, 3 , 3 , 3 , 3 , 3 , 3 , 3 , 75 , 120 , 180 , 290 , 400 , 150 , 150 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 1 , 1 , 1 , 1 , 1 , 1 , 1 25 0.70 0.25 1.4 40 700 0 25 60 4 Non-Arcane Champion
TFT13_Corki TFT13_Corki 4 ASSETS/Characters/TFT13_Corki/Skins/Base/Images/TFT13_Corki.TFT_Set13.tex Corki ASSETS/Characters/TFT13_Corki/Skins/Base/Images/TFT13_Corki_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Corki/HUD/TFT13_Corki_Square.TFT_Set13.tex Scrap , Artillerist Lock onto target and strafe to a nearby position, unleashing @BaseMissiles@ missiles split between the target and all enemies within two hexes. Each missile deals @ModifiedDamage@ (%i:scaleAD%) physical damage and reduces Armor @.

Every @SpecialMissileNum@th missile deals @ModifiedSpecialDamage@ (%i:scaleAD%) physical damage and reduces Armor @.
ASSETS/Characters/TFT13_Corki/HUD/Icons2D/Corki_RapidReload.TFT_Set13.tex Broadside Barrage BaseMissiles , PercentAD , FlatArmorShred , SpecialMissileNum , SpecialMissileMult , MissilesPerLaunchAttack, FlatDamagePerMissile , 21 , 21 , 21 , 35 , 35 , 21 , 21 , 0.400000005960465 , 0.349999994039536 , 0.349999994039536 , 0.600000023841858 , 0.699999988079071 , 0.5 , 0.5 , 2 , 1 , 1 , 1 , 2 , 2 , 2 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 7 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 0 , 6 , 9 , 36 , 0 , 0 , 0 30 0.75 0.25 1.4 65 850 0 30 60 4 Non-Arcane Champion
TFT13_Garen TFT13_Garen 4 ASSETS/Characters/TFT13_Garen/Skins/Base/Images/TFT13_Garen.TFT_Set13.tex Garen ASSETS/Characters/TFT13_Garen/Skins/Base/Images/TFT13_Garen_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Garen/HUD/TFT13_Garen_Square.TFT_Set13.tex Emissary, Watcher Passive: After dealing damage, heal @ModifiedHeal@ (%i:scaleHealth%).

Active: Gain @ModifiedShield@ (%i:scaleHealth%%i:scaleAP%) Shield for @ShieldDuration@ seconds. Slam a massive sword on target, dealing @ModifiedDamage@ (%i:scaleAD%) physical damage to them and @ModifiedSecondaryDamage@ (%i:scaleAD%) physical damage to enemies within 2 hexes.
ASSETS/Characters/TFT13_Garen/HUD/Icons2D/TFT13_Garen_SpellIcon.TFT_Set13.tex Demacian Justice APShield , PercentHealthShield , ShieldDuration , ADRatio , SecondaryADRatio , HealPercentHealth , PassiveDamagePercent, 100 , 200 , 220 , 1500 , 2000 , 100 , 100 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 0.150000005960464 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 6 , 2.5 , 2.5 , 15 , 25 , 6 , 6 , 3 , 1.25 , 1.25 , 7.5 , 12.5 , 3 , 3 , 0.0149999996647239 , 0.0149999996647239 , 0.0149999996647239 , 0.0500000007450581 , 0.0799999982118607 , 0.0149999996647239 , 0.0149999996647239 60 0.60 0.25 1.4 65 1000 60 60 125 1 Non-Arcane Champion
TFT13_Vex TFT13_Vex 1 ASSETS/Characters/TFT13_Vex/Skins/Base/Images/TFT13_Vex.TFT_Set13.tex Vex ASSETS/Characters/TFT13_Vex/Skins/Base/Images/TFT13_Vex_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Vex/HUD/TFT13_Vex_Square.TFT_Set13.tex Rebel , Visionary Deal @ModifiedDamage@ (%i:scaleAP%) magic damage to target and create a one-hex radius zone of darkness around them. After a brief delay, deal @ModifiedSecondaryDamage@ (%i:scaleAP%) magic damage to enemies still in the zone. ASSETS/Characters/TFT13_Vex/HUD/Icons2D/Icons_TFT13_Vex_Spell.TFT_Set13.tex Looming Darkness Damage , SecondaryDamage , DOTDuration , 0 , 220 , 330 , 550 , 770 , 0 , 0 , 0 , 110 , 165 , 275 , 385 , 0 , 0 , 0.800000011920929, 0.800000011920929, 0.800000011920929, 0.800000011920929, 0.800000011920929, 0.800000011920929, 0.800000011920929 15 0.70 0.25 1.4 30 450 0 15 60 4 Non-Arcane Champion
TFT13_Nocturne TFT13_Nocturne 2 ASSETS/Characters/TFT13_Nocturne/Skins/Base/Images/TFT13_Nocturne.TFT_Set13.tex Nocturne ASSETS/Characters/TFT13_Nocturne/Skins/Base/Images/TFT13_Nocturne_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Nocturne/HUD/TFT13_Nocturne_Square.TFT_Set13.tex Automata , Quickstriker For @Duration@ seconds, attacks also cause adjacent enemies to bleed for @ModifiedDamage@ (%i:scaleAD%) physical damage over @BleedDuration@ second. ASSETS/Characters/TFT13_Nocturne/HUD/Icons2D/TFT13_Nocturne_EyeOfTheStorm.TFT_Set13.tex Overdrive Blades ADPercent , Duration , BaseDamage , BleedDuration , BleedTicksRate , 0 , 1.20000004768372, 1.20000004768372, 1.39999997615814, 1.39999997615814, 0 , 0 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 0 , 15 , 25 , 40 , 55 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 45 0.80 0.25 1.4 65 700 0 45 40 1 Non-Arcane Champion
TFT13_Darius TFT13_Darius 1 ASSETS/Characters/TFT13_Darius/Skins/Base/Images/TFT13_Darius.TFT_Set13.tex Darius ASSETS/Characters/TFT13_Darius/Skins/Base/Images/TFT13_Darius_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Darius/HUD/TFT13_Darius_Square.TFT_Set13.tex Conqueror, Watcher Spin, dealing @ModifiedDamage@ (%i:scaleAD%) physical damage to adjacent enemies and healing @ModifiedHeal@ (%i:scaleAP%). Apply a @ModifiedBleedDamage@ (%i:scaleAD%) physical damage bleed to target over @BleedDuration@ seconds. ASSETS/Characters/TFT13_Darius/HUD/Darius_Icon_Decimate.TFT_Set13.tex Decimate BleedDuration , PercentAttackDamage , Heal , BleedPercentAttackDamage, 4 , 4 , 4 , 4 , 4 , 4 , 4 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 2.40000009536743 , 0 , 150 , 175 , 200 , 225 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 40 0.70 0.25 1.4 55 600 30 40 70 1 Non-Arcane Champion
TFT13_Irelia TFT13_Irelia 1 ASSETS/Characters/TFT13_Irelia/Skins/Base/Images/TFT13_Irelia.TFT_Set13.tex Irelia ASSETS/Characters/TFT13_Irelia/Skins/Base/Images/TFT13_Irelia_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Irelia/HUD/TFT13_Irelia_Square.TFT_Set13.tex Rebel , Sentinel Enter a defensive stance and gain @ModifiedShield@ (%i:scaleAP%) Shield that rapidly decays over @ShieldDuration@ seconds. When it expires, deal @ModifiedBaseStrikeDamage@ (%i:scaleAP%) magic damage + @PercentShieldDamage*100@% of the damage absorbed to enemies around and in front of Irelia. ASSETS/Characters/TFT13_Irelia/HUD/Icons2D/IreliaSpell.TFT_Set13.tex Defiant Dance ShieldDuration , ShieldHealth , StrikeBaseDamage , PercentShieldDamage, HERODashNum , HEROBaseDashDamage , HEROAttackSpeed , HEROSpellAPBase , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 200 , 400 , 475 , 575 , 675 , 1200 , 1400 , 50 , 70 , 100 , 150 , 200 , 300 , 350 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 0.300000011920929 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 0 , 3.34999990463257 , 3.34999990463257 , 3.45000004768372 , 3.45000004768372 , 0 , 0 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0 , 40 , 60 , 90 , 120 , 0 , 0 40 0.60 0.25 1.4 45 700 30 40 70 1 Non-Arcane Champion
TFT13_Ambessa TFT13_Ambessa 4 ASSETS/Characters/TFT13_Ambessa/Skins/Base/Images/TFT13_Ambessa.TFT_Set13.tex Ambessa ASSETS/Characters/TFT13_Ambessa/Skins/Base/Images/TFT13_Ambessa_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Ambessa/HUD/TFT13_Ambessa_Square.TFT_Set13.tex Emissary , Conqueror , Quickstriker Ambessa switches between two stances on cast:

Chains: Gain +1 Range. Attacks deal @ModifiedChainDamage@ (%i:scaleAD%) physical damage.
On cast, dash to target and strike in a half-circle, dealing @ModifiedStrikeDamage@ (%i:scaleAD%) physical damage to enemies hit.

Fists: Gain @ModifiedOmnivamp@ (%i:scaleAP%) Omnivamp and attack twice as fast.
On cast, briefly Stun target before slamming them into the ground, dealing @ModifiedSlamDamage@ (%i:scaleAD%) physical damage, then dash away.
ASSETS/Characters/TFT13_Ambessa/HUD/Icons2D/Ambessa_Spell.TFT_Set13.tex Unrelenting Huntress PercentChainAttackAD, PercentStrikeAD , PercentOmnivamp , AttackSpeed , SlamDamageAD , 1.5 , 1.5 , 1.5 , 3.5 , 4 , 1.5 , 1.5 , 2.09999990463257 , 2.5 , 2.5 , 5 , 6 , 2.5 , 2.5 , 0.150000005960464 , 0.25 , 0.25 , 0.449999988079071 , 0.600000023841858 , 0.150000005960464 , 0.150000005960464 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 5 , 5 , 5 , 12 , 15 , 6 , 6 50 0.80 0.25 1.4 65 1100 40 50 90 1 Arcane Champion
TFT13_Zyra TFT13_Zyra 1 ASSETS/Characters/TFT13_Zyra/Skins/Base/Images/TFT13_Zyra.TFT_Set13.tex Zyra ASSETS/Characters/TFT13_Zyra/Skins/Base/Images/TFT13_Zyra_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Zyra/HUD/TFT13_Zyra_Square.TFT_Set13.tex Experiment, Sorcerer Send vines towards the current target, Stunning them for @StunDuration@ second and dealing @ModifiedTargetDamage@ (%i:scaleAP%) magic damage. Then smaller vines seek out the @NumSmallerVines@ nearest enemies and deal @ModifiedAOEDamage@ (%i:scaleAP%) magic damage to them.

Experiment Bonus:<ShowIfNot.TFT13_ExperimentActive></ShowIfNot.TFT13_ExperimentActive><ShowIf.TFT13_ExperimentActive></ShowIf.TFT13_ExperimentActive> Ability damage bleeds enemies for @TFTUnitProperty.:TFT13_ZyraCurrentExperimentBonus@% bonus true damage over @ExperimentDuration@ seconds.
ASSETS/Characters/TFT13_Zyra/HUD/Icons2D/TFT13_ZyraSpellIcon.TFT_Set13.tex Grasping Roots TargetDamage , StunDuration , AOEDamage , ExperimentTrueDamage, ExperimentDuration , NumSmallerVines , 0 , 260 , 390 , 585 , 780 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0 , 95 , 140 , 215 , 290 , 0 , 0 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 20 0.70 0.25 1.4 30 500 10 20 60 4 Non-Arcane Champion
TFT13_Gangplank TFT13_Gangplank 3 ASSETS/Characters/TFT13_Gangplank/Skins/Base/Images/TFT13_Gangplank.TFT_Set13.tex Gangplank ASSETS/Characters/TFT13_Gangplank/Skins/Base/Images/TFT13_Gangplank_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Gangplank/HUD/TFT13_Gangplank_Square.TFT_Set13.tex Scrap , Form Swapper, Pit Fighter Restore @ModifiedHeal@ (%i:scaleAP%) Health. Then slash, dealing @ModifiedDamage@ (%i:scaleAD%) physical damage to enemies in a line. If only one enemy is hit, the damage is doubled. ASSETS/Characters/TFT13_Gangplank/HUD/Icons2D/TFT13_Gangplank_Passive.TFT_Set13.tex Harvest from Flames PercentAttackDamage , Heal , NumBarrels , SingleTargetDamageIncrease, 3.40000009536743 , 3.40000009536743 , 3.40000009536743 , 3.40000009536743 , 3.40000009536743 , 3.40000009536743 , 3.40000009536743 , 100 , 100 , 125 , 150 , 175 , 220 , 220 , 1 , 1 , 1 , 1 , 1 , 1 , 1 0 0.50 0.25 1.4 50 700 0 NA 10 1 Non-Arcane Champion
TFT13_Leona TFT13_Leona 2 ASSETS/Characters/TFT13_Leona/Skins/Base/Images/TFT13_Leona.TFT_Set13.tex Leona ASSETS/Characters/TFT13_Leona/Skins/Base/Images/TFT13_Leona_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Leona/HUD/TFT13_Leona_Square.TFT_Set13.tex Academy , Sentinel Fortify for @Duration@ seconds, gaining @ModifiedDurability@ (%i:scaleAP%) Durability. Afterwards, deal @ModifiedDamage@ (%i:scaleAP%) magic damage to adjacent enemies. ASSETS/Characters/TFT13_Leona/HUD/Icons2D/TFT13_LeonaSolarBarrier.TFT_Set13.tex Eclipse Duration, Damage , DR , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 0 , 115 , 175 , 270 , 365 , 0 , 0 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 50 0.60 0.25 1.4 55 800 50 50 90 1 Non-Arcane Champion
TFT13_KogMaw TFT13_KogMaw 3 ASSETS/Characters/TFT13_KogMaw/Skins/Base/Images/TFT13_KogMaw.TFT_Set13.tex Kog’Maw ASSETS/Characters/TFT13_KogMaw/Skins/Base/Images/TFT13_KogMaw_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_KogMaw/HUD/TFT13_KogMaw_Square.TFT_Set13.tex Automata, Sniper Passive: Attacks deal @ModifiedDamage@ (%i:scaleAP%) bonus magic damage.

Active: Gain @AttackSpeed*100@% stacking Attack Speed for the rest of combat. After every @RangeIncreaseNumAttacks@ casts, gain +1 Range.
ASSETS/Characters/TFT13_KogMaw/HUD/Icons2D/TFT13_KogMaw_BioArcaneBarrage.TFT_Set13.tex Upgrading Barrage Module MaxAS , AttackSpeed , Duration , DamageOnAttack , RangeIncreaseNumAttacks, 20 , 20 , 20 , 20 , 20 , 20 , 20 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 60 , 60 , 60 , 60 , 60 , 60 , 60 , 0 , 48 , 72 , 120 , 210 , 0 , 0 , 3 , 3 , 3 , 3 , 3 , 3 , 3 25 0.70 0.25 1.4 15 650 0 25 40 4 Non-Arcane Champion
TFT13_TwistedFate TFT13_TwistedFate 3 ASSETS/Characters/TFT13_TwistedFate/Skins/Base/Images/TFT13_TwistedFate.TFT_Set13.tex Twisted Fate ASSETS/Characters/TFT13_TwistedFate/Skins/Base/Images/TFT13_TwistedFate_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_TwistedFate/HUD/TFT13_TwistedFate_Square.TFT_Set13.tex Enforcer , Quickstriker Throw 3 cards at different targets.

Blue Card: Restore @ModifiedHeal@ (%i:scaleAP%) Health to the lowest Health ally.
Red Card: Deal @ModifiedRedDamage@ (%i:scaleAP%) magic damage to the largest circle of enemies.
Yellow Card: Deal @ModifiedYellowDamage@ (%i:scaleAP%) magic damage to target and Stun them for @StunDuration@ second.
ASSETS/Characters/TFT13_TwistedFate/HUD/Icons2D/Cardmaster_PowerCard.TFT_Set13.tex Wild Cards BlueHeal , RedDamage , YellowDamage, StunDuration, 0 , 90 , 110 , 140 , 170 , 0 , 0 , 0 , 110 , 165 , 255 , 345 , 0 , 0 , 0 , 230 , 345 , 535 , 725 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 25 0.70 0.25 1.4 35 700 25 25 75 4 Non-Arcane Champion
TFT13_Lux TFT13_Lux 1 ASSETS/Characters/TFT13_Lux/Skins/Base/Images/TFT13_Lux.TFT_Set13.tex Lux ASSETS/Characters/TFT13_Lux/Skins/Base/Images/TFT13_Lux_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Lux/HUD/TFT13_Lux_Square.TFT_Set13.tex Academy , Sorcerer Grant @ModifiedShield@ (%i:scaleAP%) Shield to the lowest current Health ally. Lux’s next attack deals @ModifiedDamage@ (%i:scaleAP%) bonus magic damage. ASSETS/Characters/TFT13_Lux/HUD/Icons2D/TFT13_LuxPrismaWrap.TFT_Set13.tex Prismatic Barrier Damage , Shield , ShieldDuration , DamageReduction , 0 , 360 , 540 , 900 , 1260 , 0 , 0 , 0 , 160 , 180 , 240 , 300 , 0 , 0 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 0.349999994039536, 0.349999994039536, 0.349999994039536, 0.349999994039536, 0.349999994039536, 0.349999994039536, 0.349999994039536 20 0.70 0.25 1.4 30 500 0 20 50 4 Non-Arcane Champion
TFT13_Mordekaiser TFT13_Mordekaiser 5 ASSETS/Characters/TFT13_Mordekaiser/Skins/Base/Images/TFT13_Mordekaiser.TFT_Set13.tex Mordekaiser ASSETS/Characters/TFT13_Mordekaiser/Skins/Base/Images/TFT13_Mordekaiser_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Mordekaiser/HUD/TFT13_Mordekaiser_Square.TFT_Set13.tex Conqueror, Dominator Briefly gain @DR100@% Durability and summon a massive claw, dealing @ModifiedDamage@ (%i:scaleAP%) magic damage to the most enemies in a line. The @NearestEnemies@ closest enemies take @DamageBonus100@% more damage and are pulled towards Mordekaiser.

For the next @EmpowerDuration@ seconds, gain @OmnivampPercent*100@% Omnivamp, +1 Attack Range, and replace every attack with a slam that deals @ModifiedTargetDamage@ (%i:scaleAP%) magic damage to target and @ModifiedSecondaryDamage@ (%i:scaleAP%) magic damage to all other enemies within @AttackHexRadius@ hexes.
ASSETS/Characters/TFT13_Mordekaiser/HUD/Icons2D/MordekaiserE.TFT_Set13.tex Grasp of the Iron Revenant DR , Damage , DamageBonus , NearestEnemies , Displacement , OmnivampPercent , TargetDamage , SlamDamage , AttackHexRadius , LineRange , LineWidth , NumAttacks , EmpowerDuration , 0.400000005960465, 0.400000005960465, 0.400000005960465, 0.400000005960465, 0.400000005960465, 0.400000005960465, 0.400000005960465, 0 , 160 , 240 , 800 , 0 , 0 , 0 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 0.25 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 240 , 240 , 240 , 240 , 240 , 240 , 240 , 0.300000011920929, 0.300000011920929, 0.300000011920929, 0.300000011920929, 0.300000011920929, 0.300000011920929, 0.300000011920929, 0 , 330 , 500 , 3000 , 0 , 0 , 0 , 0 , 85 , 125 , 1500 , 0 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 1470 , 1470 , 1470 , 1470 , 1470 , 1470 , 1470 , 615 , 615 , 615 , 615 , 615 , 615 , 615 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 10 , 10 , 10 , 10 , 10 , 10 , 10 70 0.55 0.25 1.4 75 1200 25 70 100 1 Non-Arcane Champion
TFT13_Morgana TFT13_Morgana 1 ASSETS/Characters/TFT13_Morgana/Skins/Base/Images/TFT13_Morgana.TFT_Set13.tex Morgana ASSETS/Characters/TFT13_Morgana/Skins/Base/Images/TFT13_Morgana_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Morgana/HUD/TFT13_Morgana_Square.TFT_Set13.tex Black Rose, Visionary Curse the nearest non-cursed enemy, dealing @ModifiedDamage@ (%i:scaleAP%) magic damage over @Duration@ seconds and reducing the effectiveness of shields used on them *100@%. ASSETS/Characters/TFT13_Morgana/HUD/Icons2D/FallenAngel_Empathize.TFT_Set13.tex Tormented Soul Damage , ShieldReavePercent, Duration , 0 , 525 , 780 , 1300 , 1550 , 200 , 240 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 10 , 10 , 10 , 10 , 10 , 10 , 10 20 0.70 0.25 1.4 30 500 0 20 40 4 Non-Arcane Champion
TFT13_Tristana TFT13_Tristana 2 ASSETS/Characters/TFT13_Tristana/Skins/Base/Images/TFT13_Tristana.TFT_Set13.tex Tristana ASSETS/Characters/TFT13_Tristana/Skins/Base/Images/TFT13_Tristana_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Tristana/HUD/TFT13_Tristana_Square.TFT_Set13.tex Emissary , Artillerist Fire a cannonball at target, dealing @TotalDamage@ (%i:scaleAD%) physical damage. If they die, the cannonball ricochets to the nearest enemy, dealing the overkill damage. When it does, permanently gain @TFTUnitProperty.:TFT13_TristanaASPerStack@% Attack Damage.

(Current Bonus: @TFTUnitProperty.:TFT13_TristanaASGain@% %i:scaleAD%)
ASSETS/Characters/TFT13_Tristana/HUD/Icons2D/TFT13_Tristana_Passive.TFT_Set13.tex Draw a Bead PercentAttackDamage, APDamage , ASKillGain , ASKillGainHyperroll, 5.25 , 5.25 , 5.25 , 5.25 , 5.25 , 5.25 , 5.25 , 0 , 50 , 75 , 115 , 155 , 0 , 0 , 1.25 , 1.25 , 1.25 , 1.25 , 1.25 , 1.25 , 1.25 , 2.5 , 2.5 , 2.5 , 2.5 , 2.5 , 2.5 , 2.5 20 0.75 0.25 1.4 42 550 20 20 60 4 Non-Arcane Champion
TFT13_Swain TFT13_Swain 3 ASSETS/Characters/TFT13_Swain/Skins/Base/Images/TFT13_Swain.TFT_Set13.tex Swain ASSETS/Characters/TFT13_Swain/Skins/Base/Images/TFT13_Swain_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Swain/HUD/TFT13_Swain_Square.TFT_Set13.tex Conqueror , Form Swapper, Sorcerer Heal @ModifiedHeal@ (%i:scaleAP%) and ascend for @Duration@ seconds. While ascended, heal @ModifiedHealPerSecond@ (%i:scaleAP%) and deal @ModifiedDamage@ (%i:scaleAP%) magic damage to adjacent enemies every second. On takedown, the ascension’s duration is extended by @BonusDuration@ seconds. ASSETS/Characters/TFT13_Swain/HUD/Swain_Melee.TFT_Set13.tex Demonic Ascension Heal , HealPerSecond , DamagePerSecond, Duration , BonusDuration , 0 , 240 , 300 , 380 , 460 , 0 , 0 , 0 , 70 , 90 , 125 , 130 , 0 , 0 , 0 , 40 , 60 , 95 , 130 , 0 , 0 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 2 , 2 , 2 , 2 , 2 , 2 , 2 0 0.50 0.25 1.4 50 650 0 NA 10 1 Non-Arcane Champion
TFT13_Urgot TFT13_Urgot 2 ASSETS/Characters/TFT13_Urgot/Skins/Base/Images/TFT13_Urgot.TFT_Set13.tex Urgot ASSETS/Characters/TFT13_Urgot/Skins/Base/Images/TFT13_Urgot_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Urgot/HUD/TFT13_Urgot_Square.TFT_Set13.tex Experiment , Pit Fighter, Artillerist Fire an explosive charge, dealing @ModifiedPrimaryDamage@ (%i:scaleAD%) physical damage to target and @ModifiedSecondaryDamage@ (%i:scaleAD%) physical damage to adjacent enemies. 20% Sunder all enemies hit for @Duration@ seconds.

Sunder: Reduce Armor

Experiment Bonus:<ShowIfNot.TFT13_ExperimentActive></ShowIfNot.TFT13_ExperimentActive><ShowIf.TFT13_ExperimentActive></ShowIf.TFT13_ExperimentActive> Dash to targets. On cast, gain @TFTUnitProperty.:TFT13_UrgotCurrentExperimentBonusShield@% max Health Shield and @TFTUnitProperty.:TFT13_UrgotCurrentExperimentBonusAS@% Attack Speed for @ExperimentDuration@ seconds.
ASSETS/Characters/TFT13_Urgot/HUD/Icons2D/TFT13_Urgot_Q.TFT_Set13.tex Corrosive Charge PrimaryDamage , SecondaryDamage , Duration , APDamage , ExperimentPercentHealthShield, ExperimentAttackSpeed , ExperimentDuration , 3 , 3 , 3 , 3.29999995231628 , 3.29999995231628 , 3 , 3 , 1.5 , 1.5 , 1.5 , 1.64999997615814 , 1.64999997615814 , 1.5 , 1.5 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 0 , 35 , 50 , 75 , 100 , 0 , 0 , 0.0799999982118607 , 0.0799999982118607 , 0.0799999982118607 , 0.0799999982118607 , 0.0799999982118607 , 0.0799999982118607 , 0.0799999982118607 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 5 , 5 , 5 , 5 , 5 , 5 , 5 45 0.70 0.25 1.4 50 700 20 45 70 2 Non-Arcane Champion
TFT13_Zoe TFT13_Zoe 4 ASSETS/Characters/TFT13_Zoe/Skins/Base/Images/TFT13_Zoe.TFT_Set13.tex Zoe ASSETS/Characters/TFT13_Zoe/Skins/Base/Images/TFT13_Zoe_Mobile.TFT_Set13.tex ASSETS/Characters/TFT13_Zoe/HUD/TFT13_Zoe_Square.TFT_Set13.tex Rebel , Sorcerer Launch a star at target that deals @ModifiedDamage@ (%i:scaleAP%) magic damage. It bounces to the farthest enemy within @HexLimiter@ hexes, then bounces back to the target. This effect repeats @NumRepeats@ times, hitting a different enemy each time. ASSETS/Characters/TFT13_Zoe/HUD/Icons2D/TFT13_Zoe_Q2.TFT_Set13.tex Paddle Star! Damage , NumRepeats, HexLimiter, 0 , 140 , 210 , 450 , 700 , 0 , 0 , 2 , 2 , 2 , 4 , 4 , 2 , 2 , 4 , 4 , 4 , 4 , 4 , 4 , 4 30 0.75 0.25 1.4 40 800 20 30 80 4 Non-Arcane Champion
TFT13_Viktor TFT13_Viktor 6 ASSETS/Characters/TFT13_Viktor/Skins/Base/Images/TFT13_Viktor.TFT_Set13_Evolved.tex Viktor ASSETS/Characters/TFT13_Viktor/Skins/Base/Images/TFT13_Viktor_Mobile.TFT_Set13_Evolved.tex ASSETS/Characters/TFT13_Viktor/HUD/TFT13_Viktor_Square.TFT_Set13_Evolved.tex Machine Herald Passive: Attacks are replaced with a Death Ray that deals @ModifiedDeathRayDamage@ (%i:scaleAP%) magic damage and @LaserTrueDamage@ true damage in a @LaserHexLength@-hex line. Enemies hit are 30% Sundered and Shredded for @ShredDuration@ seconds.

Active: Summon a chaos storm that engulfs the battlefield, knocking up ALL enemies into the air for @StunDuration@ seconds. At the end of the duration, slam them to the ground, dealing @ModifiedSpellDamage@ (%i:scaleAP%) plus @PercentMaxHealthDamage*100@% of their max Health as magic damage.

Sunder: Reduce Armor, Shred: Reduce Magic Resist
ASSETS/Characters/TFT13_Viktor/HUD/Icons2D/Viktor_Passive.TFT_Set13_Evolved.tex Chaos Storm LaserHexLength , LaserMagicDamage , LaserTrueDamage , ShredDuration , StunDuration , SpellDamage , PercentMaxHealthDamage, 2 , 2 , 2 , 2 , 2 , 2 , 2 , 40 , 70 , 175 , 2000 , 9001 , 20 , 20 , 0 , 35 , 90 , 1000 , 9001 , 0 , 0 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 2 , 2 , 3 , 30 , 30 , 2 , 2 , 150 , 120 , 300 , 9999 , 9999 , 100 , 100 , 0.100000001490116 , 0.0799999982118607 , 0.200000002980232 , 1 , 1 , 0.150000005960464 , 0.150000005960464 40 0.55 0.25 1.4 100 1600 0 40 100 4 Arcane Champion
TFT13_MissMage TFT13_MissMage 6 ASSETS/Characters/TFT13_MissMage/Skins/Base/Images/TFT13_MissMage.TFT_Set13_Evolved.tex Mel ASSETS/Characters/TFT13_MissMage/Skins/Base/Images/TFT13_MissMage_Mobile.TFT_Set13_Evolved.tex ASSETS/Characters/TFT13_MissMage/HUD/TFT13_MissMage_Square.TFT_Set13_Evolved.tex Banished Mage Dash to a nearby hex, then gain @ShieldAmount@ Shield and grant the same Shield to @ShieldCount@ nearby allies. @DRConvertToUnstableEnergy*100@% of the damage blocked by the Shields is stored as unstable energy. After dashing, deal @ModifiedDamage@ (%i:scaleAP%) magic damage to @NormalCastNumEnemies@ nearby enemies.

Every 3rd cast, unleash the unstable energy + @ModifiedSecondaryDamage@ (%i:scaleAP%) as magic damage split between the @ThirdCastNumEnemies@ nearest enemies.
ASSETS/Characters/TFT13_MissMage/HUD/Icons2D/TFT13_MissMage_Spell.TFT_Set13_Evolved.tex Conduit of Magic NormalCastDamage , NormalCastNumEnemies , NormalCastNumMissilesPerEnemy, AuraDuration , AuraDR , DRConvertToUnstableEnergy , SpecialCastDamage , ThirdCastNumEnemies , DashLogic_DashRange , DashLogic_LineWidth , DashLogic_DashSpeed , DashLogic_MaxDashTime , ShieldAmount , ShieldCount , 0 , 180 , 450 , 2700 , 0 , 0 , 0 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 10 , 10 , 10 , 10 , 10 , 10 , 10 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.200000002980232 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0 , 1390 , 3475 , 99999 , 0 , 0 , 0 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 9000 , 9000 , 9000 , 9000 , 9000 , 9000 , 9000 , 1600 , 1600 , 1600 , 1600 , 1600 , 1600 , 1600 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 0 , 300 , 600 , 10000 , 10000 , 0 , 0 , 2 , 2 , 2 , 2 , 2 , 2 , 2 60 0.80 0.25 1.4 80 1800 0 60 40 3 Arcane Champion
TFT13_Warwick TFT13_Warwick 6 ASSETS/Characters/TFT13_Warwick/Skins/Base/Images/TFT13_Warwick.TFT_Set13_Evolved.tex Warwick ASSETS/Characters/TFT13_Warwick/Skins/Base/Images/TFT13_Warwick_Mobile.TFT_Set13_Evolved.tex ASSETS/Characters/TFT13_Warwick/HUD/TFT13_Warwick_Square.TFT_Set13_Evolved.tex Experiment , Blood Hunter Passive: While Bloodfrenzied, move faster, gain @PercentOmnivamp@% (%i:scaleAP%) Omnivamp, @BloodfrenzyAS*100@% Attack Speed, and deal @ModifiedDamage@ (%i:scaleAD%%i:scaleAS%) physical damage each second to target. After killing @ChampsToDevourTooltipOnly@ enemies, become Unstoppable and Bloodfrenzied for the rest of combat.

Active: Become Bloodfrenzied for @BloodfrenzyDuration@ seconds.

Experiment Bonus:<ShowIfNot.TFT13_ExperimentActive></ShowIfNot.TFT13_ExperimentActive><ShowIf.TFT13_ExperimentActive></ShowIf.TFT13_ExperimentActive> On kill, Stun enemies adjacent to the dead target for @TFTUnitProperty.:TFT13_WarwickCurrentExperimentBonus@ second.
ASSETS/Characters/TFT13_Warwick/Skins/Base/Images/TFT13_Warwick_AbilityIcon.TFT_Set13_Evolved.tex Blood Hunt BaseOmnivamp , APOmnivamp , BloodfrenzyAS , BloodfrenzyDuration , DamagePercent , BaseDamage , ExperimentStunDuration , ChampsToDevourTooltipOnly, 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 0.100000001490116 , 1 , 0.100000001490116 , 0.150000005960464 , 1 , 1 , 1 , 1 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 0.400000005960465 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 2 , 3.75 , 25 , 50 , 3 , 3 , 0 , 180 , 300 , 1088 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 5 , 5 , 5 , 5 , 5 , 5 , 5 70 0.90 0.25 1.4 100 2100 60 70 100 1 Arcane Champion

Summary analysis was performed to see the breakdown of Champion costs and Arcane classification. The breakdown of champions solely by cost shows the overall summary data. We can see that the distribution of champions tends to favor low cost champions, while higher cost (i.e. more powerful) champions are sparser. There is a relatively small difference between distribution of 1-4 cost champions, with a sharper decline for 5 and especially 6 cost champions. When viewing this same breakdown, but separating the data by Arcane vs non-Arcane champion, we can see that the distribution is not the same. For Arcane champions, most champions are in the 1 and 4 cost categories. There is also a far less stark difference between 3-6 cost champions. It is clear that the Arcane category has a proportionately lower number of 2 cost champions when compared to the overall data. Looking at the non-Arcane category, we can see that the 2 cost champion category is highest. Mathematically, this of course makes sense as Arcane champions had a proportionately lower number of 2 costs, which by default means the non-Arcane champions must have a proportionately higher number of 2 cost. We can still observe the steep drop-off of champions distributed to higher cost champions in the non-Arcane category.

champions_df_summarize <- champions_df %>% group_by(cost) %>% summarize(count = n()) 
champions_df_summarize_arcane <- champions_df %>% group_by(arcane_champion) %>% summarize(count = n()) 
champions_df$arcane_champion <- as.factor(champions_df$arcane_champion)
champions_df$cost <- as.factor(champions_df$cost)
champions_df_summarize_cost_arcane <- champions_df %>% group_by(cost,arcane_champion) %>% summarize(count = n()) 
## `summarise()` has grouped output by 'cost'. You can override using the
## `.groups` argument.
champions_df_summarize %>% 
  ggplot(aes(x = cost, y = count, fill = cost)) + geom_bar(stat= "identity") +
  scale_fill_manual(values = Champion_Cost) +
  scale_y_continuous(breaks = breaks_pretty()) +
  guides(fill = "none") + 
  theme_minimal() + 
  labs(title = "Total Champions by Cost", y = "Count", x = "Champion Cost")

champions_df_summarize_cost_arcane %>% 
  ggplot(aes(x = cost, y = count, fill = cost)) + geom_bar(stat= "identity") +
  scale_fill_manual(values = Champion_Cost) +
  scale_y_continuous(breaks = breaks_pretty()) +
  guides(fill = "none") + 
  theme_minimal() + 
  labs(title = "Cost Breakdown of Arcane vs Non-Arcane Champions", y = "Count", x = "Cost") +
  facet_wrap(~ arcane_champion)

Now looking at the Arcane breakdown, we can see that Arcane champions account for about 1/3 of the total champion count. Then, looking at the champion breakdown per cost, we can see the ratio of Arcane champions to non-Arcane champions is much higher in the higher cost tiers.

champions_df_summarize_arcane %>% 
  ggplot(aes(x = arcane_champion, y = count, fill = arcane_champion)) + geom_bar(stat= "identity") +
  scale_fill_manual(values = arcane_champion_colors) +
  scale_y_continuous(breaks = breaks_pretty()) +
  guides(fill = "none") + 
  theme_minimal() + 
  labs(title = "Number of TFT Set 13 Champions Who Appeared in Arcane", y = "Count", x = "Arcane Champions")

champions_df_summarize_cost_arcane %>% 
  ggplot(aes(x = arcane_champion, y = count, fill = arcane_champion)) + geom_bar(stat= "identity") +
  scale_fill_manual(values = arcane_champion_colors) +
  scale_y_continuous(breaks = breaks_pretty()) +
  guides(fill = "none") + 
  theme_minimal() + 
  labs(title = "Number of Arcane Champions by Champion Cost", y = "Count") +
  facet_wrap(~ cost)

Top Team Compositions

Top team compositions are community compiled on various websites such as mobalytics.gg. To retrieve this data, I wrote a web scraper in Python. Each team composition was stored within a specified html tag. From there, different composition attributes can be parsed, such as composition name, composition type, composition tier, and the champions that are in the composition. In TFT, final team comps tend to have 8-9 champions. These champions were stored in a single column as a list.

import re
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys   
import requests
import pandas as pd
import numpy as np
import time

def get_selenium():                           
    options = webdriver.ChromeOptions()                      
    driver = webdriver.Chrome(options=options)
    return (driver)

driver = get_selenium()

time.sleep(1)

full_url = "https://mobalytics.gg/tft/team-comps"
driver.get(full_url)

scroll_pause_time = 2 # Pause between each scroll
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
# Scroll down
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(scroll_pause_time)

    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height

soup = BeautifulSoup(driver.page_source, "html.parser")

index = 0

allData = soup.find_all("div", {"class" : "m-1hi5yi4"})

row = []
champ_list = []
data = []

for i in allData:
    comp_name = i.find("a", {"class" : "m-tyi664"})
    row.append(comp_name.get_text())
    comp_patch = i.find("div", {"class" : "m-ttncf1"})
    row.append(comp_patch.get_text())
    comp_type = comp_patch.next_sibling
    row.append(comp_type.get_text())
    comp_rating = i.find("img", {"class" : "m-jmopu0"})
    row.append(comp_rating.attrs["alt"])
    champions = i.find_all("div", {"class" : "m-1lpv2x1"})
    for j in champions:
        champ = j.get_text()
        champ_list.append(champ)
    row.append(champ_list)
    data.append(row)
    row = []
    champ_list = []


df = pd.DataFrame(data)

filename = "top_comps.csv"
df.to_csv(filename,sep =';',index=False)

driver.quit()

Data is then imported into RStudio from the CSV file created with the above code. Individual champions must be separated out from the champion list. Since the imported data does not treat the list of champions as a true list, I can just use regex to remove the square brackets from the data dn then split the champions with str_split based on the comma and whitespace. I can use the unnest_wider to unnest the resulting list and then pivot_longer to transform each of the columns to its own row. I can then extract only character, ampersand, and space values, then remove rows where champion is NA. Finally, I remove the “name” column which contained the old column names. Since champion order is not important for this analysis, the name column (i.e. “champion_1”) gives no relevant information.

top_comps <- read.csv("https://raw.githubusercontent.com/koonkimb/Data607/refs/heads/main/Final%20Project/top_comps.csv", header = TRUE, sep = ";")

champion_columns = c("Champions_1","Champions_2","Champions_3","Champions_4","Champions_5","Champions_6","Champions_7","Champions_8","Champions_9")

top_comps <- top_comps %>% 
  rename("Name" = X0 , "Patch" = X1, "Type" = X2, "Tier" = X3,  "Champions" = X4) %>%
  mutate(Champions = str_replace_all(Champions, "^\\[|\\]$", ""), # Remove square brackets
              Champions = str_split(Champions, ",\\s*")) %>%
  unnest_wider(Champions, names_sep = "_") %>%
  pivot_longer(cols = champion_columns, values_to = "Champion") %>%
  mutate(Champion = str_extract(Champion,"([a-zA-Z]|\\&|\\s)+")) %>%
  filter(!is.na(Champion))%>%
  select(-name)
## Warning: Using an external vector in selections was deprecated in tidyselect 1.1.0.
## ℹ Please use `all_of()` or `any_of()` instead.
##   # Was:
##   data %>% select(champion_columns)
## 
##   # Now:
##   data %>% select(all_of(champion_columns))
## 
## See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

For the data analysis, champion count within all top compositions was determined. I also joined this data with the champion data from above, to include whether a champion is considered an Arcane or non-Arcane champion. We can see from the analysis that it does not appear Arcane champions are dominating top team compositions, and the overall breakdown of Arcane vs non-Arcane champions in these compositions is roughly the same as the overall distribution of Arcane vs non-Arcane champions.

top_comps_summarize <- top_comps %>% group_by(Champion) %>% summarize(count = n())
top_comps_summarize <- inner_join(top_comps_summarize,champions_df, join_by(Champion==name)) %>% select(Champion, count, arcane_champion)

top_comps_summarize_by_arcane <- top_comps_summarize %>% group_by(arcane_champion) %>% summarize(sum = sum(count))

top_comps_summarize_by_arcane %>% 
  ggplot(aes(x = arcane_champion, y = sum, fill = arcane_champion)) + geom_bar(stat= "identity") +
  scale_fill_manual(values = arcane_champion_colors) +
  guides(fill = "none") + 
  theme_minimal() + 
  labs(title = "Breakdown of Arcane vs non-Arcane Champions in Top Team Compositions", y = "Count")

Conclusion

With the popularity of Arcane, I would expect Arcane champions to be highly present in top team compositions. From the champion data analysis, it does appear that the game developers are pushing Arcane champions given their prevalence in the higher cost tiers. Furthermore, a popular strategy for TFT is 1-cost rerolls, which explains the high distribution of Arcane champions in the 1-cost tier as well. However, when looking at top compositions (i.e. the compositions that actually perform well in-game), we can see that Arcane champions are only proportionately represented in the data.

One important consideration in this analysis with the Mobalytics data is that the “6 cost champions” - a category completely comprised of Arcane champions - has not been released yet. As such, the Mobalytics top team comps cannot include this category of data. These champions are set to be released on December 11, 2024. Data can be scraped again after the set is released, and the same analysis can be performed for future steps.