# D2Mods Knowledge Base: Article 351 # Title: SkillDesc.txt File Guide # URL: https://d2mods.info/forum/kb/viewarticle?a=351 SkillDesc.txt File Guide Written by: Nefarius Written on: Tue Oct 18, 2005 2:53 pm Views: 9245 Description: by chippydip Categories: File Guides (1.10 - 1.14) First post for me, but I've learned a lot from here in the past so I figured I'd help out with this info I've learned so far trying to update my skill page. Note that this is just a first pass so I'm sure there are many errors sitll, but it should give enough info on how this file works for people to start playing with it. skilldesc.txt ------------- A. skilldesc - Name used in the skilldesc column of skills.txt to refer to this entry. B. SkillPage - Which page is skill displayed on (lowest page is numbered 1, middle 2, top 3, non-tree skills 0) C. SkillRow - Which row is skill displayed on (starting from top, rows 1-6) D. SkillColumn - Which column is skill displayed on (starting from left, cols 1-3) E. ListRow - Row in the skill speed bar the skill will appear in (lower numbers toward the bottom) F. ListPool - Unkown (seems to control the pooling of multiple scrolls into one icon in the skill speed bar.) G. IconCel - (X-1) frames for the icon in data\global\ui\spells\XXskillicon.dc6 (XX is char-dependant). eg. Sorc Fire Bolt is 0, so the computer will look under SOskillicon.dc6 frames 1 and 2 for the icons. H. str name - String table entry containing the skill name. I. str short - String table entry containing a short skill description (used in hover text on the skill speed bar and selected skill icons.) J. str long - String table entry containing a long skill description (used in the hover text of the skill tree.) K. str alt - String table entry containing an alternate skill name. The text is often the same as the skill name. Not sure where its used. L. str mana - String table entry containing the mana cost text (StrSkill3 or blank except for Eskillincaseraven for raven.) After delving into the file more deply, I'm not even sure this is being used since there are other lines which display mana cost. Not quite sure what the following do. Best guess is they effect the damage display in the char screen. The numbers in descdam would represent different functions and 'ddam calc1' and 'ddam calc2' would be fed into this function. Functions 1-16 and 18 are currently used. M. descdam N. ddam calc1 O. ddam calc2 Before I realized this wasn't used in the skill mouse-overs I started to try and correlate the way damage was displayed to the function numbers in descdam. I'll leave in my observations, but I now think these have more to do with how damage is calculated for display on the char screen. 1 2 3 4 5 Convert x% Physical Damage to Magic Damage Damage: +x 6 Convert x% Physical Damage to Elemental Damage 7 Damage: +x percent 8 Average Fire Damage: x-y per second Range: z yards or Average Cold Damage: x-y per second Cold Length: z seconds Range: w yards 9 Fire Duration: x seconds Average Fire Damage: y-z per second or Average Fire Damage: x-y per second or Damage: a-b Fire Damage: x-y Average Fire Damage: z-w per second 10 Damage: +x percent Stun Length: y seconds 11 Cold Length: x seconds Elemental Damage: +y percent 12 Magic Damage: x-y 13 nothing (synergy damage bonus) 14 Life Steal/Mana Steal + -75% damage 15 Kick Damage: +x percent 16 Fire Damage: +x percent 17 ??? 18 Charge 1/Charge 2/Charge 3 These are all used for elemental charge up skills (descdam = 18). Again, I think this effects damage displayed on the char screen. P. p1dmelem Q. p1dmmin R. p1dmmax S. p2dmelem T. p2dmmin U. p2dmmax V. p3dmelem W. p3dmmin X. p3dmmax Y. descatt - I'm guessing this effects the Attack Rating display on the char screen? References to related missiles in missiles.txt? Need to look into this a bit more. Z. descmissile1 AA. descmissile2 AB. descmissile3 Now the meat and potatoes of the file. The rest of the file consists of 3 different description sections (desc, dsc2, and dsc3) which control the following parts of the skill description: desc* -> level dependent description (bottom to top) dsc2* -> level independent description (bottom to top) dsc3* -> synergy descriptions (top to bottom) Within each section, there are parameters for upto 7 lines of description (actually, 7 parts as a few of them actually add more than one line to the text.) As normal for skill description type stuff, desc and dsc2 add their lines to the description from bottom to top while dsc3 goes from top to bottom. Each line consists of a type (descline), 2 text references (from .tbl files) and then 2 calculations. For those of you familiar with printf, I've compiled a list of the translations from type->format string and how it is used. This is just a first pass and I'm sure there are mistakes in there, but you get the general idea. 71 is a bit odd as it has a sort of 'nested' formatting. 53-56 are used for TP/ID scrolls/books, but I'm not sure what description they are generating to check it out. There are a few unused numbers tagged with question marks which are not currently used, but may still be implemented in the code. 1 'Mana Cost: %d',usmc>>8 2 '%s+%d%s',desctexta,desccalca,desctextb 3 '%s%d%s',desctexta,desccalca,desctextb 4 '%s+%d',desctexta,desccalca 5 '%s%d',desctexta,desccalca 6 '+%d%s'desccalca,desctexta 7 '%d%s'desccalca,desctexta 8 'To Attack Rating: +%d percent',att 9 'Duation: %d-%d seconds',?,? 10 '%s Damage: %d-%d',etype,emin,emax 11 '%s Damage: %d-%d',etype,emin,emax 12 '%s%d seconds',desctexta,desccalca 13 'Life: %d',(minionlife+desccalcb)*(100+desccalca)/100 14 'Poison Damage: %d-%d\nover %d seconds',poismin,poismax,poislen 15? 16 '%s%d-%d seconds',desctexta,desccalca/25,desccalcb/25 17 '%s%s%d-%d per second',desctexta,desctextb,desccalca,desccalcb 18 desctexta 19 '%s%d yards',desctexta,desccalca*2/3 20? 21? 22 'Average Fire Damage: %d-%d per second',burnmin,burnmax 23 '%s%d seconds',desctexta,desccalca 24 '%s%d-%d',desctexta1,hydramin,hydramax 25 desctexta 26 'Average Cold Damage: %d-%d per second',coldmin,coldmax 27 'Average Fire Damage: %d-%d per second',burnmin,burnmax 28 'Radius: 1 yard' 29 '%d yards',firewallsize 30 '%s%d seconds',desctexta,desccalca/25 31 '%s%d seconds',desctexta,desccalca/25 32 '%s%s+%d percent',desctexta,desctextb,desccalca 33 '%s%s%d',desctexta,desctextb,magilifebonus 34 'Damage: %d-%d',skelmin,skelmax 35 '%s%d-%d',desctexta,desccalca,desccalcb 36 '%d%s',desccalca,desccalca == 1 ? desctexta : desctextb 37 '%s%d yards',desctexta,desccalca1*2/3 38 '%s%d-%d%s',desctexta,desccalca,desccalcb,desctextb 39 'Damage: %d-%d',bgmin,bgmax 40 desctexta,desctextb 41 'Fire Damage: %d-%d',desccalca,desccalcb 42 '%s: +%d.%d %s',desctexta,desccalca,desccalcb,desctextb 43? 44? 45 'Thorns Damage\n%d percent Damage Returned',thorns 46? 47 '%s%d-%d',desctexta,desccalca,desccalcb 48 'Magic Damage: %d-%d',emin,emax 49 '%s+%d-%d',desctexta,smitemin,smitemax 50 '%s%d-%d',desctexta,holyboltmin,holyboltmax 51 desctexta,desccalca 52 '%s+%d-%d%s',desctexta,desccalca,desccalcb,desctextb 53 ? 54 ? 55 ? 56 ? 57 '%s+%d seconds',desctexta,desccalca 58? 59 '%s%d-%d',desctexta,desccalca,desccalcb 60? 61 '%s%d%s',desctexta,desccalca>>8,desctextb (desccalcb not used?) 62 '%s%s%d-%d',desctexta,desctextb,desccalca,desccalcb 63 '%s: +%d%% %s',desctexta,desccalca,desctextb 64? 65? 66 desctexta,desccalca 67 '%s+%d%s',desctexta,desccalca,desctextb 68 '%d%s%s',desccalca,desctexta,desctextb 69? 70 '%s%s+%d',desctexta,desctextb,desccalca 71 ('%s: %s',desctexta,desctextb),desccalca 72 '+%d/%d%s',desccalca,desccalcb,desctexta 73 '%d/%d%s',desccalca,desccalcb,desctexta AC. descline1 AD. desctexta1 AF. desctextb1 AG. desccalca1 AH. desccalcb1 AI. descline2 AJ. desctexta2 AK. desctextb2 AL. desccalca2 AM. desccalcb2 AN. descline3 AO. desctexta3 AP. desctextb3 AQ. desccalca3 AR. desccalcb3 AS. descline4 AT. desctexta4 AU. desctextb4 AV. desccalca4 AW. desccalcb4 AX. descline5 AY. desctexta5 AZ. desctextb5 BA. desccalca5 BB. desccalcb5 BC. descline6 BD. desctexta6 BE. desctextb6 BF. desccalca6 BG. desccalcb6 BH. dsc2line1 BI. dsc2texta1 BJ. dsc2textb1 BK. dsc2calca1 BL. dsc2calcb1 BM. dsc2line2 BN. dsc2texta2 BO. dsc2textb2 BP. dsc2calca2 BQ. dsc2calcb2 BR. dsc2line3 BS. dsc2texta3 BT. dsc2textb3 BU. dsc2calca3 BV. dsc2calcb3 BW. dsc2line4 BX. dsc2texta4 BY. dsc2textb4 BZ. dsc2calca4 CA. dsc2calcb4 CB. dsc3line1 CC. dsc3texta1 CD. dsc3textb1 CE. dsc3calca1 CF. dsc3calcb1 CG. dsc3line2 CH. dsc3texta2 CI. dsc3textb2 CJ. dsc3calca2 CK. dsc3calcb2 CL. dsc3line3 CM. dsc3texta3 CN. dsc3textb3 CO. dsc3calca3 CP. dsc3calcb3 CQ. dsc3line4 CR. dsc3texta4 CS. dsc3textb4 CT. dsc3calca4 CU. dsc3calcb4 CV. dsc3line5 CW. dsc3texta5 CX. dsc3textb5 CY. dsc3calca5 CZ. dsc3calcb5 DA. dsc3line6 DB. dsc3texta6 DC. dsc3textb6 DD. dsc3calca6 DE. dsc3calcb6 DF. dsc3line7 DG. dsc3texta7 DH. dsc3textb7 DI. dsc3calca7 DJ. dsc3calcb7 DK. eol - Unknown (always 0) Link to this article: Select all [url=https://d2mods.info/forum/kb/viewarticle?a=351]Knowledge Base - SkillDesc.txt File Guide[/url]