CE QUE FONT VRAIMENT TES RUNES & OBJETS.
simulateur de dégâts par champion — open source
>MÉTHODE<
DONNÉES

D'où viennent les chiffres — 3 sources, toutes à jour au patch

  • Wiki officiel League of Legends (wiki.leagueoflegends.com, API publique) — stats de base de chaque champion, sorts rendus par le wiki lui-même (valeurs par rang et par niveau, ratios), descriptions des passifs et stats des objets. Dernier changement de champion noté : patch 26.20.
  • Community Dragon — les fichiers du jeu convertis en JSON, au patch près : formules exactes des sorts, cooldowns, contrôles, runes, effets d'objets et passifs saisis par référence.
  • Data Dragon (Riot) — liste des champions, objets disponibles en classé, prix, recettes et images officielles.

Le pipeline est branché : deno task data récupère tout le roster et génère data/generated/. Roster actuel : 173 champions, 202 objets et 17 runes (patch 16.20.1, généré le 2026-10-13).

Double vérification. Les nombres des sorts viennent des fichiers du jeu quand leur formule concorde avec le wiki à ×/÷ 1,3 près : 421 sorts de dégâts, 33 boucliers et 21 soins. Les autres gardent la valeur du wiki : 31 en % des PV (le sens du pourcentage n'est pas dans la formule du jeu), 81 sans calcul exploitable dans le jeu et 19 dont le calcul du jeu ne correspond à aucune ligne du wiki.

Passifs — les 173 champions ont un statut. 29 modélisés (dégâts à chaque coup, tous les N coups ou sur l'auto qui suit un sort) : Akshan, Ambessa, Caitlyn, Corki, Darius, Diana, Fiora, Gwen, Ivern, Jax, Jhin, Kai'Sa, Locke, Lucian, Lux, Master Yi, Mel, Mordekaiser, Orianna, Rell, Riven, Senna, Sylas, Tahm Kench, Taric, Vayne, Warwick, Xin Zhao, Zoe. Valeurs des fichiers du jeu quand le passif est saisi dans data/mechanics.ts, sinon lues sur le wiki — les deux concordent là où elles se recoupent (testé). 68 conditionnels (PV bas, cible isolée ou marquée, une fois par cible, recharge réduite par les coups…) : non joués, pour ne rien inventer. 76 sans dégâts (vitesse, furtivité, ressource, soin…). Runes : 14 keystones sur 17 ont un effet dans le duel.

Pourquoi chaque passif conditionnel n'est pas joué
  • Aatrox — Innate: Periodically, Aatrox empowers his next basic attack to gain 50 bonus range and deal bonus magic damage equal to 4%–10% of the target's maximum health, capped at 100–320 against monsters.
  • Akali — Swinging Kama: Akali's next basic attack is empowered to have an uncancellable windup, gain doubled range and deal 35–182 (+ 60% bonus AD) (+ 55% AP) bonus magic damage.
  • Alistar — Triumphant Roar can occur only once every few seconds, though Alistar may still generate stacks before then.
  • Amumu — Cursed targets receive 10% bonus true damage from all incoming pre-mitigation magic damage.
  • Ashe — Innate: Ashe's basic attacks deal bonus physical damage equal to 0%–100% (+ 0%–30%) (based on critical strike chance) of the attack's damage.
  • Aurora — The third stack against a target consumes them all to deal bonus magic damage equal to 1% (+ 2.7% per 100 AP) of the target's maximum health.
  • Azir — The Sun Disc functions the same as a standard inner turret but deals magic damage, gains 40% AP bonus attack damage, and grants its kill credit to Azir.
  • Bard — While he has Meeps, his basic attacks are empowered to each consume a Meep on-attack to deal 30 (+ 6 per 5 Chimes collected) (+ 40% AP) bonus magic damage.
  • Brand — Ablaze: While afflicted with Ablaze, the target is dealt magic damage equal to 2% of their maximum health over 4 seconds. 0.167% of their maximum health every 0.25 seconds over 4 seconds. Each stack of Ablaze deals damage to the target individually and applies their damage ticks dependent on the time they were applied, even if the duration of all the stacks are refreshed.
  • Braum — This effect cannot apply to the same target more than once every few seconds.
  • Briar — The bleed deals 10–50 (+ 50% bonus AD) total physical damage and heals Briar for 2.5–12.5 (+ 12.5% bonus AD) over the duration, increased by 2.5–12.5 (+ 12.5% bonus AD) and 0.63–3.13 (+ 3.125% bonus AD) for each subsequent stack respectively and up to a maximum of 20–100 (+ 100% bonus AD) total physical damage and 5–25 (+ 25% bonus AD) over the duration. 1–5 (+ 5% bonus AD) physical damage and heals Briar for 0.25–1.25 (+ 1.25% bonus AD) every 0.5 seconds, increased by 0.25–1.25 (+ 1.25% bonus AD) and 0.06–0.31 (+ 0.3125% bonus AD) for each subsequent stack respectively and up to a maximum of 2–10 (+ 10% bonus AD) physical damage and 0.5–2.5 (+ 2.5% bonus AD) per tick. If a target dies while bleeding, she will heal herself equal to 125% of the remaining bleed damage.
  • Camille — Innate: Periodically, Camille's next basic attack on-hit against an enemy champion grants her a shield equal to 10%–20% of her maximum health, lasting for 2 seconds and absorbing damage from either exclusively physical damage or magic damage, based on which type the target has previously dealt most of against champions as well as on Camille's current armor and magic resistance.
  • Ekko — Resonance cannot affect the same target more than once every few seconds.
  • Elise — Innate - Spider Form: Elise's basic attacks deal 14–44 Spider Form's Rank) (+ 15% AP) bonus magic damage and heal her for 6–12 Spider Form's Rank) (+ 8% AP) on-hit.
  • Galio — Innate: Periodically, Galio's next basic attack is empowered to have an uncancellable windup, gain 40% bonus attack speed and deal 15–115 (+ 100% AD) (+ 40% AP) (+ 60% bonus magic resistance) modified magic damage to the target and all enemies near them.
  • Gangplank — Innate: Periodically, Gangplank empowers his next basic attack to set the target on fire, dealing them 50–250 (+ 100% bonus AD) bonus true damage over 2.5 seconds. 5–25 (+ 10% bonus AD) bonus true damage every 0.25 seconds over 2.5 seconds. Turrets are dealt 50% damage.
  • Graves — Innate - 12-Gauge: Graves' basic attack sprays 4 pellets in a cone, each colliding with the first enemy unit in their path, dealing 70%–100.01% AD physical damage plus 23.31%–33.3% AD additional physical damage about one-third of the damage for each subsequent pellet hitting the same target, up to 139.93%–199.92% AD total physical damage against a single target.
  • Hwei — Subsequent damaging abilities against marked targets consume the mark to create an explosion beneath them, dealing 40–285 (+ 35% AP) bonus magic damage to enemies in the area after a 0.85-second delay.
  • Illaoi — Tentacles are commanded to attack by Illaoi's abilities, dealing 9–180 (+ 110% AD) (+ 40% AP) physical damage to all enemies struck, increased by 0%–30% Tentacle Smash's rank).
  • Irelia — At maximum stacks, Irelia's basic attacks are empowered to deal 10–61 (+ 20% bonus AD) bonus magic damage on-hit.
  • Janna — Janna's basic attacks on-hit and Zephyr deal bonus magic damage equal to 30% of her bonus movement speed.
  • Jarvan IV — This effect cannot occur on the same target more than once every few seconds.
  • K'Sante — His basic attacks against marked enemies are empowered to consume the mark, dealing 12 (+ 1%–2% of target's maximum health) bonus physical damage.
  • Kassadin — Innate: Kassadin is permanently ghosted and takes 10% reduced magic damage.
  • Katarina — Innate - Sinister Steel: Whenever Katarina retrieves a Dagger, she slashes around herself to deal 68–240 (+ 60% bonus AD) (+ 70%–100% AP) magic damage to nearby enemies, apply on-hit effects to enemy champions hit, and reduce Shunpo's current cooldown by 78%–96% of its total cooldown.
  • Kayle — While Kayle is Exalted, her basic attacks on-attack also launch a wave of fire forward that deals 20–41 (+ 10% bonus AD) (+ 25% AP) magic damage to all enemies it passes through.
  • Kayn — Shadow Assassin Bonus: Upon entering combat with enemy champions, Kayn becomes empowered for 3 seconds to deal 20%–40% of post-mitigation physical and magic damage dealt against enemy champions as bonus magic damage.
  • Kha'Zix — Unseen Threat: Kha'Zix empowers his next basic attack against an enemy champion to deal 22–141 (+ 50% bonus AD) bonus magic damage and slow them by 25% for 2 seconds.
  • Kog'Maw — At the end of the duration, he explodes to deal 140–650 true damage to nearby enemies.
  • Leona — Allied champions' damaging attacks and abilities against a marked target will consume the mark to deal 32–151 bonus magic damage.
  • Lillia — Innate: Lillia's abilities apply Dream Dust to enemies hit, which deals 5% (+ 1.25% per 100 AP) of the target's maximum health total magic damage over 3 seconds, capped at 70–180 against monsters. 0.83% (+ 0.2083% per 100 AP) of the target's maximum health magic damage every 0.5 seconds over 3 seconds, capped at 11.67–30 per tick against monsters.
  • Lissandra — They will chase nearby visible enemies for 4 seconds, prioritizing champions, after which they shatter to deal 120–520 (+ 50% AP) magic damage to nearby enemies.
  • Lulu — Each bolt deals 5–39 (+ 5% AP) magic damage to the first enemy it collides with, for a total of 15–117 (+ 15% AP) on hitting a single target with all three bolts.
  • Milio — Innate: Milio's ability hits on himself and allied champions grant an enchantment for 4 seconds, which causes the next basic attack or ability hit against enemies to deal 7%–15% of enchanted target's AD bonus magic damage and apply a burn that deals 10–50 (+ 20% of Milio's AP) magic damage 1.67–8.33 (+ 3.33% of Milio's AP) magic damage every 0.25 seconds over 1.5 seconds.
  • Miss Fortune — If the enemy was unmarked, this also deals 50%–100% AD bonus physical damage, halved to 25%–50% AD against minions.
  • Nautilus — This effect cannot occur on the same target more than once every few seconds.
  • Nocturne — Innate: Periodically, Nocturne empowers his next basic attack to slash in a circle, dealing 120% AD physical damage to the target and nearby enemies and healing himself for 13–30 (+ 30% AP) per enemy hit.
  • Nunu & Willump — Willump's basic attacks additionally deal 30% AD physical damage to secondary targets in a cone in front of him.
  • Ornn — Ornn's and allies' immobilizing effects or silences against Brittle enemies will consume the debuff to deal bonus magic damage equal to 9%–17% of the target's maximum health, capped at 200–500 Bellows Breath's rank) against monsters, and cause the crowd control to last 30% longer (if applicable).
  • Poppy — Innate: Periodically, Poppy's next basic attack on-attack is empowered to throw her buckler, gaining 350 bonus range and dealing 20–180 bonus magic damage.
  • Qiyana — This effect cannot occur on the same target more than once every few seconds.
  • Quinn — Quinn's basic attacks on-hit against Harrier targets are empowered to consume the mark to deal 15–120 (+ 40% bonus AD) bonus physical damage.
  • Renata Glasc — If the enemy was unmarked, the attack also deals bonus magic damage equal to 1%–2% (+ 2% per 100 AP) of the target's maximum health.
  • Rumble — During this time, he gains 30%–100% bonus attack speed and empowers his basic attacks to deal 5–40 (+ 25% AP) (+ 4% of the target's maximum health) bonus magic damage on-hit.
  • Samira — The empowered attack resets Samira's basic attack timer, is affected by critical strike modifiers, applies on-hit effects only once, and cannot occur on the same target more than once every few seconds.
  • Sejuani — Sejuani's next basic attack or ability against a Frozen enemy will consume the mark to deal bonus magic damage equal to 10% of their maximum health, capped at 250 against epic monsters.
  • Seraphine — While any amount of Notes are active, Seraphine's next basic attack is empowered to have an uncancellable windup, gain 25 bonus attack range per Note, and fire all Notes at the target, with each one dealing 4–25 (+ 4% AP) magic damage, reduced by 75% for Notes from allies.
  • Sett — Sett's Right Punch is empowered to gain 50 bonus range (unless Knuckle Down is active), attack at 8 times the Left Punch's attack speed, and deal 5–90 (+ 55% bonus AD) bonus physical damage.
  • Shaco — Innate: Shaco's basic attacks are empowered to deal 20–30 (+ 20% bonus AD) bonus physical damage when hitting an enemy from behind.
  • Singed — This effect cannot occur on the same target more than once every few seconds.
  • Sion — Sion can only move and use his basic attacks and item actives, and empowers himself with the following effects: 1.75 attack speed minimum and maximum 100% life steal Basic attacks deal bonus physical damage on-hit equal to 10% of the target's maximum health, capped at 75 against non-champions Ghosting One cast of Death Surge, which replaces all of his abilities
  • Skarner — Enemies afflicted with 3 stacks take magic damage equal to 5%–9% of their maximum health over the duration, capped at 100–300 against monsters. 0.63%–1.13% of their maximum health every 0.5 seconds over the duration, capped at 12.5–37.5 per tick against monsters.
  • Smolder — Super Scorcher Breath: Deals bonus magic damage equal to 25%–60% (+ 0%–10.5%) (based on critical strike chance) of Dragon Practice stacks.
  • Sona — At 3 stacks, her next basic attack is empowered to consume them all to have an uncancellable windup, deal 20–240 (+ 20% AP) bonus magic damage, and apply an additional effect based on the last basic ability she cast: Hymn of Valor - Staccato: Bonus damage is modified to 30–360 (+ 30% AP).
  • Syndra — This cannot occur on the same target more than once every few seconds.
  • Talon — Talon's next basic attack on-hit against an enemy with 3 Wound stacks is empowered to consume them all to cause the target to bleed, dealing 80–280 (+ 210% bonus AD) total physical damage 5–17.5 (+ 13.125% bonus AD) physical damage every 0.125 seconds over 2 seconds.
  • Twitch — Deadly Venom: For each stack, the target is dealt 1–5 (+ 3% AP) true damage per second over the duration, 6–30 (+ 18% AP) total true damage over the duration, for a maximum of 6–30 (+ 18% AP) true damage with each tick. 36–180 (+ 108% AP) total true damage over the duration. This effect is considered a poison.
  • Urgot — Urgot's next basic attack on-hit within the arc of a shotgun will cause it to fire in a cone, dealing 40%–100% AD (+ 2%–6% of target's maximum health) physical damage to enemies hit, capped at 100–360 against monsters.
  • Vel'Koz — The third stack consumes them all to deal 35–180 (+ 60% AP) bonus true damage.
  • Vex — Gloom's detonation deals 40–150 (+ 25% AP) bonus magic damage and refunds 25% of Doom's cooldown.
  • Volibear — Lightning Claws: Volibear's claws ignite with lightning, empowering his basic attacks on-hit to deal 11–60 (+ 20% bonus AD) (+ 45% AP) bonus magic damage to the target and the nearest visible enemy within 450 units of the target, chaining up to 4 subsequent targets.
  • Xayah — Xayah's basic attacks are empowered to each consume a stack on-attack to instead shoot a Feather that deals the triggering attack's damage to the primary target and 35%–55% AD physical damage to other enemies hit.
  • Yasuo — Yasuo's critical strikes deal only (190% + 28.5%) AD physical damage. 95% of the critical damage champions usually have.
  • Yone — Yone begins attacking with Steel Sword, and basic attacks with Azakana Sword deal 50% AD physical damage and 50% AD magic damage.
  • Yunara — Innate: Yunara's critical strikes deal 10% (+ 10% per 100 AP) bonus magic damage.
  • Zed — Contempt for the Weak cannot occur on the same champion more than once every few seconds.
  • Zeri — Basic Attack: Zeri zaps the target, dealing 10–25 (+ 3% AP) magic damage, applying spell effects as spell damage, triggering on-cast effects and executing the target if they are below 70–160 (+ 20% AP) health.
  • Ziggs — Innate: Periodically, Ziggs empowers his next basic attack to deal 20–160 (+ 50% AP) bonus magic damage, increased by 75% against structures. increased to 35–280 (+ 87.5% AP) against structures.

