蓝色和亮金物品上词缀的选择
Max_Alvl: 物品上可能出现的词缀的最高等级.
Max_Alvl 的决定过程如下:
(1) 在 Ilvl 和 99 二者中取较小者, 以下记为 m;
(2) 在 Qlvl 与 m 二者中取较大者, 以下记为 q;
(3.1) 若 MagicLevel 不为零, 则 Max_Alvl = q + MagicLevel;
(3.2) 否则:
(3.2.1) 若 q < (99 – Qlvl/2), 则 Max_Alvl = q – Qlvl/2 (3.2.2) 否则 Max_Alvl = 2*q – 99 (4) 若 Max_Alvl > 99, 则 Max_Alvl = 99
然后随机选取 Alvl 不高于 Max_Alvl 的词缀.
蓝色物品上最多有一个前缀和一个后缀, 仅有一个后缀的几率为 50%,
仅有一个前缀的几率为 25%, 既有前缀又有后缀的几率为 25% .
亮金物品上最多可以有三个前缀和三个后缀.
例外的是,亮金珠宝上最多有4个词缀,只是仍然可以出现三个前缀或后缀的情况.
同组的词缀不会在一件物品上重复出现.
词缀选择的具体机理
by ruvanal
以rare物品为例:
首先,系统将决定该物品上有几个词缀,一般是随机2-6个
然后判断其中几个前缀,几个后缀.
rare和craft物品前后缀选择几率:
Prefix (if there aren’t already 3 prefixes): 50%
Prefix (if there are already 3 prefixes): 0%
Suffix (if there aren’t already 3 suffixes): 50%
Suffix (if there are already 3 suffixes): 0%
接着,系统单独判断每个词缀的最终属性.
对每个词缀,系统从magicprefix.txt和magicsurfix.txt中列举出符合以下所有条件的全部词缀:
1.与词缀类型相吻合(前缀从magicprefix.txt中列举,后缀从magicsurfix.txt中)
2.与物品类型相吻合(即是否能出现在该物品上)
3.词缀alvl<=物品alvl
4.词缀maxlvl>=物品alvl
5.frequency属性数值>0
6.spawnable属性数值=1
7.version正确(version=1是d2c,version=100是d2x,version=0是v1.07以前版本)
8.rare属性数值=1 (可以出现在rare物品上)
9.group number 在前面已经确定的词缀中没有重复过.
列举出所有这样的属性后,系统根据frequency选取随机数字计算最终选择的词缀
注意:这样的词缀列表最多收录512个符合条件的词缀.
收满512个后,不在考虑其他符合条件的affixs
系统对每一个要确定的前缀(后缀)重复排列以上列表,直至所有词缀确定