Search the database
Search forum topics
Search members
Please note the site is in alpha
1
2

Description

For the Skills type database entries, here's what I was thinking each relevant column would look like (off the top of my head).

Remember this is what determines how these results are connected to each other, filtered etc. Some of these columns already exist (and are best re-used to save on space and performance) so will be 'repurposed' for Skills. Have a look around on similar sites like Arreat or archived Amazon Basin and let me know if you think there are any other types of information we could include for each Skill entry - remember the information must be easy to source and contribute in a standardised format like the rest of the contributions we've seen so far.

  • Name of the Skill (self-explanatory)
  • Required Level - character level required to use the skill
  • Skill Prerequisites - other skills (and level of) required to train this skill for the first time
  • Stats - for each level, up to 20 (or beyond due to +skills? what about up to 30? how would this be calculated?), the values of things like mana cost, attack%, walk/run speed, duration etc. etc.
  • Synergies - other skills that synergise with this skill, and their values

The 'description' for Skills would be filled in separately by contributors as is the case for items at this time.

Anything else you think would be worthy of a space in the database for Skills? Try to think wide about this - is there any data that would pair up well with other parts of the site, both existing and planned?

6

Grail owners

Teebling , Iced_Plasma, Doomsnout, forthehorde, Quillboar, Balrog, Holy_Grailer, Diabl0, Tyrael and 143 others.


7

For the Skills type database entries, here's what I was thinking each relevant column would look like (off the top of my head).

Remember this is what determines how these results are connected to each other, filtered etc. Some of these columns already exist (and are best re-used to save on space and performance) so will be 'repurposed' for Skills. Have a look around on similar sites like Arreat or archived Amazon Basin and let me know if you think there are any other types of information we could include for each Skill entry - remember the information must be easy to source and contribute in a standardised format like the rest of the contributions we've seen so far.

  • Name of the Skill (self-explanatory)
  • Required Level - character level required to use the skill
  • Skill Prerequisites - other skills (and level of) required to train this skill for the first time
  • Stats - for each level, up to 20 (or beyond due to +skills? what about up to 30? how would this be calculated?), the values of things like mana cost, attack%, walk/run speed, duration etc. etc.
  • Synergies - other skills that synergise with this skill, and their values

The 'description' for Skills would be filled in separately by contributors as is the case for items at this time.

Anything else you think would be worthy of a space in the database for Skills? Try to think wide about this - is there any data that would pair up well with other parts of the site, both existing and planned?


7

Teebling wrote: 3 weeks ago
[*]Stats - for each level, up to 20 (or beyond due to +skills? what about up to 30? how would this be calculated?), the values of things like mana cost, attack%, walk/run speed, duration etc. etc.
Up to 60.


Stay safe!
- Stormlash
7
OP

Stormlash wrote: 3 weeks ago
Teebling wrote: 3 weeks ago
[*]Stats - for each level, up to 20 (or beyond due to +skills? what about up to 30? how would this be calculated?), the values of things like mana cost, attack%, walk/run speed, duration etc. etc.
Up to 60.
Okay, can be done. Is there anywhere that has the static values for each of these additional 40 levels though? On Arreat it lists them up to 20. Or is there a formula we could use to 'extrapolate' the values?


7

@Teebling Most skills have a formula for each modifier on it. Others don't. And some modifiers cannot scale up to L60. If you can give me the option, somehow, I'll manually add the information for every single skill in the game, up to Lv. 60.


Stay safe!
- Stormlash
7

Stormlash wrote: 3 weeks ago
Up to 60.
Up to 60 will cover 99% of use cases for obvious reasons, but it might be feasible to make a calculator instead. Most skills follow a simple way of adding damage. From The Phrozen Keep skills.txt file guide
MinLevDam1 to MinLevDam5 and MaxLevDam1 to MaxLevDam5: Controls the additional physical damage added to the skills minimum and maximum damage for every additional sLvl. LevDam1 is used for sLvls 2-8, LevDam2 for 9-16, LevDam3 for 17-22, LevDam4 for 23-28 and LevDam5 for sLvls above 28.
Basically, there is a set number that is added to the min damage, and a separate number that is added to the max damage, for each new level depending on the current level.

