打印

[原理] 暗黑2的赌博,手工合成与出加2技能项链的关系

暗黑2的赌博,手工合成与出加2技能项链的关系

anhei3战网
这里先介绍一个公式
物品alvl的确定将遵从如下公式(此公式使用于一切alvl的决定):
if qlvl>ilvl then ilvl=qlvl
else
if magiclvl>0 then alvl=ilvl+magiclvl
else
if ilvl<99-[qlvl/2] then alvl=ilvl-[qlvl/2]
else alvl=2*ilvl-99
if alvl>99 then alvl=99

什么是alvl?
alvl.即affix level(词缀level),alvl是决定最后可选什么前后缀(包括auto-magic-affix).

什么的qlvl?
qlvl.物品基本类型的特有参数,具体类型物品有其固有的qlvl,与生成方式无关,与物品以后变成什么品质无关,永恒不变. 举些例子:
Ancient Armor qlvl=40, Ornate Armor qlvl=64, Sacred Armor qlvl=88
Rings/Amulets/Jewels qlvl=1, Keys/Gems/Potions qlvl=0
SmallCharm qlvl=28, LargeCharm qlvl=14, GrandCharm qlvl=1
Shael Rune qlvl=29, Zod Rune qlvl=69

什么是ilvl?
ilvl .由monster drop的物品的ilvl≡mlvl(怪物级别),gamble的物品是clvl(人物等级) (clvl-5)~(clvl+4)之间随机数

什么是magiclvl?
magiclvl是少数物品才有的魔法等级。见附表,只有这些物品MLVL>0,其他物品的MLVL为0。

为什么2ALL SKILL的项链在110如此之少呢?
在这个公式中,项链因为qlvl=1,mlvl=0,所以遵循的是alvl=ilvl-[qlvl/2] =mlvl。而项链2ALL SKILL的这个前缀是alvl90的。也就是说mlvl<90的怪物不能出2ALL SKILL的项链。
110和09的时候相比,正是怪物的mlvl变化了:
比如P,09的时候是mlvl93的,110是mlvl86;老M,09的时候是mlvl90,110是mlvl87的;COW,09的时候是mlvl90的,110是mlvl83的。这些原来都可以出2ALL SKILL项链的大户,都改为不出了,所以难怪2ALL SKILL的项链在110如此之少了。

再来说赌博:
其实是和09完全一样的,alvl=人物等级(clvl-5)~(clvl+4)。人物只要达到86级就可能赌出2ALL SKILL的项链,只要达到94级,就每个赌出的项链都可能是2ALL SKILL的项链(不是每个都是哦-O-),但因为现在高级的时候比09困难太多,所以这条途径也受打击,2ALL SKILL的项链就更少了。

现在再说手工合成的橙色(craft)物品的:
首先Craft新生成物品的ilvl=[clvl(人物等级)/2]+[ilvl(原料物品等级)/2]。。[]表示取整,所遵循的还是alvl=ilvl-[qlvl/2] =新生成物品的ilvl。
如果用原料ilvl99的项链(BAAL出的或者95级以上的人物赌来的)CUBE,那至少要82级的人物才能CUBE出2ALL SKILL的,如果用原料ilvl86的项链CUBE,那至少要94级的人物才能CUBE出2ALL SKILL的。人物升级的困难和怪物MLVL的降低使原料缺乏都导致了craft的2ALL SKILL的项链也大大减少。


题外话:
为什么2ALL SKILL的MARA不见少呢?因为UNIQUE的物品有自身QLVL,直接和怪物的TC挂钩。比如MARA是QLVL80的,那TC81以上的怪物都能掉了,再比如大军是QLVL73的,那TC75的怪物就能掉了。(TC是每隔3为1等,75、78、81、84、87这样的,大于等于物品QLVL就能掉)


题外的题外话:
为什么2ALL SKILL的的ORB,WAND,头环 很多呢?
就因为她们有magiclvl,遵循的是alvl=ilvl+magiclvl,所以有magiclvl的物品要得到2ALL SKILL是比较容易的
您目前仅能浏览部分内容,查看全部内容及附件,请先 登录注册
分享到:


评分 TOP

没人顶??我来顶一下~~

评分 TOP

看不懂呢

看得很朦胧,最好写得明白点。

评分 TOP

回复

没有看明白

评分 TOP

这是我转的撒   其实我也没有怎么看明白  
大概的意识是人物/材料/盒子的等级越高越好

评分 TOP

具体合成的公式是什么啊?

评分 TOP

大都看不懂

评分 TOP

光光:
sm:res5 mf7
sm:mf7 def20

评分 TOP

1111111

学习学习呀

评分 TOP

“if qlvl>ilvl then ilvl=qlvl
else
if magiclvl>0 then alvl=ilvl+magiclvl
else
if ilvl<99-[qlvl/2] then alvl=ilvl-[qlvl/2]
else alvl=2*ilvl-99
if alvl>99 then alvl=99

我是程序员 这段伪代码写的有问题
据我理解应该改为
if qlvl>ilvl then ilvl=qlvl

if magiclvl>0 then alvl=ilvl+magiclvl
else if ilvl<99-[qlvl/2] then alvl=ilvl-[qlvl/2]
else alvl=2*ilvl-99

if alvl>99 then alvl=99
或者我用Java代码写一下就是这样的

int computeAlvl() {
        if (qlvl > ilvl) {
            ilvl = qlvl;
        }
        if (magiclvl > 0) {
            alvl = ilvl + magiclvl;
        } else if (ilvl < 99 - Math.floor(qlvl / 2)) {
            alvl = (int) (ilvl - Math.floor(qlvl / 2));
        } else {
            alvl = 2 * ilvl - 99;
        }
        if (alvl > 99) {
            alvl = 99;
        }
        return alvl;
    }

评分 TOP


©2008-2009 暗黑战网(anhei3.net)