Search the database
Search forum topics
Search members
Search for trades
diablo2.io is supported by ads
diablo2.io is supported by ads
47 replies   4797 views
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?
Description by Teebling
5

Can be used to make Runewords:

7
User avatar

Teebling 6892Admin

Europe PC
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
User avatar

Stormlash 356Moderator

Paladin Europe PC
Teebling wrote: 3 years 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.

Image
7
OP
User avatar

Teebling 6892Admin

Europe PC
Stormlash wrote: 3 years ago
Teebling wrote: 3 years 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
User avatar

Stormlash 356Moderator

Paladin Europe PC
@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.

Image
7
Stormlash wrote: 3 years 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
User avatar

Teebling 6892Admin

Europe PC
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
OP
User avatar

Teebling 6892Admin

Europe PC
Udyret wrote: 3 years ago
Alphabetical Skill Listing
This is going to be helpful for me creating the 'Slots' for the database entries.

7
User avatar

Stormlash 356Moderator

Paladin Europe PC
Teebling wrote: 3 years 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.

Image
7
OP
User avatar

Teebling 6892Admin

Europe PC
Stormlash wrote: 3 years ago
Teebling wrote: 3 years 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

 Deleted User 632 0

 Guest
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
User avatar

Stormlash 356Moderator

Paladin Europe PC
@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.

Image
7
OP
User avatar

Teebling 6892Admin

Europe PC
Stormlash wrote: 3 years 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
User avatar

Teebling 6892Admin

Europe PC
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
User avatar

Teebling 6892Admin

Europe PC
SudoDragon wrote: 3 years 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
User avatar

Tavron 143

Paladin Europe PC
SudoDragon wrote: 3 years 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."
9

Advertisment

Hide ads
999

Greetings stranger!

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

99

Who is online

Users browsing Forums: Bing [Bot], Flyhorse, Google Adsense [Bot], Pipp, Wubbo and 124 guests.

No matches
 

 

 

 

Value:
Hide ads forever by supporting the site with a donation.

Greetings adblocker...

Warriv asks that you consider disabling your adblocker when using diablo2.io

Ad revenue helps keep the servers going and supports me, the site's creator :)

A one-time donation hides all ads, forever:
Make a donation