Of course, that doesn't account for skills like Fade where they Cap out eventually because it's a non-linear formula. I'd have to look into that a bit more.

7
OP

Guys these are all great observations and resources on their own but I can't do anything with them to solve the actual problem of getting this data consolidated and crowdsourced onto the site here. We need to find a way to make it so that people can contribute this data, by inputting text into contribution-type posts (like how it has been done for items).

If that involves deciphering binaries from the in-game files, it's way beyond my technical skill. If it involves a formula for skills that follow a linear pattern, we need to know what the formula is and where it is found.


7

Teebling wrote: 3 weeks ago
We need to find a way to make it so that people can contribute this data, by inputting text into contribution-type posts (like how it has been done for items).
Just upload the entries and I'll fill them up like I did with Bases.


Stay safe!
- Stormlash
7
OP

Stormlash wrote: 3 weeks ago
Teebling wrote: 3 weeks ago
We need to find a way to make it so that people can contribute this data, by inputting text into contribution-type posts (like how it has been done for items).
Just upload the entries and I'll fill them up like I did with Bases.
That'd be awesome Stormlash, but to share the load amongst others who would want to do the same thing, where would you find that information for levels 21-60? The process would be a lot less painful if we could somehow collate all of that information in a public place.


7

most databases i have seen have up to 20 skill. except for on skill calculators. could just add up to 20 skill like the rest. and make / add a function to calculate the + skills later?
it's not any useful without synergies calculations anyway.

7

@Teebling I have hacked characters on Single Player to extract the data from. I did it for PD2 Wiki, I can do it for Vanilla too. And it's not painful to me. I like doing it.

If you don't find an easier solution, I'm just saying, I've been there, I did it before and I can do it again.


Stay safe!
- Stormlash
7
OP

Stormlash wrote: 3 weeks ago
If you don't find an easier solution, I'm just saying, I've been there, I did it before and I can do it again.
Okay Stormy, that's a lot of work! Wouldn't want you to get overloaded. Let's wait and see if anyone else has any ideas on how to approach this first, but good to know there's your method as a backup :)


7

I think between Skills.txt and SkillCalc.txt it should be plenty easy to extrapolate most things we need for skills using formulas.

In SkillCalc.txt, it gives the formula for ln and dm, the two formulas used for calculating skill values. ln = linear, dm = non-linear. The formula for dm is

((110*lvl) * (b-a))/(100 * (lvl+6)) + a
While the formula for ln is
a+lvl*b
Within Skills.txt you can collect the appropriate variables. As I said earlier, most damaging skills follow a semi-linear pattern. For level one, it gives a min and max damage. For levels 2-8, a skill might add 2 to min, 3 to max damage. For 9-16, it could add 3 to min, 4 to max. The next change in what to add is 17-22, then 23-28, then 29+.

Even if we can't do every skill this way, it would cover a lot of ground if there is a way to use this information.

7