Textes des passifs cités depuis le wiki League of Legends (CC BY-SA).

ARCHITECTURE

Data-driven, donc contribuable

Le moteur (lib/engine.ts) ne contient aucune donnée : il reçoit un champion et un contexte, il renvoie des dégâts. Les champions, objets et runes vivent dans data/ sous forme d'objets typés.

Les données brutes sont générées (data/generated/) ; on ne les édite pas à la main. Affiner un champion = ajuster data/overrides.ts (étagère d'objets, rune, ordre de compétences, correction de ratio) puis relancer deno task data. Les interactions vraiment complexes (passifs d'objets, effets de runes) se modélisent au cas par cas dans le moteur. Guide : docs/adding-a-champion.md.

SOBRIÉTÉ

Pourquoi c'est léger

Choix alignés sur l'éco-conception (esprit RGESN / loi REEN) :

  • Îlots Fresh — le serveur rend du HTML, seul le calculateur est hydraté. La plupart des pages n'envoient aucun JavaScript.
  • Données statiques par patch — immuables entre deux patchs, donc cachables agressivement. Aucun backend qui agrège des millions de parties en direct.
  • Esthétique 100% CSS — cadres, grille, dithering et scanlines sans une seule image lourde.
  • Calcul côté client — quelques formules, pas de serveur sollicité à chaque réglage de slider.
LÉGAL

CHAMP LAB n'est ni approuvé par Riot Games ni affilié à Riot Games. League of Legends et Riot Games sont des marques ou marques déposées de Riot Games, Inc. Tout usage de l'API Riot est soumis aux Developer Policies de Riot.