# D2Mods Knowledge Base: Article 235 # Title: Magicsuffix.txt File Guide # URL: https://d2mods.info/forum/kb/viewarticle?a=235 Magicsuffix.txt File Guide Written by: Phrozen Heart Written on: Tue Dec 02, 2003 7:15 pm Views: 7506 Description: by Ric Faith Categories: File Guides (1.09x) A. Name - Name for reference only B. version - 0 for cD2, 100 for LoD C. spawnable - Boolean can this suffix spawn on items D. rare - Boolean can this suffix spawn on rares E. level - required lvl of monster for suffix to spawn (see Annex A) F. maxlevel - maximum lvl that this suffix will spawn for, after which it will no longer spawn (see Annex A) G. levelreq - required character lvl to use item, may be used to increase base requirement H. classspecific - to be set if suffix only spawns for a certain class (ama,sor,nec,pal,bar,dru,ass) I. class - class-specific levelreq (see J) J. classlevelreq - for that specific class, what is the level req K. frequency - probability for that suffix to spawn (see Annex A) L. group - to combine similar multiple suffixes, also to calculate probability (see Annex A) M-X. (refer to the Magical Master Code List from the Keep) modXcode - code of mod modXparam - parameter for code (if any) modXmin - minimum value for code (if any) modXmax - maximum value for code (if any) Y. transform - Boolean does the suffix perform a color shift on the item Z. transformcolor - code for the color that it will be shifted to AA-AG. itypeX - itemtypes that the suffix will spawn for (see Annex B) AH-AJ. etypeX - itemtypes that the suffix will never spawn for (see Annex B) ** AK. divide - factor in the reduction of price when selling to NPCs AL. multiply - factor in the increase of price, similar to that in skills.txt AM. add - factor in increase of price, similar to skills.txt Annex A - group, frequency and suffix determination The group number is used to bring multiple suffixes (usually of the same type, though not necessarily) together. When the game is sourcing for an available suffix, it will only choose one from each group. This prevents 'overlapping' of suffixes, such as 2 '+1 light radius' would be rather wasteful. The calculation of which suffixes are available are done in this manner - provided by Ruvanal: Terms alvl = suffix level. For an item this is the level that is used to compare to the level and max level as found in the suffix and suffix tables. When referring to a suffix/suffix it is the value listed in the level column. ilvl = internal level (also referred to sometimes as the item level; better yet item creation level). This value is set at the time of an items creation. For monster drops the ilvl=mlvl. (BTW ilvl matches up with the terminology of the 1.07/1.08 cubemain.txt---'itemlevel pct a') mlvl = monster level. clvl = character level. qlvl = quality level. This value is found in the level column of armor.txt, weapons.txt and misc.txt. This is the value that is used to create the weapXX and armoXX treasure classes. magic_lvl = magic level bonus on some items. Currently the only ones that have this are wands (normal and exceptional, but not the elite ones), staves, orbs (all with a value of 1) and circlets (circlet=3, Coronet=8, Tiara=13, Diadem=1. When an item is generated that has suffixes the alvl is calculated* from ilvl and qlvl as follows If (ilvl>99) then {ilvl=99} if (qlvl>ilvl) then {ilvl=qlvl} ;** see note below if (magic_lvl>0) then {alvl=ilvl+magic_lvl} else { if (ilvl<(99-qlvl/2)) then {alvl=ilvl-qlvl/2} else {alvl=2*ilvl-99} } If (alvl>99) then {alvl=99} *all calculations use integers so there are no fractions at any step. ** this new ilvl value is only used for the duration of this calculation. The ilvl value that is stored in the items data file will remain unchanged. Now that the game has decided which suffixes are available for allocation, they will have to select their suffix from the multiple choices in the given group. These are done by the frequency column. Frequency determines the probability that an suffix is selected, a higher frequency = a greater probability. Assuming: Mod1freq=5, Mod2freq=3, Mod3freq=2, Mod4freq=1 and you can get only Mod1 & Mod2, then your probabilities would be: chance to get Mod1 = 5 / (5+3) = 5/8 = 62.5% chance to get Mod2 = 3 / (5+3) = 3/8 = 37.5% and if you could get all four, chance to get Mod1 = 5 / (5+3+2+1) = 5/11 = 45.5% chance to get Mod2 = 3 / (5+3+2+1) = 3/11 = 27.3% chance to get Mod3 = 2 / (5+3+2+1) = 2/11 = 18.2% chance to get Mod4 = 1 / (5+3+2+1) = 1/11 = 9.1% you can also use maxlevel to filter out the 'lower quality' suffixes at the higher level. By setting the maxlevel so that there is an overlap, you will always have that type of suffix available at all levels, while effectively keeping the suffix pool powerful. Annex B - itype & etype itype = Inclusion TYPE & etype = Exclusion TYPE It determines that a given affix will spawn for all itemtypes in {itype} except those in {etype} eg. itype = {weap,armo} etype = {axe,helm,belt} what this means is that the affix will spawn for ALL weapons and armor, EXCEPT for axes, helms and belts. By including and excluding itemtypes from receiving affix, you can make certain affixes only spawn for swords, or only spawn for anything but swords. NOTE: this works the same way for any other .txt file with itype/etype, such as automagic, raresuffix/suffix Link to this article: Select all [url=https://d2mods.info/forum/kb/viewarticle?a=235]Knowledge Base - Magicsuffix.txt File Guide[/url]