meraki-analytics / lolstaticdata Goto Github PK
View Code? Open in Web Editor NEWAccurate League of Legends static data for champions and items
License: MIT License
Accurate League of Legends static data for champions and items
License: MIT License
In items.json, the passives[index].stats.movespeed
stat is set to just 0.0
for all items, as opposed to being an object with various properties for how the stat may be calculated. In cases like Zeal 3086
, which has a passive movespeed bonus, the bonus cannot be read from the item.
"manaRegen": { "flat": 0.0, "percent": 0.0, "perLevel": 0.0, "percentPerLevel": 0.0, "percentBase": 0.0, "percentBonus": 0.0 }, "movespeed": 0.0, "abilityHaste": { "flat": 0.0, "percent": 0.0, "perLevel": 0.0, "percentPerLevel": 0.0, "percentBase": 0.0, "percentBonus": 0.0 },
Ornn Items are not included in the Item data from DDragon, but do exist in the game. But, since the Item data is not included in DDragon, we're missing item images eg. Sandshrike's Claw, ID=7000. The Ornn Item ID's are between 7000 - 7022 (inclusive). Looking at the CDragon data as well, fields like requiredAlly
should be set to Ornn
, active
should be set to true
, and store
should be set to false
. This means that the some fields are incorrect and other fields like icon
in the Item
model would be unpopulated. These items are edge cases, but I think these should be added in the item set.
The general steps I would do is:
{7000: "Sandshrike's Claw",...}
. CDragon Ornn item names follow %i:ornnIcon% <item_name>
. So if the name matches this expression, we know it's an Ornn item.Should these items be accounted for, and if so, what could we do about missing fields like icon
and simpleDescription
?
I'm wondering about the way Critical Strike Chance, Lifesteal, and Omnivamp are classified in item stats.
Each of these stats is displayed as a percentage in game. However, for the purposes of stat calculation, they behave more like flat bonuses; that is to say, they stack additively. This is in contrast to a stat like Armor Penetration which is both displayed as a percentage and stacks multiplicatively (and is also stored as a percent in the meraki data).
While the effects of these stats are indeed applied as percentages (e.g. 20% chance to critically strike or lifesteal healing for 8% of inflicted damage), the values are handled more like flat bonuses. Currently, meraki stores each of these three stats as percent values, but I think it would be more accurate to store them as flat values. To me, the difference between the way the stats stack seems more pertinent than the format in which they are displayed.
"6692": { // Eclipse
"stats": {
"omnivamp": {
"flat": 0.0,
"percent": 7.0,
"perLevel": 0.0,
"percentPerLevel": 0.0,
"percentBase": 0.0,
"percentBonus": 0.0
},
},
}
Obviously this would be a major change, so I wanted to ask some opinions on it.
The hosted JSON at http://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/items and http://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/items.json has inconsistent use of underscores and camelCase in keys.
E.g. Some items use "attackDamage" while others use "attack_damage".
This was acknowledged in the code in Issue #29, but was actually resolved from what I can tell. However, the served JSON still has those inconsistencies.
I used a Python script to standardize this for the combined items JSON.
Script: https://1drv.ms/u/s!Ak6LaqWhKRfWhKJlkXwLAB4XtlREYg?e=I1KZKA
New JSON: https://1drv.ms/u/s!Ak6LaqWhKRfWhKJnw9VEN0oabXqIDA?e=6Ym7Iv
Hwei and Smolder are missing from the folder at https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions/
but they exist on champions.json
.
The new item Heartsteel 3084
is missing its mythic passive. It should have: passives[1].stats.health.percent: 1.0
.
In champions.json it seems like some chroma entries are just null.
Example:
Looking at Lunar Beast Annie, there are 7 entries inside "chromas" which match the amount of chromas that Lunar Beast Annie has, however each entry is just null.
13 | |
---|---|
name | "Lunar Beast" |
id | 1013 |
isBase | false |
availability | "Legacy" |
formatName | "Lunar Beast" |
lootEligible | true |
cost | 1350 |
sale | 0 |
distribution | null |
rarity | "Epic" |
chromas | |
0 | null |
1 | null |
2 | null |
3 | null |
4 | null |
5 | null |
6 | null |
For other skins like Resistance Yorick only 1 chroma (number 3) is null, and the rest are fine.
Full list of null chroma entries:
Found a nulled out chroma for: Lunar Beast Annie
Found a nulled out chroma for: Lunar Beast Annie
Found a nulled out chroma for: Lunar Beast Annie
Found a nulled out chroma for: Lunar Beast Annie
Found a nulled out chroma for: Lunar Beast Annie
Found a nulled out chroma for: Lunar Beast Annie
Found a nulled out chroma for: Pool Party Braum
Found a nulled out chroma for: Star Guardian Ekko
Found a nulled out chroma for: Bewitching Elise
Found a nulled out chroma for: Pulsefire Ezreal
Found a nulled out chroma for: Pulsefire Ezreal
Found a nulled out chroma for: Pulsefire Ezreal
Found a nulled out chroma for: Cafe Cuties Gwen
Found a nulled out chroma for: Cafe Cuties Gwen
Found a nulled out chroma for: Warring Kingdoms Jarvan IV
Found a nulled out chroma for: Dark Star Jarvan IV
Found a nulled out chroma for: Worlds 2018 Kha'Zix
Found a nulled out chroma for: Worlds 2018 Kha'Zix
Found a nulled out chroma for: Worlds 2018 Kha'Zix
Found a nulled out chroma for: Worlds 2018 Kha'Zix
Found a nulled out chroma for: High Noon Lucian
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Elementalist Lux
Found a nulled out chroma for: Porcelain Lux
Found a nulled out chroma for: Beezahar Malzahar
Found a nulled out chroma for: Gun Goddess Miss Fortune
Found a nulled out chroma for: Gun Goddess Miss Fortune
Found a nulled out chroma for: Gun Goddess Miss Fortune
Found a nulled out chroma for: High Noon Mordekaiser
Found a nulled out chroma for: AstroNautilus Nautilus
Found a nulled out chroma for: La Ilusión Nidalee
Found a nulled out chroma for: Dark Star Orianna
Found a nulled out chroma for: Worlds 2014 Shyvana
Found a nulled out chroma for: DJ Sona
Found a nulled out chroma for: DJ Sona
Found a nulled out chroma for: Dark Star Thresh
Found a nulled out chroma for: Spirit Guard Udyr
Found a nulled out chroma for: Spirit Guard Udyr
Found a nulled out chroma for: Spirit Guard Udyr
Found a nulled out chroma for: Spirit Guard Udyr
Found a nulled out chroma for: Resistance Yorick
"releasePatch": "lpha Week 2", -> "releasePatch": "Alpha Week 2",
on Annie (and other presumably)
Echoes of Helia with ID 6620 is missing in the individual items JSON.
https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/items/6620.json
Is this what the existing rank
property is meant for? Currently, it appears to be empty in every case.
Classification would be one of the following (see here):
Starter
Consumable // Potions, elixirs, and control wards
Trinket
Boots
Basic
Epic
Legendary
Mythic
Masterwork
// Possibly include
Champion Exclusive // e.g. Black Spear
Minion and Turret
Distributed // e.g. Commencing Stopwatch
Item classifications could be pulled from the individual item pages (screenshot) or the List of items page.
I'm not sure that I'm creating this issue report in the correct place, because the issue is with a file in the Meraki Analytics CDN, but the json file at https://cdn.merakianalytics.com/riot/lol/resources/patches.json is missing patch 12.20.
I am an aspiring developer who wants to develop using http://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json
When I try to receive data from javascript through ajax, I get a CORS error. Is the only way to fork git and then install Python to save the data?
thank you
Kled Mounted Q, W, E, R missing.
Also, heimer has 5 cooldown fields for R.
Hey, I noticed that some spells like nilah Q have no range, I believe it's the same for all spells without targetting, this data is available on ddragon and community dragon, perhaps it could be added here? Ally and Enemy tips from ddragon could also be great!
I've done a randomization 'pick your skin' type application, however some of the loadingScreen and vintageLoadingScreen URLs have some text preventing the image from being displayed.
One example is Nami's Coven Skin:
https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions/Nami.json
The art links contain:
loadingScreen: 'https://raw.communitydragon.org/pbe/plugins/rcp-be-lol-game-data/global/default/assets/characters/nami/skins/skin51/namiloadscreen_51.pie_c_13_20.jpg',
vintageLoadingScreen: 'https://raw.communitydragon.org/pbe/plugins/rcp-be-lol-game-data/global/default/assets/characters/nami/skins/skin51/namiloadscreen_51_le.pie_c_13_20.jpg'
However, the loading screen images do not work because of the .pie_c_13_20
string attached to the end of the name, before the file extension. If I remove the string, the links will work correctly.
loadingScreen (string removed)
The individual champion json's it seems to be where the links start to break. The .pie_c_13_20
string isn't on the champions.json (https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions.json) for the Coven Nami skin but it is on Nami.json (https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/champions/Nami.json)
I was looking for something like this, but it seems to be not 100% up to date.
I would like to know every change in the PBE SERVER every change that RIOT makes to champions or ITEMS, I would be grateful if you help me to do it manually, they had told me that in the game files in the .bins I would find info, but data is missing such as: damage , times, percentages among others...
Hey, currently playrates are on patch 12.7. I imagine it takes a while them, which is totally fine with me, but if you have some kind of frequency of these updates that you can share than I would appreciate it.
Within the items.json, Cloak of agility uses snake case while other items are using camel case. I'm not sure if there are other items with this discrepancy or the cause.
Good afternoon,
I noticed an issue with the nomenclature in the items JSON file while parsing through it. The field values of item.x3363.stats.cooldownReduction are named using underscores and lowercase, whereas the standard everywhere else in the file is to use no spaces and a capital letter indicating new words. For example, there exists the field item.x3363.stats.cooldownReduction.percent_per_level , while the comparable field for boots is item.x1001.stats.cooldownReduction.percentPerLevel . I was only able to detect one such anomaly among all of the items through my parsing.
Happy Holidays!
Seems the folder parts of the cdn (the items and champions folders) are outdated by a large margin. Idk if this the spot to put it, but I did test the script and it does pull the correct information.
Some items in the list are Ornn Upgrades and are missing 'Ornn' as the required Ally/required_ally. Here is the items:
Hi, I have been working with the item data for a project. I wanted to display item data as they show it in game in a human readable way, but I have no idea how to understand the way the effects are written. I see that they are taken from the lolwiki and stuff like {{pp|<>}} are templates from the wiki as shown here: https://leagueoflegends.fandom.com/wiki/Doran%27s_Shield?action=edit.
For example, this is one of Doran's Shields effect:
"After taking damage from a [[champion]] or large [[monster]], gain [[health regeneration]] equal to {{pp|0 to 40 for 11|type='''current missing''' health|color=health|key1=%|0 to 75|formula=0.53 health regen for every 1% missing health}} health over 8 seconds. Reduced to{{ft|66% effectiveness|{{pp|0 to 26.4 for 11|type='''current missing''' health|color=health|key1=%|0 to 75|formula=0.35 health regen for every 1% missing health}}}} on {{tip|ranged}} champions or when triggered by [[area of effect]], [[damage over time]], or [[damage|proc]]."
For stuff inside of [[ ]] I can quite easily remove these, but for the {{pp }} or {{ft }} I am unsure what a smart/efficient way is to remove these for all the effect descriptions or if it is even possible.
Thank you.
Good afternoon,
I noticed that the following items do not have any stats for their mythic passives:
Shurelya's Battlesong, ID: 2065
Locket of the Iron Solari, ID: 3190
Stridebreaker, ID: 6631
Frostfire Gauntlet, ID: 6662
Turbo Chemtank, ID: 6664
Galeforce, ID: 6671
Immortal Shieldbow, ID: 6673
Turbocharged Hexperiment, ID: 7003
Rimeforged Grasp, ID: 7005
Typhoon, ID: 7006
Bloodward, ID: 7008
Dreamshatter, ID: 7016
Reliquary of the Golden Dawn, ID: 7019
Shurelya's Requiem, ID: 7020
I expected all items to follow the format set forth by Kraken Slayer, ID 6672, where the stat gained per legendary item by the mythic passive is included in (item).passives(mythic).stats.(relevant stat) . As a side note, I would like to point out that attack speed is treated variably across items and champions. Sometimes it appears in the "flat" field, and sometimes it appears in the "percent" field. It is my understanding from my personal testing within the league client that attack speed bonuses from all items and levels gained by champions in fact functions as "percentBase". Please do correct me if I am wrong.
Best,
Ethan
Hi guys,
I'm working on API using your data and dataDragon informations.
I've done some comparisons in code and there are few mismatches in Champion basic statistics, here's list :
Just letting you know, can close after read.
Lots of imports to run the modules like natsorted, dataclasses_json, BeautifulSoup4, etc.. Should include a requirements.txt and include in the README.md
pip freeze > requirements.txt
pip install -r requirements.txt
Check out item names that are enchantments. Are they right? E.g. Enchantment: Cinderhulk
http://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/items/3672.json
https://cdn.merakianalytics.com/riot/lol/resources/latest/en-US/items.json
only the Orn version is there, the normal Heartsteel is missing :)
6671 (Galeforce) mentions building into 7006 (Ornn thing), but that is missing in latest/en-US/items.json
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.