暗黑破坏神吧 关注:685,561贴子:20,687,905

暗黑物品掉落原理-深入篇

只看楼主收藏回复



IP属地:湖北1楼2011-02-25 19:33回复
    IP属地:湖北2楼2011-02-25 19:33
    回复
      2025-08-19 20:32:23
      广告
      不感兴趣
      开通SVIP免广告

          
          
          
          
      暗黑物品掉落原理-深入篇
          
          
           
          
           
        
        
        
        
      


      IP属地:湖北3楼2011-02-25 19:33
      回复

        1.        原版和资料片的TC系统在游戏代码中是由两个相互独立的文件控制的。本文仅以资料片为准,不讨论非资料片中的情况。
        2.        本文主要讲解噩梦和地狱难度的物品掉落情况,如无特殊说明则默认以地狱难度为准。
        3.        诸如超级暗黑破坏神、6BOSS等特殊掉落怪没有深入研究的必要,因此本文只讨论物品的一般掉落过程。
          


        IP属地:湖北4楼2011-02-25 19:34
        回复

          一、场景等级(Alvl)与怪物等级(Mlvl)、TC的内在关系
          1.      Mlvl的生成
                地狱和噩梦难度中,除了关底BOSS和普通BOSS,所有的怪物的Mlvl都不再由Monstats.txt中的代码规定,而是根据其所在场景等级而临时生成。
                  *场景的等级的生成:首先在Levels.txt中LevelName项中读取场景的名称,然后找到该场景对应的MonLvl1/ MonLvl2/ MonLvl3项,分别代表了在普通\噩梦\地狱难度下原版游戏中的场景等级,而MonLvl1Ex/ MonLvl2Ex/ MonLvl3Ex项则分别代表了在普通\噩梦\地狱难度下资料片中的场景等级
                  *注意   1)要注意区分【普通BOSS】和【固定精英怪Super Unique】,虽然在游戏中都表现为有固定名字、固定地点、固定部分属性的暗金怪物,但两者实际是完全不同的怪物类别。普通BOSS是不受场景等级约束的,它有自身固定不变的Mlvl。而固定精英怪则受到场景等级的约束,虽然因为它所在的位置固定因此Mlvl也是固定不变的,但他的Mlvl并不是自身的等级而是由其场景等级生成。
                   例如:血乌是一个位于埋骨之地的BOSS,其自身Mlvl=88,和埋骨之地的Alvl=80完全无关。    毕须博须是位于冰冷之原的固定精英怪,因此其怪物等级被其所在的冰冷之原的Alvl=68修正为Mlvl=68+3=71。同样地,一个位于冰冷之原的随机精英怪Mlvl=68+3=71,其随从Mlvl=68+3=71。一个位于冰冷之原的头目怪Mlvl=68+2=70。
                  2)【腐败污秽者】及其同类型的怪物是整个暗黑怪物中的唯一特例。其不管是作为小怪还是头目还是精英怪,其怪物等级都不会受场景等级的修正而永远保持自身的等级不变。因此,不管它出现在哪里,其等级都是固定的,具体等级如下:
          名称Mlvl
                                                                             普通 噩梦 地狱
          腐败污秽者(putrid defiler)35    61 80
          卑劣污秽者(wretched defiler)37    62   81
          臭气污秽者(fetid defiler) 38    63   82
          恶臭污秽者(rancid defiler)39    64   83
          下Jian污秽者(rank defiler)40    64   84
                  如图所示,在世界之石要塞(Alvl=85)中死神之王的Mlvl被修正为85,随机精英死神之王的Mlvl为85+3=88。而其身边的恶臭污秽者仍保持自身的Mlvl=83不受场景影响,精英随从的恶臭污秽者等级Mlvl=83+3=86。
                  产生这一现象的原因是在Monstats.txt中,腐败污秽者系列5种怪物的代码BOSS一项被设置为=1。于是这一系列的怪物成了整个游戏中唯一被当做BOSS看待的小怪。由于其在代码中错误地被设置为了BOSS,所以其等级不受场景等级的约束……个人猜测这或许是暴雪在设置游戏代码时的失误。
            
            
          


          IP属地:湖北5楼2011-02-25 19:34
          回复

            二、实际TC系统详解
               1.TC系统中的主要控制项:
                   我们在入门篇中将TC系统简化为了一个简单的数字等级,但实际的TC系统并不是一个简单的数字。实际TC系统是一个目录清单系统,每一个单独的子TC目录都记录有如下的信息:
                      Treasure Class:这一项定义该TC的名称
               Group:这一项定义该TC所在的组别
                      Level:这一项定义了该TC的等级
            这里就是前文【TC升高原理】中所用到的TC等级(treasureclasses level),这是D2代码中对一个组中的TC进行的分级。从0~85,间隔不固定。无组别(Group项为空)的TC无此等级。(也就是说85级场景的普通小怪的TC恰好能通过TC升高原理而达到最高TC,而83级场景是普通小怪的自动匹配TC达到87的最低要求Alvl,这一点在后文中解释)
                      Picks:这一项数据的绝对值代表了该TC选取物品的数目。PICKS数的正负实际上是对Prob1-10项作用的规定。
            当PICKS数为正数时,则在该TC中有放回地按照各自的概率抽取物品。当PICK数为负数时,则规定了物品的数量(参见下面对Prob1-10的说明)
            *有人把PICKS数的正负理解为有放回抽取、无放回抽取,这是错误的。暗黑2中,无论PICKS数正负,只要符合TC,总是有可能在同一个怪物上掉落2个一模一样的装备(暗金的不可以,后文将对暗金物品的掉落做出更详细的解释)。
                      Unique,Set,Rare,Magic:四项分别代表了暗金,绿色,黄金,蓝色判定的【修正参数】
            修正后掉落几率值=修正前掉落几率值* (1-修正参数/1024)
            *当某一个成色的修正参数≥1024时,则成色判定到此结束。也就是说该TC只能掉落当前成色品质或更好的成色品质。比如设置Magic=1024,那么如果物品判定为暗金、绿色、黄色则与此无关。如果物品没有被判定为暗金、绿色、黄色则100%被判定为蓝色。
            例如:墨菲斯托的修正参数为Unique=800,Set=800,Rare=900,Magic=1024
            则其掉落暗金的判定几率修正为约4.57倍,绿色的判定几率修正为约4.57倍,绿色的判定几率修正为约8.26倍,蓝色的判定几率修正为正无穷大倍。即最低判定蓝色(成色判定到蓝色为止,不掉落蓝色以下装备)
                      NoDrop:此处定义了该TC不掉任何物品的几率
                      Item1-10:这10列定义了该TC可掉落的各种物品(也可以填入一个子TC)
                      Prob1-10:当PICKS数为正数时,这一栏的数字代表了对应Item1-10中的物品的掉落几率。当PICK数为负数时,这一栏的数字代表了对应Item1-10中的物品取出的实际数量。
                   *一般来说,当PICKS为负数时,Prob1+ Prob2+…Prob10=PICKS数绝对值。   
                但当Prob1~Prob10之和大于PICKS数绝对值时,游戏仍只会掉出PICKS数绝对值个物品,按照Prob1~Prob10的顺序和数量选取物品,到达PICKS数绝对值则停止。也就是说最多只会掉落PICKS数绝对值个物品而不会超过PICKS数绝对值。   
                而当Prob1~Prob10之和小于PICKS数绝对值时,游戏取完Prob1~Prob10的物品数量后则选取结束。也就是说最终只会掉落Prob1+ Prob2+…Prob10的物品数而达不到PICKS数绝对值。   
                当然,无论在任何情况下,一个怪物掉出6个物品则立刻停止掉落,这是由游戏的硬代码所规定的。
                例如:如果某个怪物的TC设置为PICK=7,共有Item1=A,Item2=B这2个物品可掉落。NoDrop=100,Prob1=15,Prob2=1。则怪物每次判定掉落,不掉东西几率为100/(100+15+1)≈86.2%,掉出A的几率为15/(100+15+1)≈12.9%,掉出B的几率为1/(100+15+1)≈0.86%。共循环判定7次,但一旦掉落出6个物品则判定终止。(以上数据还要经过多项修正,这将在下文中详细解释)
                若修改PICK= - 3,NoDrop=0,Prob1=2,Prob2=1。则该TC固定掉落出2件A物品,1件B物品。


            IP属地:湖北7楼2011-02-25 19:35
            回复
                 2.待掉落物品在TC系统中的归类存放
                    1)自动TC匹配系统
                   每个TC中都会详细地列出其中所包含的物品装备,但自动TC除外。自动TC匹配系统允许TC只记录一个数字,游戏会根据这个数字自动找到匹配的Qlvl的所有底材。
                   自动TC从3到87,每次加3,共有29个自动TC等阶。每个自动TC等阶包含了其之下3个等级的Qlvl。例如“自动TC等阶87”包含了85~87这3个Qlvl的所有底材。
                      *底材Qlvl设定:游戏会从Weapons.txt中Level列读取武器底材的Qlvl,从Armor.txt中同一位置读取防具底材的Qlvl,从Misc.txt中同一位置读取饰品底材的Qlvl
              *注意:饰品(项链、戒指)的底材Qlvl=1固定不变(任务物品蝮蛇项链这里不讨论)
                   游戏中允许使用自动TC匹配系统的物品类型在ItemTypes.txt中被确定。其中TreasureClass一项=1则表示允许使用自动TC匹配。实际游戏中有5类物品允许使用自动TC匹配,分别是:弓(bow),武器(weap),近战武器(mele),防具(armo),亚马逊专用弓(abow),简单说就是游戏中所有的【武器】和【防具】能使用自动TC匹配系统。其中的几个子武器类别是用于修正近战和远程武器在不同怪物中的掉落几率而设(例如有些弓箭手怪物的TC中包含了自动TC“bow+数字”,于是其掉落弓的几率相对大一些)
                      *我们在入门篇中介绍的TC=XX,这个XX数字就是该怪物TC中的自动TC等阶的最高等阶值。我们在日常交流和地图插件中显示的都是这个值。
                   比如地狱难度墨菲斯托的TC中的自动TC最高为“weap78”和“armo78”,因此我们简称墨菲斯托TC=78。这也就能理解我在上文中提到的83场景的小怪和85场景的小怪TC不同了,虽然都简称TC=87。这是由于两者的TC中的自动TC的最高等阶都是87,因此两者都有可能掉落Qlvl=85~87的最高级的底材。但两者的TC是完全不同的两个TC,因此掉落同一底材的几率完全不同。
                 2)其他杂物的存放
                     杂物在TC中分为3大类,分别是金币(Gold)、货物(Good)和废物(Junk)
              *这里稍做介绍以方便大家深入研究TC嵌套系统,不耐的话可以跳过。
                     货物(Good)中包含有:珠宝饰品(Jewelry)、宝石(Gem)、符文(Runes)
                     废物(Junk)中包含有:药水(Potion)、杂物(Misc)、弹药(Ammo)
                       -珠宝饰品(Jewelry)中包含有:戒指、项链、珠宝、护符
                      -药水(Potion)中包含有:各种生命药剂、魔法药剂、活力药剂、溶解药剂、解毒药剂、耐力药剂
                      -杂物(Misc)中包含有:钥匙、回城卷轴、鉴定卷轴、各种投掷类药剂
                      -弹药(Ammo)中包含有:箭矢、十字弓弹
                    这些子TC也像所有TC一样,以PICKS代表了抽取装备的数量,Item和Prob标示出物品和几率。这里着重介绍一下符文TC系统的结构:
                    符文TC共有17个,每个TC包含2个符文以及嵌套入上一等级的符文TC,第1级符文TC只包含1#和2#,第17级符文TC只包含33#和上一级TC。
                    例如:【Runes 1】这个TC包含了1#和2#
                          【Runes 2】这个TC包含3#、4#以及子TC【Runes 1】
                          【Runes 17】这个TC包含了33#和子TC【Runes 16】.
                         3)TC嵌套系统以及对怪物掉落的修正
                       一个TC的Item项不仅能填入一个物品代码,还能填入一个TC名称。因此一个TC中可能包含另一个TC,就像一本书的目录中的大标题下可以包含小标题一样。这就是TC嵌套系统。
                      上文中的符文TC就是通过TC嵌套系统使得当前符文TC可以掉落之前的符文TC包含的所有符文。
                    
                            TC嵌套系统最大的作用就是对怪物的掉落物品类型作出修正。比如在一个近战怪的总掉落TC下嵌套进一个近战武器的自动TC并设定概率,这就能提高这个怪物掉落近战武器的概率。又比如,在一个怪物的TC中分别嵌套进装备和药水2个子TC,并设定好数量,就能让怪物每次都掉落固定数量的装备和药水。
              *要使得怪物掉落金币,除了在其TC中嵌套入金币子TC外,还可以直接填入"gld,mul=2048"之类的值以使得BOSS怪掉落更多的金币。
                      例如:女伯爵的总掉落TC中嵌套有女伯爵物品子TC和女伯爵符文子TC这2个子TC。然后在女伯爵物品子TC中嵌套有其能掉的金币、装备、杂物(包括符文),在女伯爵符文子TC中嵌套有另一个符文TC。于是女伯爵这个怪物的符文爆率就会高于一般怪,并且只对一定范围的符文提高爆率。
                
              


              IP属地:湖北8楼2011-02-25 19:35
              回复

                   三、装备掉落过程详解
                     1.物品底材掉落判定过程
                        1).对于非BOSS怪,首先在Monstats.txt中得到怪物的初始TC名称(如果是固定精英怪则在SuperUniques.txt中得到其初始TC)。
                        2).在TreasureClassEx.txt中找到该初始TC名称所在的TC组,并对其TC等级(treasureclasses level)进行判定是否执行TC升高(group=0的怪跳过这一过程直接进入4.)。
                        3).然后,根据TC升高原理在初始TC所在的TC组中进行TC升高得到其最终TC。
                        4).在TreasureClassEx.txt中找到该怪物的最终TC(BOSS和一些特殊怪的TC直接以其名字命名),确定PICKS数为正数还是负数
                        5).若PICKS数为正数,则每个子TC的判定概率= 其对应Prob值/(Nodrop值+ 所有Prob值之和)
                                     *注意:此处的Nodrop几率会被游戏人数修正,具体修正规则如下:
                             在多人游戏里,先要进行人数记数,方法如下:杀死怪物者记1,与杀怪者结盟并在同一场景的人,每人记1,其余的人每人记0.5 .
                             将这些数相加,总和要向下取整数.设记数的结果为p,则修正后的Nodrop几率为初始Nodrop几率的p次方.(注意这里使用的是Nodrop几率而不是Nodrop值)
                6).若PICKS数为负数,则每个子TC按照其Prob值中的数量掉落,掉完所有Prob值为止,但不超过总PICKS绝对值
                7).进入子TC,重复5过程
                8).一旦实际掉落物品达到6个则立刻停止掉落判定。
                9).若本次PICKS的掉落TC最终被判定为一个自动TC(即本次掉落物品被判定为一件武器或防具),那么就由ItemTypes.txt中读取匹配该自动TC等阶的所有底材的所属物品种类(如剑、长柄、弓等)的稀有度(Rarity)。按照稀有度确定其被选择的几率。
                             *注意:
                                       1.底材的抽取按照稀有度确定各自的概率,而不是很多人理解的该TC内所有物品被选择的几率相同
                                       2.这里使用的是底材所属【物品种类】的稀有度,而不是底材本身的稀有度。例如:在TC“bow63”中阴影弓被抽取的概率取决于【弓类武器】的稀有度而不取决于【阴影弓】的稀有度。     *至于武器、防具底材自身的稀有度是用于武器架、防具架的掉落,杂物底材的稀有度理论上没有任何实际用途。
                        在该自动TC等阶中随机选取一件物品底材掉落,每个物品底材被选取的几率= 该底材所属物品种类的稀有度/ 该自动TC等阶中所有底材物品种类的稀有度之和
                ·   一般物品种类的稀有度为3
                    ·   圣骑士【权杖】、女巫【双手法杖】、死灵法师【手杖】以及【女巫专用法珠】、【死灵法师专用盾】【野蛮人专用头盔】、【德鲁伊专用头盔】、【亚马逊专用弓】、【亚马逊专用矛】、【亚马逊专用标枪】稀有度为1
                    ·   【刺客专用爪】稀有度为2


                IP属地:湖北9楼2011-02-25 19:36
                收起回复
                  2025-08-19 20:26:23
                  广告
                  不感兴趣
                  开通SVIP免广告

                       2.物品成色判定过程
                         1).从ItemRatio.txt中按照当前底材情况读取成色判定参数
                            (分为6种情况,分别是1.非资料片普通级底材2.非资料片扩展级底材3.资料片普通级底材4.资料片扩展精华级底材5.普通级职业专属底材6.扩展精华级职业专属底材)
                       根据得到的4组成色判定参数(Unique、UniqueDivisor、UniqueMin) (Rare、RareDivisor、RareMin) (Set、SetDivisor、SetMin)    (Magic、MagicDivisor、MagicMin)分别计算出该底材判定为暗金、绿色、黄色、蓝色的基础几率。
                        计算方法如下,以暗金为例:
                             基础暗金判定几率值 = (Unique– (MLvl-底材QLvl)/UniqueDivisor)
                             最小暗金判定几率值= UniqueMin
                           其他成色计算与之同理
                        资料片中的成色判定参数如下:
                          *第一行为通用物品参数,第二行为职业专属物品参数。表中将Unique/Rare/Set/Magic分别简称为U/R/S/M。
                  ┌———┬—————┬———┬——┬—————┬———┬——┬—————┬———┬———┬—————┬———┐
                  │Unique│ U Divisor│ U Min│Rare│ R Divisor│ R Min│ Set│ S Divisor│ S Min│ Magic│ M Divisor│ M Min│
                  ├———┼—————┼———┼——┼—————┼———┼——┼—————┼———┼———┼—————┼———┤
                  │   400│ 1│6400│ 100│ 2│3200│ 160│ 2│5600│34│ 3│ 192│
                  ├———┼—————┼———┼——┼—————┼———┼——┼—————┼———┼———┼—————┼———┤
                  │   240│ 3│6400│80│ 3│3200│ 120│ 3│5600│17│ 6│ 192│
                  └———┴—————┴———┴——┴—————┴———┴——┴—————┴———┴———┴—————┴———┘
                  


                  IP属地:湖北10楼2011-02-25 19:36
                  回复
                       2).根据人物MF值对成色判定几率进行修正:
                             *此处的MF值为杀死怪物者在怪物死亡的那一刻全身的MF值总和,雇佣兵的MF值=人物MF值+雇佣兵装备上MF值总和
                                    a)首先计算MF值将各成色判定几率增加的百分比
                                  暗金判定增加:UF = [MF * 250 / (MF + 250)]
                                  绿色判定增加:SF = [MF * 500 / (MF + 500)]
                                  黄色判定增加:RF = [MF * 600 / (MF + 600)]
                                  蓝色判定增加:MF=MF
                                    b)MF值对各成色判定几率的修正计算:
                                  MF修正后暗金判定几率值=基础暗金判定几率值/(1 +UF%)
                                  其他成色计算与之同理
                             3).检测MF值修正是否溢出
                            当MF修正后的暗金判定几率值<最小暗金判定几率值(UniqueMin)时,则暗金判定几率值= UniqueMin
                            其他成色计算与之同理
                             4).怪物TC对成色判定的修正:
                             BOSS、精英怪、头目怪的物品TC对成色判定几率有加成,具体计算如下:
                             由掉落该底材的具体TC中读取Unique、Rare、Set、Magic 4项修正参数的值(参见上文“TC系统主要控制项”一节中的内容)计算该TC对各成色判定的加成
                             最终判定几率值=MF值修正后的判定几率值* (1 -修正参数/ 1024)
                    5).计算最终各成色判定实际几率
                                  成色判定实际几率= 128 /(1 +最终判定几率值)
                    6).按照 暗金-绿色-黄色-蓝色的顺序开始逐一判定
                             若某一成色判定成功则立刻停止不再判定更低级别的成色。
                             *若怪物TC对某一成色判定的修正参数≥1024,则该成色为此TC掉落的最低成色。例如Magical=1024,则该怪物掉落的装备最低为蓝色。
                    7).强制成色限制:
                                       ItemTypes.txt中对物品类型的成色的作出了限制:
                                 戒指、项链不存在蓝色以下形态(Magic=1,Rare=1,Normal=0)
                                 护符只存在蓝色(Magic=1,Rare=0,Normal=0)、暗金(这个在UniqueItems.txt中被设定)形态
                                 所有杂物都不存在成色判定(Magic=0,Rare=0,Normal=1),如金币、药水、弹药、符文等
                    8).暗金、绿色最终形态的确定以及降格判定
                             当物品成色成功被判定为暗金或者绿色时,需要进一步通过成品Qlvl的检测。每一个暗金/绿色物品都有自己不同于底材Qlvl的独有的【成品Qlvl】。
                         当怪物等级Mlvl≥暗金、绿色物品的成品Qlvl时,才能掉落该暗金、绿色物品。
                             当满足怪物Mlvl的暗金、绿色物品有多个时,根据其成品稀有度(该数据从UniqueItems.txt和SetItems.txt的Rarity列得到)来确定各自的概率(Rarity /总Rarity),从中随机抽取一个。
                             例如,地狱巴尔出了一件【神圣盔甲】,并且成功地被判定为了暗金色。由于地狱巴尔的Mlvl同时满足【泰瑞尔的力量】和【圣堂武士的力量】的成品Qlvl,因此两者都有可能掉落。泰瑞尔的力量 稀有度为1,圣堂武士的力量 稀有度为8,因此这件暗金的神圣盔甲被判定为泰瑞尔的力量的概率是1 /(1+8)≈11.1%
                             *注意:这里使用的是物品的暗金/绿色形态的稀有度,而不是物品底材的稀有度。(上文已经说过,物品底材的稀有度和怪物掉落物品的几率基本没有关系)


                    IP属地:湖北11楼2011-02-25 19:36
                    回复
                      9).白色品质判定
                             当暗金-绿色-黄色-蓝色成色判定全部失败后,物品被确定为白色物品。这时开始判定物品的品质,按照超强的-普通的之顺序依次判定。
                             与颜色判定类似地,先从ItemRatio.txt中读取资料片游戏的品质判定参数:
                                     *第一行为普通级通用物品参数,第二行为扩展、精华级通用物品参数,第三行为普通级职业专属物品参数。第四行为扩展、精华级职业专属物品参数。
                      ┌—————┬————————┬———┬———————┐
                      │ HiQuality│HiQualityDivisor│Normal│ NormalDivisor│
                      ├—————┼————————┼———┼———————┤
                      │12│ 8│ 2│ 2│         
                      ├—————┼————————┼———┼———————┤
                      │12│ 8│ 1│ 1│         
                      ├—————┼————————┼———┼———————┤
                      │ 9│ 8│ 2│ 2│         
                      ├—————┼————————┼———┼———————┤
                      │ 9│ 8│ 1│ 1│        
                      └—————┴————————┴———┴———————┘
                             计算公式和颜色判定相同,但不受任何外在影响修正(超强/普通的判定不受MF值影响)
                                 判定为超强的之最终概率=128 /(1 +(HiQuality–(MLvl-QLvl)/HiQualityDivisor))
                                 判定为普通的之最终概率= 128 /(1 +(Normal–(MLvl-QLvl)/NormalDivisor))
                      10).若该白色物品判定为超强的(High Quality)和普通的(Normal)都失败了,那么该物品被判定为劣质的(Low Quality)
                      11).生成凹槽
                      白色物品中,所有的超强(High Quality)和普通(Normal)品质的物品有1/3的机会产生凹槽,凹槽数量=1~凹槽最大值。(具体凹槽数的生成将在下文中详细讲解)
                      *注意:牛魔王套装只有在牛关这个地图中才会掉落。但其掉落判定和一般装备掉落判定过程没有任何的不同,不存在特殊的掉率。
                      


                      IP属地:湖北12楼2011-02-25 19:37
                      回复
                        4.属性生成的限制和规则
                        1)暗金物品
                                  暗金物品有最多12条固定属性,属性值可能有波动。
                        2)绿色物品
                                 绿色物品有最多9条自身固定属性,属性值可能有波动。每多装备1件同属一套的绿色装备,最多增加2条固定套装属性。套装最多包含6件物品。
                        3) 黄色和蓝色物品
                                 黄色和蓝色物品的属性是按照词缀来随机生成的,每条词缀最多包含3个固定属性,属性值可能在一定范围内波动。蓝色物品最多拥有1个前缀和1个后缀,最少1条词缀。黄色物品最多拥有3个前缀和3个后缀,最少2条词缀。同组的词缀只能出现1次(Magic Prefix、Suffix.txt中Group值相同的词缀为同组)。
                            *物品的【魔法等级】MagicLevel:
                            只有少数物品拥有魔法等级,这是物品底材对其能出现的词缀等级范围的修正属性。
                            各种底材的魔法等级如下:
                            头饰=3、宝冠=8、三重冠=13、权冠=18,女巫法珠、双手法杖=1,普通、扩展级手杖=1
                           *【物品最高词缀等级】Max_Affix Level(简称Max_Alvl):
                            这里指的是物品允许出现的最高词缀等级Affix Level(简称Alvl),其值确定方式如下
                             若物品MagicLevel≠0,则Max_Alvl = Ilvl和Qlvl两者中的较大值+MagicLevel若物品MagicLevel=0且    Ilvl和Qlvl两者中的较大值 < (99 - Qlvl/2), 则Max_Alvl = Ilvl和Qlvl两者中的较大值- Qlvl/2否则Max_Alvl = 2 * Ilvl和Qlvl两者中的较大值- 99
                                  这里简单地说一下随机词缀的生成过程:
                                 首先随机确定该物品词缀的数量,蓝色1~4,黄色2~6。然后进入每条词缀的选择
                                      对于每条词缀:
                        a)首先随机确定其是后缀还是前缀,前缀则进入magicprefix.txt的代码中选择,后缀则进入magicsurfix.txt的代码中选择
                        b)检测游戏版本,Version=100的词缀只能出现在资料片游戏中
                        c)检测物品成色,Spawnable=0的词缀不能作用于蓝色和黄色物品上,Rare=0的词缀不能作用于黄色物品上
                        d)检测物品底材类型,根据底材类型确定能够选择的词缀范围
                        e)检测物品等级,根据物品等级进一步确定能够选择的词缀范围(只有 词缀等级Alvl ≤ 物品最高词缀等级Max_Alvl ≤ 词缀最大等级maxlevel 时才能被选取)
                        *注意:实际上暗黑2中并没有限制物品等级过高而无法选择某词缀。 这个maxlevel是用于让高等级物品选择某词缀时能获得更好的变量而设的。也就是说,某些词缀在代码中按照变量范围被拆分为了几份,高等级的物品只能获得该词缀的高变量版本。
                        f)所有的可选词缀按照frequency值计算器被选中的概率(概率=该词缀frequency /所有待选词缀frequency之和,类似于稀有度的使用),再根据计算出的概率随机选出1条词缀
                        g)检测group值,如果该词缀的group值已经出现过则返回f).重新选择
                        h)本条词缀生成确定,返回a).生成下一条词缀
                        4) AutoMod属性:
                        AutoMod可以看做物品上追加的前缀和后缀。因为AutoMod属性是由AutoMagic.txt中的词缀组成的。
                                  AutoMod词缀的选择原理和蓝色/黄色物品词缀的选择原理完全一样,可以参考上文的介绍。(这就是为何游戏中不会出现又加4R又加AR/ED的圣骑士专用盾了,因为这两个词缀是同属于304组的词缀,不会出现在同一物品上。)


                        IP属地:湖北14楼2011-02-25 19:37
                        回复
                          5)StaffMod属性:
                          一些物品上能随机出现+1~3级单项技能的属性,最多附加3个技能,这就是StaffMod。
                          a.可带StaffMod的底材
                                   能附带StaffMod的物品及其技能选取:
                          一部分的刺客爪: 加刺客技能
                                    手杖(wand)、死灵专用盾牌: 加死灵法师技能  
                                    野蛮人专用头盔: 加野蛮人技能
                          圣骑士权杖(scepter): 加圣骑士技能
                                    女巫专用法珠、双手法杖(orb,staff): 加女巫技能
                                    德鲁依专用头盔: 加德鲁依技能
                                    *注意:刺客爪的底材类型分为两类:H2H和H2H2,只有后者能附带StaffMod。Qlvl≥41的底材属于H2H2,也就是说只有【手镰】以及更高级的刺客爪才能附加StaffMod。
                          b.技能等阶限制
                                    *技能等阶:
                                    暗黑2中的技能树从上到下分为6阶,人物每6级才能开始学习下一阶的技能。
                                    即 技能等阶=技能初始要求人物等级/6+1 (例如:等级要求1的技能属于1阶,等级要求6的技能属于2阶,等级要求36的技能属于6阶。)
                                                              物品上StaffMod可能出现的技能的等阶取决于物品等级Ilvl,具体概率如下表:
                          ┌————————┬—————————————————┐
                          ││技能等阶│
                          │物品等级├——┬——┬——┬——┬——┬——┤
                          ││ 1│ 2│ 3│ 4│ 5│ 6│
                          ├————————┼——┼——┼——┼——┼——┼——┤
                          │      ILvl ≤ 11│ 80%│ 20%│ -- │ -- │ -- │ -- │
                          ├————————┼——┼——┼——┼——┼——┼——┤
                          │12 ≤ ILvl ≤ 18│ 30%│ 50%│ 20%│ -- │ -- │ -- │
                          ├————————┼——┼——┼——┼——┼——┼——┤
                          │19 ≤ ILvl ≤ 24│ 10%│ 20%│ 50%│ 20%│ -- │ -- │
                          ├————————┼——┼——┼——┼——┼——┼——┤
                          │25 ≤ ILvl ≤ 36│ -- │ 10%│ 20%│ 50%│ 20%│ -- │
                          ├————————┼——┼——┼——┼——┼——┼——┤
                          │37 ≤ ILvl ≤ 99│ -- │ -- │ 10%│ 20%│ 50%│ 20%│
                          └————————┴——┴——┴——┴——┴——┴——┘
                                     因此出现在同一物品上的技能其等阶相差不会超过3阶,很多理想中的技能组合是不可实现的:如 冰支配和热情(Warmth)不会出现在同一法珠上,召唤骷髅和衰老不会出现在同一手杖上,火焰震爆不会和雷光守卫、亡者守卫出现在同一刺客爪上。


                          IP属地:湖北15楼2011-02-25 19:37
                          回复
                            c.技能的物品需求限制
                                      1.10之后,StaffMod的技能选择除了等阶限制外,又增加了对物品类型的限制。
                                      *技能的物品需求限制:
                                      每个技能都限制了其需求的物品类型,只有当人物装备了该技能的需求物品时才能释放该技能。例如只有装备近战武器时才能施展旋风Whirlwind,只有装备了盾时才能施展圣盾Holy Shield。
                                       只有物品类型符合该技能的需求限制时,StaffMod才会选择该物品。
                                      *注意:StaffMod对技能的选择最多会循环6次,如果选择到符合要求的技能则结束。如果前5次都随机到需求类型不符的技能时,第6次无论随机到什么技能都会结束选择,无论第6次选择的技能是否要求。(这也是为什么我们在游戏中能看到加圣盾的权杖的原因所在)
                            


                            IP属地:湖北16楼2011-02-25 19:38
                            回复
                              2025-08-19 20:20:23
                              广告
                              不感兴趣
                              开通SVIP免广告

                              【暗黑物品掉落原理-深入篇】全文完,敬请关注 终篇:【暗黑物品掉落原理-实例篇】
                              漠然轻寒
                              2011.2.21草稿
                              2011.2.23初稿
                              2011.2.24测试、截图
                              2011.2.25完稿


                              IP属地:湖北17楼2011-02-25 19:38
                              回复