203 lines
5.5 KiB
Plaintext
203 lines
5.5 KiB
Plaintext
# D2Mods Knowledge Base: Article 234
|
|
# Title: Magicprefix.txt File Guide
|
|
# URL: https://d2mods.info/forum/kb/viewarticle?a=234
|
|
|
|
Magicprefix.txt File Guide
|
|
Written by: Phrozen Heart
|
|
|
|
Written on: Tue Dec 02, 2003 7:14 pm
|
|
|
|
Views: 7456
|
|
|
|
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 prefix spawn on items
|
|
|
|
D. rare - Boolean can this prefix spawn on rares
|
|
|
|
E. level - required lvl of monster for prefix to spawn (see Annex A)
|
|
|
|
F. maxlevel - maximum lvl that this prefix 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 prefix 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 prefix to spawn (see Annex A)
|
|
|
|
L. group - to combine similar multiple prefixes, 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 prefix 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 prefix will spawn for (see Annex B)
|
|
|
|
AH-AL. etypeX - itemtypes that the prefix will never spawn for (see Annex B) **
|
|
|
|
AM. divide - factor in the reduction of price when selling to NPCs
|
|
|
|
AN. multiply - factor in the increase of price, similar to that in skills.txt
|
|
|
|
AO. add - factor in increase of price, similar to skills.txt
|
|
|
|
Annex A - group, frequency and prefix determination
|
|
|
|
The group number is used to bring multiple prefixes
|
|
|
|
(usually of the same type, though not necessarily) together. When the
|
|
|
|
game is sourcing for an available prefix, it will only choose one from
|
|
|
|
each group. This prevents 'overlapping' of prefixes, such as 2 '+1
|
|
|
|
light radius' would be rather wasteful.
|
|
|
|
The calculation of which prefixes are available are done in this manner - provided by Ruvanal:
|
|
|
|
Terms
|
|
|
|
alvl = prefix level. For an item this is the level that is used to
|
|
|
|
compare to the level and max level as found in the prefix and suffix
|
|
|
|
tables. When referring to a prefix/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 prefixes 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 prefixes are
|
|
|
|
available for allocation, they will have to select their prefix from
|
|
|
|
the multiple choices in the given group. These are done by the
|
|
|
|
frequency column.
|
|
|
|
Frequency determines the probability that an prefix 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' prefixes at the higher level. By setting the maxlevel so that
|
|
|
|
there is an overlap, you will always have that type of prefix available
|
|
|
|
at all levels, while effectively keeping the prefix 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, rareprefix/suffix
|
|
|
|
Link to this article: Select all
|
|
|
|
[url=https://d2mods.info/forum/kb/viewarticle?a=234]Knowledge Base - Magicprefix.txt File Guide[/url] |