Coder Social home page Coder Social logo

lolstaticdata's Issues

Item movespeed passives aren't being parsed/structured correctly

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
},

Missing Ornn Items

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:

  1. Get all the item items that are forgeable by Ornn in his ability passive description
  2. Create a dictionary of Ornn items using CDragon i.e. {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.
  3. Loop through the Ornn items and follow the same process as if it were a regular item.

Should these items be accounted for, and if so, what could we do about missing fields like icon and simpleDescription?

Discussion: Percent vs Flat values for stats that stack additively (critical strike chance, lifesteal, omnivamp)

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.

Inconsistent use of underscores and camelCase in served JSON

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

Some chroma entries are "null"

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

"releasePatch": "lpha Week 2", -> "releasePatch": "Alpha Week 2",
on Annie (and other presumably)

Add item classification (e.g. starter, legendary, epic) to items.json

Request to add item classifications to items.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.

Kraken Slayer Item page

Potential Data to add

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!

Some Champion Skin Loading Screen splash arts do not have valid URLs

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

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)

[HELP] Some manual way to check champion data

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

Playrates not updated for latest patch

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.

Inconsistent Schema

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.

Nomenclature Anomaly

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!

CDN not updated

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.

What is the intended way to read/parse item effects?

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.

Missing Mythic Passive Data , Attack Speed Treatment

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

Small stats differences with dataDragon

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 :

  • "Aurelion Sol movespeed flat statistics are different"
  • "Bel'Veth mana flat statistics are different"
  • "Braum hp flat statistics are different"
  • "Braum healthRegen flat statistics are different"
  • "Evelynn manaRegen flat statistics are different"
  • "Gnar attackRange flat statistics are different"
  • "Gnar attackRange per level statistics are different"
  • "Jhin attackSpeed per level statistics are different"
  • "Kled movespeed flat statistics are different"
  • "Kled attackRange flat statistics are different"
  • "K'Sante hp per level statistics are different"
  • "Wukong attackSpeed flat statistics are different"
  • "Mordekaiser mana flat statistics are different"
  • "Viego mana flat statistics are different"

Just letting you know, can close after read.

Add dependencies in requirements.txt

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

Add map availability to items.json

I'd like to be able to tell which map(s) a given item is available in. The wiki provides this information for each item with a "Yes" check or a "No" X image for both Summoner's Rift and Howling Abyss. See screenshot:

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.