Salutations,
PureRage has been fairly busy lately, so I'd like to volunteer to answer as many questions in this forum as I can for a few months. The last couple years have left me lots of time with little or no Internet connectivity, so one of the things I did to amuse myself was mess around with D2 modding.
kramuti wrote:
1. Where is the fire damage per second calculated for meteor.
For many skills, pay attention to the columns related to "srvmissile". You'll find these entries link to rows in Missiles.txt. D2 skills often work by creating a missile that might make more missiles, or just be a graphic. For Meteor, you're actually creating "meteorcenter" since srvmissile=meteorcenter. Notice that in Missiles.txt for that row HitSubMissile1=meteorfire, so investigate that row too. Notice for that for meteorfire, "Skill" field is blank, so the damage values will be read from the damage columns of Missiles.txt rather than skills.txt. Whenever you can't find something for a skill, the answer is probably hiding in Missiles.txt.
kramuti wrote:
2. Why are the damages listed in game for firewall and blaze multiplied by 3 when compared to the numbers calculated directly from skills.txt?
Blizzard wanted to give flames more depth (appear thicker and move more randomly), so they just tripled the number of flame-graphics that are produced on each tile. Each of the flames damages separately, so in skilldesc.txt the damage display is configured to triple the damage read from skills.txt.
kramuti wrote:
3. On the cold spells, it looks like the synergies to freeze length are actually to cold length...if they are even there at all. Am I missing something?
In Missiles.txt, notice the first few column entries (e.g. "pCltHitFunc"). Those numbers specify which hard-coded Blizzard process to apply for that missile (similar to the first few columns of skills.txt for skills). For the cold skills you mention, it's very likely that the functions are hardcoded to look at the cold-len fields for that skill and interpret them as freeze durations. As an interesting side note, the functions related to IceArrow tell it to use the player's overall cold-len attribute (from any source) and convert it to freeze length (so if your IceArrow skill says it freezes for 1 second, but you've got gear that chills for 12 seconds, then your IceArrows would freeze for 12 seconds).
kramuti wrote:
4. Do shiver and chilling armor give def or are the cells in params 'dead'? If they are dead, they need to be removed.
I'm all for cleanliness and standardization; however, there is so much odd behavior related to hard-coding or general wierdness related to skills, that I wouldn't blame someone for being afraid to delete anything from the text files unless they absolutely had to. When I was messing with my own stuff, I removed a lot of '0' entries from things because I didn't like the clutter, but I was careful to test that blank entries are treated as '0' (perhaps I just haven't found the case that proves me wrong on this though).
kramuti wrote:
Also, if I do make it all the way through, is there somebody that can make a front end if I use excel?
I'm not familiar with any process where an Excel back-end is convenient. If you still haven't progressed far in your project, I'd recommend switching from Excel to either HTML or PHP as requested by DuFFBeeR in this
thread. Note that Shantu linked to a pretty nice Excel Sorc skill calculator in that thread, you should consider reviewing his design for any nice features you'd like to include. If your computer can't handle .rar compression, then consider using 7-zip (seems good to me, and is free). If you decide to continue with Excel, then try to base
all of your formulas on references to data copy-pasted from the text files into cells (kind of like how Shantu's calculator's formulas reference cells on a different worksheet). If you do this, then a programmer can essentially copy your formulas without needing to rediscover how skills.txt works.
Although this would create embarrasingly large spreadsheet files, one of the most useful ways you could create your Excel calculator would be:
1) Create a workbook (Excel file) for each class, or perhaps one containing all classes.
2) Create a worksheet (the tabs at the bottom) for each of skills.txt, Missiles.txt, and monstats.txt (you only need monstats for summon skills). These are the "Data" worksheets.
3) Create a worksheet for each skilltab or character class (your choice)
4) For each skill, make each cell that displays something calculate that thing based on the data from the data worksheets (e.g. "VLOOKUP(skillName, skillsDataTable, Param1Col, FALSE)*skillLevel" would get the param1 value for the given skill name and multiply it by the skill level). I can help you create your formulas so that they can be simply copy-pasted with very few changes (i.e. this can be much faster than typing in values by yourself for each skill).
The benefit of that design is that you are helping the programmer by showing how each skill references the text files, which would be a massive benefit. This would be a large project, but you'd surely learn a lot about D2, modding, and programming. It would be worthwhile keeping that workbook as part of your job-search portfolio if you pursue a job that is related to Excel or computer programming.
Your notes-to-self mentioned some innacuracies, if they are small (i.e. 1), then consider ignoring them. In-game values are often slightly different than calculated. This might be because skilldesc.txt has been edited to include a small mistake, or because when D2 is showing numbers, it calculates them in an uncommon way (computers like this way though). Many numbers (e.g. Damage, HP, MP) are stored not as a decimal number, but as a fraction of 256. Also, the calulations in D2 use "Integer Division" which ignores the decimal portion (so 9/2 = 8/2 = 4). Once you consider that Excel's numbers are stored with more precision, and that its division doesn't normally ignore the remainder, it's just a matter of time before your calulator won't agree with D2's in-game display.
Another source for lots of D2 information is:
http://phrozenkeep.hugelaser.com/forum/