Yep what @Arsteel posted is correct, but ln and dm are not the only options, some skills (Phoenix Strike, Fire Golem) get quite complex. I just finished my own skill calculator recently (https://d2planner.github.io/skills/) and was just discussing with @Teebling over on Reddit maybe porting some version of it over to diablo2.io. In any case, if you guys have questions about specific skills and how they're calculated I'm happy to weigh in and provide some guidance.

I've converted the important bits from the 1.14D game files into a .json format here, could be useful if you're familiar with the format. I've also coded up some of the various calculators that are used here and here - it may provide some clues if the info on Phrozen Keep is unclear.

I think hardcoding everything will be pretty onerous, but if the logic is coded up like this, we can support arbitrary high levels (my planner does hard points to 20, but as many +skills as you like).

I hope some of this helps - and as I said please ask if I can help clarify anything.

7
OP

After everything that has been posted, I'm leaning more towards @Stormlash's offer of hard writing the values in.

I have to say I'm really impressed by what you have developed @SudoDragon, and now that @Arsteel has shown how the great majority could be calculated with ease.

That said, I don't want to have to re-engineer everything on my side of things as I feel that'll be taking time away from development where instead that could be delegated to contributors.


7

That makes sense @Teebling - but maybe we can go with a hybrid approach? I could put together a spreadsheet with the various formulas for each skill so you don't have to reverse-engineer the code from my skill calculator. I've put together an example for Magic Arrow and Fire Arrow in google sheets. You could still go with manual entry, but having the data in this format would speed things up (though we'll have to check some against the game for correctness of course). Or if you want you can use the formulas in the sheet to power the skill entries directly - it should be much less effort with them in this simpler form.

Let me know if you think this would be useful, and I can spends a couple of days filling in the rest of the skills.

7
OP

SudoDragon wrote: 3 weeks ago
That makes sense @Teebling - but maybe we can go with a hybrid approach? I could put together a spreadsheet with the various formulas for each skill so you don't have to reverse-engineer the code from my skill calculator. I've put together an example for Magic Arrow and Fire Arrow in google sheets. You could still go with manual entry, but having the data in this format would speed things up (though we'll have to check some against the game for correctness of course). Or if you want you can use the formulas in the sheet to power the skill entries directly - it should be much less effort with them in this simpler form.

Let me know if you think this would be useful, and I can spends a couple of days filling in the rest of the skills.
I reckon this would really help @Stormlash and the other contributors inputting the data contribs - that’d save him from having to constantly enter single player games to copy info.

If the sheets were already up and populated with data from those formulas that would also speed up the process as it would allow multiple other contributors access to the data for the contribs, so yes, that would be great Sudo!


7

Great! I'll spend some time on it this weekend. If anyone else is interested in filling in some let me know and I'll show you how to get the right info - otherwise I'll let you all know when I've got it done.

7

SudoDragon wrote: 3 weeks ago
Great! I'll spend some time on it this weekend. If anyone else is interested in filling in some let me know and I'll show you how to get the right info - otherwise I'll let you all know when I've got it done.
@SudoDragon I'd be interested in lending a hand :)


"Seven Evils spawned of seven heads. Seven realms birthed from Death."
7

Tavron wrote: 3 weeks ago
@SudoDragon I'd be interested in lending a hand :)
Awesome! I've just sent over some info in a private message, hopefully it all makes sense!

7

Also @Teebling in the interest of brainstorming - I think the full level 1-60+ breakdown makes sense for the skill entry itself, but we probably need to show less info in the mouseover tooltip.

Like if I typed Fireball in this chat we wouldn't want all that info. I'm thinking we could do something like the PoE wiki does, which shows the range of stats between level 1 to 20 in shorthand - for the skill I linked it looks like "Deals (6-133) to (33-754) Lightning Damage", we could do something similar for mana costs and other skill stats. And if someone wants to know what it does at lvl 34 or something, they can click through to the main skill entry.

Curious what you all think about that.

7

Hi team - just an update on the skills formulas: @Tavron and I made good progress on this over the weekend. We've finished the Amazon, Sorceress, Paladin, and nearly finished the Druid. You can have a look at the Google sheet we've been working on to see both the formulas and the skill values up to 60.

Once we finish, what is the next step here @Teebling? Do just open it up to other contributors to start copying values into the database?

A couple of notes:

  1. We've left out any value that doesn't depend on level (e.g. mana cost for Ice Bolt) - those can be copied pretty easily from the game or a skill calculator.
  2. Synergies aren't computed into this sheet. Some skills have ~5 synergies, which would give us over 50 Million combinations (and that's just to lvl 20). It's probably better to just display what the synergies are (and their values), but have the table of skill data only refer to the skill itself. If you want synergies, a skill calculator is a better fit.
Hopefully those make sense to everyone - happy to explain or expand as needed.

I'll let you know when we've finished inputting the rest of the skills!

7
OP

Fantastic work @Tavron and @SudoDragon. This is going to make the task of populating the DB so much easier for @Stormlash and the other contributors. Really appreciate the time and effort that has gone into this guys.

Do make a post here when the sheet is complete with the required data, so I can schedule in the start of DB contributions for skills (will probably be around early Sept as I am now away from home on a work trip).

Noted on synergies and mana cost etc. - totally realistic and we can cover these possibilities in another way.


7

Ok we've completed all the skill entries in the Google sheet!

We checked the skill values against my https://d2planner.github.io/ as we went and fixed all bugs we found - but it's probably worth someone else having a look through some of them to double-check (or we can just fix them as people flag issues). If anyone does take the time to check values, looking at lvl 1 and lvl 40 is more than enough, and take care to remove points from any synergies!

Big thanks to @Tavron, who completed fully half of this sheet despite not having prior experience with skills data. Really excellent work!

7

Very nice work on that skill sheet. I imagine it took a lot of work figuring out the numbers for skills with non-linear scaling.

After a quick skim, I noticed Fade doesn't have its levelled % physical resist included. I don't know if that was intentionally omitted, but I thought to mention it here anyway.

7

Hey Khegan, thanks for having a look - but I think the physical resist on Fade is a PD2 thing only.

If you have other tips or questions you can add them as comments in the sheet - I'll get an email about any added that way.

7

Teebling wrote: 1 week ago
A third pair of eyes to double check as suggested would be greatly appreciated moving forwards.
Working on it.


Stay safe!
- Stormlash
7

SudoDragon wrote: 1 week ago
Hey Khegan, thanks for having a look - but I think the physical resist on Fade is a PD2 thing only.
Are you sure? I've never played any D2 mods, but I'm fairly certain that the hidden resist bonus on Fade has been in vanilla for a long time.

Fade on Arreat Summit

7

hidden physical resist should be in the game. says so on Amazon basin too. and it has a bit different looking formula. Fade

7

Ah cool, yeah I haven't done the work to add in hidden modifiers - any chance either of you have a list of all of them?

If I knew where to look I'm confident I could work out the formulas for each from the game files. Worst case I'll add the one for Fade, thanks for pointing it out!

7

@SudoDragon

Fade: 1% Physical Damage Reduction per level (hard or soft);
Valkyrie: Decoy increases Valk's all resistances by 2% per level (hard or soft)
Resist Fire/Cold/Lightning: 1% max resistance per 2 hard points;
Blessed Aim: 5% increased Attack Rating per hard point;

These are the ones I remember from the top of my head. Not so sure about the actual %, so don't quote me on that.


Stay safe!
- Stormlash
7

@Teebling Triple check done.

So, just to clarify, I triple-checked all the values from @SudoDragon and @Tavron spreadsheet (AMAZING work, guys!) with the ingame tooltip descriptions.
Here is the result.

Ingame values that look different from the spreadsheet (in some cases, because Diablo II struggles with decimal numbers (for some reason)) have a Yellow background.
Ingame values that are completely wrong (Blizzard's end) have a Red background.

Also, a shoutout to @siulk who helped me with some of these.
And if anyone wants to quadruple-check these values, please, by all means, do so.

Thank you, everyone!


Stay safe!
- Stormlash
7

I'll have a look at the values they flagged up and make sure it's a mistake on the games side rather than ours - otherwise should be good to go! I'll let you know when I've had a look.

7

Hey @Stormlash it looks like I don't have access to the sheet you linked - I've requested access, can you approve or open the public link for comments?

7

@SudoDragon My bad.
Here you go with Editor capabilities.


Stay safe!
- Stormlash
9

Advertisment

Hide ads
999

Greetings stranger!

You don't appear to be logged in...

99

Who is online

Users browsing Forums: CommonCrawl [Bot] , Fellowship , Udyret  and 0 guests.


No users watching this page

No matches