meraki-analytics / lolstaticdata

Accurate League of Legends static data for champions and items
MIT License
63 stars 22 forks source link

Heartsteel is missing its mythic passive #50

Open rdavis0 opened 1 year ago

rdavis0 commented 1 year ago

The new item Heartsteel 3084 is missing its mythic passive. It should have: passives[1].stats.health.percent: 1.0.

rdavis0 commented 1 year ago

This appears to be an issue with the way the mythic passive is formatted on the wiki. There's no existing stat defined for % hp bonuses, so Heartsteel's mythic is just defined as [spec]. I'm working with the wiki team to see if we can get a % hp bonus stat defined, which would then require updates to the parsing code to pick it up.

rdavis0 commented 1 year ago

After speaking with the wiki team, they don't want to create a new stat for %hp bonuses since Heartsteel is currently the only item that has one. The compromise we reached was to edit the mythic bonus in the wiki's item data module like so:

["mythic"]  = {
                ["hp"]  = "1%",
                ["spec"]  = "6% increased [[size]]",
     },

That leaves us with the problem of how to convert that 1% string to a passives.stats.health.percent value. I've been looking through the parsing code, and I'm not sure where's the best place to do that. Any ideas @jjmaldonis?

jjmaldonis commented 1 year ago

Hey, I don't have my head in this right now. At the end of the day we will not be able to represent the entirety of the complexity of the items in this JSON, which means that some manual effort will be required by anyone who wants to use this JSON to represent items in their code.

This may be one of the unfortunate cases where user intervention is required. If the wiki team isn't willing to create a new stat then we may be out of luck for the time being.

After looking into the details of what this new item does, it is infeasible to represent what it actually does using just the JSON. The calculation for this part of the passive will have to be done using user intervention. So I don't think it's particularly important that we represent this information accurately in the JSON. In fact, representing this information in the current JSON structure may be misleading to someone who is only reading the JSON.

rdavis0 commented 1 year ago

To be clear, I'm just referencing the mythic 1% hp bonus, which is a typical mythic passive and does fit nicely in the JSON as currently structured: passives[1].stats.health.percent: 1.0. We just need to capture the value from the wiki. The mythic size bonus and the stacking hp passive are obviously more difficult to represent in the JSON as it stands, if at all.

I'll dig a little deeper and see if I can solve the %hp bonus. Thanks for the reply.