• 7438阅读
  • 10回复

Object Drop Principle [复制链接]

上一主题 下一主题
离线铃铛
 

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看楼主 倒序阅读 使用道具 楼主  发表于: 2010-11-29 10:23:11
Object Drop Principle
游戏中有各种各样的目标(object),包括箱子,尸体,石头,陷阱,金钱等等,他们的物品掉落规则根据他们在object.txt中initFN(initiationFN)和 controlFN 这两个标识的不同而不同。有些object看起来可能一样,但是事实上他们是不同的object,initFN和 controlFN 标识不同,因而在物品掉落过程中会使用不同的初始值(initiation)和控制函数(control)。而有些外形不同的object则可能使
用相同的初始值(initiation)和控制函数(control)。在object.txt中共有接近600种object,本文不打算将他们一一列出,而是在initFN和 controlFN 标识的基础下,简述object drop的原理。文章最后将指出大家所关心的宝箱(sparkly chest,OperateFn=4, InitFN=57)的特殊掉落规则作为例子。

因为我一直在玩英文版,加上很多东西不太好直接翻,所以一些英文名称所代表的东西还请大家自己到游戏中去对照寻找。
最后想说的是看这篇帖子,需要对TC系统和mf过程已经有足够的认识。

武器架和装甲架的掉落情况属于特例,并不包含在objects中,在本文最后会有具体介绍.
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 沙发  发表于: 2010-11-29 10:23:19
一.initFN and controlFN
首先需要了解一下不同的initFN and controlFN分别控制的什么object
initFN:
initfn 2, 其他initFN不能处理的object都归它处理。
initfn 3, 主要用于处理chest。 
initfn 57, 用于处理sparkly chest和special chest(就是宝箱类,很多箱子都是special chest,比如act2的Arcane Sanctuary场景有三个方向是以箱子作为结束的。那些箱子也是由initfn 57处理。更多的细节在object.txt中查找)
initfn 27, 用于处理sand maggot lair中的goo piles(就是看上去是绿色的,粘粘的)
initfn 28 ,用于地上摆放着的gold的生成

controlFN 
operatefn 4, 主要用于处理chest,包括sparkly chest 和special chest。同时也用来处理ratnest(老鼠窝), caskets(棺材) in arcane sanctuary, hidden stashes in act 5, tombs, and some dead bodies.
operatefn 1, 用来处理绝大部分的棺材,石馆什么的。caskets, beds and sarcophaguses
operatefn 3, urns(瓮), rock piles, baskets(篮子) and jars
operatefn 5, barrels(木桶)
operatefn 14, crates(柳条箱), rogue corpses(rogue的尸体), jugs, rock piles, logs(原木), boulders, stashes, cocoons(茧), goo piles, dead guards and some more.
operatefn 26, bookshelves(书架)
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 板凳  发表于: 2010-11-29 10:23:24
二.TC选择。
所有的object在这里是相同的。
选择的原理:在TearsureClassEx.txt中(Ex是指资料片)有关于箱子的TC定义,其命名规则如下:
"Act "+act_number+" "+difficulty_code{"","(N)","(H)"}+" Chest "+area_code{"A","B","C"}
比如hell难度下act3的object有以下三个TC:Act 3 (H) Chest A,Act 3 (H) Chest B,Act 3 (H) Chest C。
每一act都有A,B,C三种TC,系统按照如下规则确定到底该object属于a,b还是c:
首先,对于每一act系统会选取某一场景,将其alvl作为最高值;同时选择另一场景,将其alvl作为最低值。
然后,根据最高值和最低值将他们中间的区域3等份。
最后,考虑待判定TC的object所在的场景的alvl是属于以上3个区间中的那一个。
     第一个则为A,第二个则为B,第三个则为C。

对于每一act所选取的作为最高值和最低值的场景是固定的。
Blood Moor = act 1 (最低值)
Catacombs Level 4 = act 1 (最高值)
Rocky Waste = act 2 (最低值)
Duriel's Lair= act 2 (最高值)
Spider Forest= act 3 (最低值)
Durance of Hate Level 3= act 3 (最高值)
Outer Steppes= act 4 (最低值)
Chaos Sanctum = act 4 (最高值)
Harrogath = act 5 (最低值)
World stone Chamber = act 5 (最高值)

note:1.其实这里选取的最高/低值并不是真正的最高/低值,如act1的真正最高值应该是act1的一些85场景      2.比较特殊的是act5的最低值,系统选择了alvl=0的harrogath,导致act5的所有object TC几乎都是选择act5的C。

通过以上规则算出的各个场景object TC选择如下。
普通    噩梦    地狱       场景名称
Act 1
A________A________A________Blood Moor
A________A________A________Cold Plains
A________A________A________Stony Field
B________B________A________Dark Wood
B________B________B________Black Marsh
B________B________B________Tamoe Highland
A________A________C________Den of Evil
A________A________C________Cave Level 1
A________A________B________Underground Passage Level 1
B________B________C________Hole Level 1
B________B________C________Pit Level 1
A________A________C________Cave Level 2
A________B________C________Underground Passage Level 2
B________B________C________Hole Level 2
B________C________C________Pit Level 2
A________A________C________Burial Grounds
A________A________C________Crypt
A________A________C________Mausoleum
A________A________A________Forgotten Tower
B________B________C________Tower Cellar Level 1
B________B________C________Tower Cellar Level 2
B________C________C________Tower Cellar Level 3
B________C________C________Tower Cellar Level 4
B________C________C________Tower Cellar Level 5
B________C________B________Monastery Gate
C________C________B________Outer Cloister
C________C________B________Barracks
C________C________C________Jail Level 1
C________C________C________Jail Level 2
C________C________C________Jail Level 3
C________C________C________Inner Cloister
C________C________C________Cathedral
C________C________C________Catacombs Level 1
C________C________C________Catacombs Level 2
C________C________C________Catacombs Level 3
C________C________C________Catacombs Level 4
B________B________C________Tristram
C________C________C________Moo Moo Farm
Act 2
A________A________A________Rocky Waste
B________A________A________Dry Hills
C________B________A________Far Oasis
C________B________B________Lost City
C________B________B________Valley of Snakes
C________C________C________Canyon of the Magi
A________A________A________Sewers Level 1
A________A________A________Sewers Level 2
A________A________A________Sewers Level 3
A________A________A________Harem Level 1
A________C________B________Harem Level 2
A________C________B________Palace Cellar Level 1
A________C________B________Palace Cellar Level 2
A________C________B________Palace Cellar Level 3
A________A________B________Stony Tomb Level 1
A________A________C________Halls of the Dead Level 1
A________B________C________Halls of the Dead Level 2
A________C________C________Claw Viper Temple Level 1
A________A________C________Stony Tomb Level 2
A________B________C________Halls of the Dead Level 3
A________C________C________Claw Viper Temple Level 2
C________B________C________Maggot Lair Level 1
C________B________C________Maggot Lair Level 2
C________B________C________Maggot Lair Level 3
C________B________C________Ancient Tunnels
C________C________C________Tal Rasha's Tomb
AC________C________C________Tal Rasha's Tomb
C________C________C________Tal Rasha's Tomb
C________C________C________Tal Rasha's Tomb
C________C________C________Tal Rasha's Tomb
C________C________C________Tal Rasha's Tomb
C________C________C________Tal Rasha's Tomb
C________C________C________Duriel's Lair
A________C________C________Arcane Sanctuary
Act 3 
A________A________A________Spider Forest
A________A________B________Great Marsh
B________A________B________Flayer Jungle
B________B________B________Lower Kurast
B________B________C________Kurast Bazaar
C________B________C________Upper Kurast
C________C________C________Kurast Causeway
C________C________C________Travincal
A________A________A________Spider Cave
A________A________A________Spider Cavern
A________B________B________Swampy Pit Level 1
A________B________C________Swampy Pit Level 2
B________B________C________Flayer Dungeon Level 1
B________B________C________Flayer Dungeon Level 2
A________B________C________Swampy Pit Level 3
B________B________C________Flayer Dungeon Level 3
C________B________C________Sewers Level 1
C________C________C________Sewers Level 2
C________C________C________Ruined Temple
C________C________C________Disused Fane
C________C________C________Forgotten Reliquary
C________C________C________Forgotten Temple
C________C________C________Ruined Fane
C________C________C________Disused Reliquary
C________C________C________Durance of Hate Level 1
C________C________C________Durance of Hate Level 2
C________C________C________Durance of Hate Level 3
Act 4 
A________A________A________Outer Steppes
A________A________B________Plains of Despair
B________B________C________City of the Damned
B________B________C________River of Flame
C________C________C________Chaos Sanctum
Expansion
Act 5
A________A________A________Harrogath(不过Harrogath没有object)
B________C________C________Bloody Foothills
B________C________C________Rigid Highlands
B________C________C________Arreat Plateau
C________C________C________Crystalized Cavern Level 1
C________C________C________Cellar of Pity
C________C________C________Crystalized Cavern Level 2
C________C________C________Echo Chamber
B________C________C________Tundra Wastelands
C________C________C________Glacial Caves Level 1
C________C________C________Glacial Caves Level 2
C________C________C________Rocky Summit
C________C________C________Nihlathaks Temple
C________C________C________Halls of Anguish
C________C________C________Halls of Death's Calling
C________C________C________Halls of Vaught
C________C________C________Hell1
C________C________C________Hell2
C________C________C________Hell3
C________C________C________The Worldstone Keep Level 1
C________C________C________The Worldstone Keep Level 2
C________C________C________The Worldstone Keep Level 3
C________C________C________Throne of Destruction
C________C________C________The Worldstone Chamber

至于这些TC名称代表了什么,这里作个简单介绍:
1.任何object的TC都包括4 pick,即最多掉4件物品。把包含4-picks的一次drop称为对TC的一次调用。(这个概念在后面的宝箱的物品掉落规律中要多次用到,为什么有些箱子能掉很多东西,远远大于4,因为他们在drop过程中会多次调用某一TC)
2.任何object的TC都包括nodrop参数,即每一次pick都有可能选择不掉东西。
3.我列出了地狱难度下,不同act的A,B,C TC能掉落的最高rune和最高qlvl的物品,以便大家对A/B/C掉落物品的优劣有直接的印象。
  TC 名称                      rune                qlvl
Act 1 (H) Chest A                26                  63
Act 1 (H) Chest B                26                  66
Act 1 (H) Chest C                26                  66
Act 2 (H) Chest A                28                  69
Act 2 (H) Chest B                28                  69
Act 2 (H) Chest C                28                  69
Act 3 (H) Chest A                30                  72
Act 3 (H) Chest B                30                  75
Act 3 (H) Chest C                30                  75
Act 4 (H) Chest A                32                  78 
Act 4 (H) Chest B                32                  78
Act 4 (H) Chest C                32                  78
Act 5 (H) Chest A                33                  84
Act 5 (H) Chest B                33                  87 
Act 5 (H) Chest C                33                  87

离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 3楼 发表于: 2010-11-29 10:23:29
三.object的物品掉落的一般过程。
1.再创建游戏的过程中,地图被创建,同时确定所有的object的位置。

2.对于所有合适的object检测它是否变为一个陷阱。变为陷阱的几率是(monlvl1/8 + 5) %.其中monlvl1是从levels.txt中读取,代表普通难度下D2C模式该场景的alvl。如果变为陷阱,则等几率变为8种不同陷阱中的任何一个。注意,有些场景的陷阱只能变为8种陷阱中的少数几个,如sand maggot lair。

3.对于所有合适的chest检测它上锁的几率。上锁的几率是(monlvl1/2 + 8) % ,其中monlvl1同上。未上锁的普通箱子在drop过程中只对TC进行一次调用,而上锁的箱子会对TC进行两次调用。所以上锁的箱子会比不上锁的掉更多的东西

4.按照前面的法则,确定该object的TC。

5.接下来的部分是object中最为特殊的部分。
系统中有些dlls函数会检测不同object的controlFN ,从而确定一个X值,使得该object有(100-X)%的几率不掉任何装备,X%的几率按照选定的TC进行drop。
以下是一些object的X值。
operatefn1, caskets, sarcophagues and beds
始终按照选定TC进行drop。但是有18.07%的几率生成怪物。 

operatefn3, urns, jars, baskets, dead body sewers, rock piles
21%的几率按照选定的几率drop。

operatefn14, creates, rogue corpses, skull piles, jugs, loose rocks, a bunch of stashes, rat nests, cocoons, various other 

bodies, some beds and a bunch of other stuff too
始终按照选定TC进行drop。

operatefn26, bookhelf
35%掉书, 65%掉卷轴. 鉴定和回城的几率是1:1

operatefn5, barell
21%几率按照选定TC进行drop. 同时18.07%的几率生成怪物

operatefn4, chest
始终按照选定TC进行drop。


6.mf及其他
object掉落的物品成色判断等同于怪物掉落物品的成色判断。但是有时候会有一个特定的品质参数,比如下面要说的sparkly chest和special chest的drop过程。

最后想提醒一下的是,这部分仅仅是object drop的一般过程。如前所述,系统会根据object的initFN和 controlFN 标识的不同而使用dll中不同的函数来修正drop过程。所以很多object的drop过程并不是这么简单。其中最为复杂的就是sparkly chest和special chest的drop过程。
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 4楼 发表于: 2010-11-29 10:23:34
四.sparkly chest和special chest的drop过程
当一个sparkly chest或special chest打开时,系统按照不同的概率选择不同的drop方案:
方案1 ==  2% chance
方案2 ==  4% chance
方案3 ==  6% chance
方案4 ==  20% chance
方案5 ==  30% chance
方案6 ==  38% chance

方案1:unique drop:这个方案有特定的品质参数,为unique。系统会对该箱子的TC进行第一次调用,并且强制性将所有掉落的物品设定为暗

金的。除去以下3种情况;
1)该物品类型没有unique形态,则物品降格为rare形态,耐久度*3
2)该物品的ilvl不满足unique形态的qlvl要求,则物品降格为rare形态,耐久度*3
补充说明object drop的ilvl计算:兵器架上的物品, ilvl = arealvl -1; 其它物品 ilvl = arealvl 。
3)掉落的是rune,gold等物品。

系统将检测该次调用所掉落的最后一件物品,如果是暗金的,则本次drop结束。该sparkly chest不会再掉落任何东西。
但是如果最后一件物品属于以上3种情况,则系统会对TC进行第二次调用,并且对第二次调用中最后掉落的物品进行unique检测。
如果成功,则本次drop结束;如果再次失败,则转到方案6继续drop。


方案2:set drop:和1的区别是,该方案的特定品质参数是set。
系统同样首先进行第一次调用,并强制设定掉落物品为set 形态。同样会有3种例外:
1)该物品无set形态,则物品降格为magic形态,耐久度*2
2)ilvl不满足对应的set形态的qlvl要求,则物品降格为magic形态,耐久度*2
3)掉落的是rune,gold等。

系统同样会检测最后一件物品的品质,如果失败则再次调用,如果再次失败则转到方案6继续。


方案3:rare drop:特定的品质参数是rare。其他同1,2
唯一的区别是只有一种例外:即rune,gold等不可能为rare形态的物品。
同样两次检测失败后转到方案6继续。


方案4:magic drop:这里开始有所不同。
特定的品质参数是magic。
系统会前后最多进行10次调用,并检测每次调用最后掉出物品的品质。
如果检测到有3次调用的最后掉落物品是magic形态,则停止下次调用,drop完成。
即使10次调用全部失败,也不会转到方案6去。


方案5:magic drop:特定的品质参数还是magic。
系统会前后最多进行10次调用,并检测每次调用最后掉出物品的品质。
如果检测到有2次调用的最后掉落物品是magic形态,则停止下次调用。而继续掉落(7-#)堆金钱。#的数目等于
前面检测失败的调用次数。至此drop完成。
即使10次调用全部失败,也不会转到方案6去。


方案6:magic drop:首先系统还是前后最多进行10次调用并检测每次调用最后掉出物品的品质。这10次调用的品质参数是magic。
如果检测到有1次调用的最后掉落物品是magic形态,则系统还会调用一次TC,但是这次的调用是没有品质参数的。同时这次调用
的pick次数=(4-#),其中#的数目等于前面检测失败的调用次数。在这次调用中,玩家的mf值将决定掉落物品的品质。(前面过程中
玩家的mf值没起作用)。调用结束后,系统再掉落5堆gold, 2个血瓶和2 个mana瓶.至此drop结束
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 5楼 发表于: 2010-11-29 10:23:38
五:参考内容:
Jarulf's Hard Code:http://www.lurkerlounge.com/forums/index.php?act=ST&f=8&t=3112

Hammerman's Formula and Ruvanal's Chart for TC selection:http://www.theamazonbasin.com/d2/forums/index.php?showtopic=29734

[url=A]http://www.lurkerlounge.com/forums/index.php?act=ST&f=8&t=3051]A Further Discussion

最后再次感谢Hammerman,Jarulf,Ruvanal,Myrdinn对相关问题的研究和诠释。
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 6楼 发表于: 2010-11-29 10:25:28
武器架和装甲架掉落物品的物品等级,为Alvl-1(场景等级-1).

但是它们没有可供选择的TC.武器架直接在weapons.txt中选择.装甲架在armor.txt中选取.这时就需要用到掉落等级和物品的Qlvl等级了.

在weapons.txt或armor.txt中随机选择Qlvl小于等于掉落等级的物品,所以,即使是85级场景的装备架,也不能掉出全部的装备,因为它只能掉落小于等于Qlvl84的装备,这里决定的因素是Qlvl,和TC并没有关系.唯一能掉全装备的场景是亚瑞特山巅(Alvl=87),但是那里没有装备架~~~

选择过程中,会根据装备的rarity值来计算出现几率,rarity值越高则越难掉落.另外,对SOR的专属法球,精华级的次元碎片,判定成功后,还有1/3的判定惩罚.也就是说选中次元碎片后,还有2/3的失败几率,判定失败后,取而代之掉落的是手斧.而其他角色的专属则没有这个惩罚.
离线铃铛

发帖
59624
金钱
6311
91币
0
信誉
0
资产
0 IST
在线时间
3431 小时
注册时间
2009-08-31
最后登录
2021-02-27
只看该作者 7楼 发表于: 2011-07-16 13:35:01
作者: 莣忧草ぐ    时间: 2008-5-9 08:20     标题: 物品掉落全解析——答各位询问者

前言

本文是应BBS ID=Joker-Chen的询问所写,内容基本上资料馆都有的,我只是把它们汇总了一下,这样更系统一些。
想来想去,还是放新手区吧,虽然可能比较深,但可以解答朋友们的困惑。本文的主要内容包括预备知识——怪物相关理论、掉落物品类型选择——TC相关理论、——掉落物品成色判断——MF相关理论、多人难度对掉率的影响,等等。

事先说明,以下内容建议对比
TreasureClassEx.txtMonstats.txt以及SuperUniques.txt看。查看txt推荐使用D2excel工具。


文中一些名词解释:

Clvl:人物级别。
Alvl:场景级别。参看
怪物和场景级别
Mlvl:怪物级别,一般要受到Alvl的调整。
Ilvl:物品级别。由怪物掉落的物品Ilvl等于该怪物的Mlvl;由各种箱子中翻出的物品级别等于箱子所在场景的Alvl;赌博所出的物品Ilvl从clvl-5到clvl+4随机变化,etc。
Qlvl:物品的品质级别。一般的Qlvl对物品类型而言,比如说蛛网腰带的Qlvl=61。一般防具和武器以及首饰是有Qlvl的,镶嵌类和消耗类的没有。对暗金和绿色物品而言,另有一个Qlvl,比如暗金的蛛网腰带——蜘蛛之网的Qlvl=87。为了区分以上两种Qlvl,可以把第二种称为U_Qlvl。

作者: 莣忧草ぐ    时间: 2008-5-9 08:42

预备篇——怪物学相关理论
1.10版本引入了场景等级的概念,古代通道等85场景早已深入人心。按照游戏设定,除了一些特定boss之外,其他怪物的级别都会随场景等级调整。具体规则如下:
1. 场景等级在游戏内设定,每个场景在三个难度各有固定的等级。
2. 普通难度下,普通白色怪物级别同游戏内部设置的初始级别,不会受到调整。
3. 噩梦和地狱难度,普通白色怪物的级别调整为与所在的场景级别相等。
4. 三个难度,Champion(冠军级蓝色怪物)级别为普通怪物级别+2,Unique(暗金怪物)、Minion(暗金怪物的随从)级别为普通怪物级别+3。
按照调整后的级别,重新计算各怪物的属性——经验值、伤害、生命、防御、命中、TC等。具体计算方法可以参看怪物属性随场景等级调整的计算方法
5. 一些怪物的eBoss参数为1,这些怪物的级别固定,不会受到场景级别影响。但若其出现在了SuperUnique.txt内,则级别将会额外+3。典型的例子就是尼拉塞克,地狱难度初始设定级别为92,由于eBoss=1,不会受到场景级别影响;但SuperUnique.txt内包含了Nihlathakboss,因此级别+3,调整为95级。

TC的初步认识
什么是TC?这个问题还很难回答。按照字面翻译,TC=Treasure Class=财宝阶层,其实就是怪物能够掉落物品类型的一个集合。每个怪物各对应一个TC,怪物死的瞬间,将从该TC内按照设定好的几率随机选取某几个类型的物品掉落;若随机到了NoDrop,则不掉物品。
若用模糊但比较好理解的概念来叙述,你可以把TC看成一个数字。若某物品类型对应的TC数字小于等于怪物的TC,则该怪物可以掉落该物品,反之不可。
上述说法可以帮助你理解TC这个概念,但切记这个说法是很不严谨的。下面就TC的作用机理作简单阐述。
TC在游戏内的TreasureClassEx.txt内设定,命名规则为"Act "+act_number+" "+difficulty_code{"","(N)","(H)"}+" TC_Type "+area_code{"A","B","C"}。比如,地狱难度下act3的怪物可能有以下几个TC:Act 3 (H) Equip A, Act 3 (H) Melee B, Act 3 (H) Bow C, etc. 从这个命名规则上,可以大致看出该怪物的所在幕,该TC包含的装备类型。具体的命名规则比较复杂,不再赘述。
单单得到一个名称,我们并不能知道这是什么意思。具体TC都包含了什么?
1. pick值。这个pick值代表调用一次该TC时选择几次物品。
2. Nodrop参数。即每一次选择都有可能不掉东西。
3. 具体物品,可能有好几个,也可能没有。以及该物品对应的几率参数。
4. 子TC,即一次TC选择时可能会选择到其子TC,并进入嵌套选择。以及该子TC对应的几率参数。
==========================================================
各物品类型均按照一定原则分类归入各TC。对于武器、防具等有Qlvl(品质等级)的物品,每3个Qlvl归入一个weapXX,armorXX等类似的TC,XX代表数字,3-87,均为3的倍数。Qlvl1-3归入weap3或者armor3,Qlvl4-6归入weap6或者armor6,以此类推。对于没有Qlvl的物品,则分几个类别归入几个TC。以Rune(符文)为例,1# 2#归入Runes 1,3# 4#归入Runes 2,33#自己独占Runes 17。
所有这些WeapXX armorXX BowXX RuneXX 等均按照分类归入高一级的TC,形成嵌套形式,最终归入前边提到的ActX (H) XX A等TC。怪物直接对应的TC就是类似ActX (H) XX A之类的TC。各物品的Qlvl可查询物品Qlvl一览


怪物TC随等级的调整
由上文我们可以知道,普通怪物的级别是按照一定规则随场景等级调整的。而它的TC也会随级别调整。调整规则如下:
1. 从Monstats.txt中读取怪物的初始TC——每个怪物对应行最右边均有三个难度的初始TC,每个难度均有三个TC,从左到右分别为该类型怪物的普通级/冠军级/暗金级对应的TC。如果是固定金怪,查询SuperUniques.txt读取初始TC。
2. 查TreasureClassEx.txt,得到该TC的Group值。
3. 选择与该TC同一Group、并且满足level<=Mlvl(怪物级别)的level最大的TC作为该怪物的实际TC。
可能有点拗口,举例说明下吧。比如噩梦难度的古难记录者。查怪物和场景等级
知毁灭王座为66场景,古难级别为66+3=69。查SuperUniques.txt的Baal Subject 5一行可知,噩梦难度对应的TC为Act 5 (N) Champ C,查TreasureClassEx.txt得Act 5 (N) Champ C对应的Group13中,级别小于等于69的TC,level最大的是Act 2 (H) Champ A。即噩梦难度古难记录者的实际TC为Act 2 (H) Champ A。
注:这里有两个特例。牛的TC是Cow (H),这个TC group和TC level的值都为空值,也就是只有这一个TC;议会成员的TC为Council (H),该TC的TC group和TC level的值也都为空值。因此,这两类怪物的TC不会随场景等级提升。

TC的一般选择过程
进入正题,大家耐心咯。
怪物被杀死的瞬间,系统会依据pick数值来确定选择几次。每次的流程都相同。
1. 计算总几率参数,即将TC中各几率参数求和。
2. 随机选择。类似于掷骰子,只不过这个骰子的面比较多。
3.
   3.1 若掷骰子的结果是 NoDrop, 则此次选择结束。若选择次数未到,继续下一次选择。
   3.2 若掷骰子的结果是 金币, 就掉一些金币, 此次选择结束. 若选择次数未到,继续下一次选择。
   3.3 若掷骰子的结果是某个子 TC, 就进入那个子 TC 重复上面的步骤。
4. 具体到WeapXX或者ArmorXX等TC时,同一TC内的物品选择几率满足:
   4.1 所有物品被选择的几率相同。
   4.2 ASN爪子的选择几率有2/3的惩罚。
   4.3 其他角色专用装备以及手杖、法杖、权杖类选择几率有1/3的惩罚。
5. 若选择次数小于pick,继续下一次选择。
6. 全部选择结束,若掉落物品大于六件,则取前六件。
注意这个过程选择的是物品类型,完全随机选择,这就是我们俗称的RP,跟MF数值没有丝毫关系。确定是否掉落符文也是在这个过程完成的。因此,掉落符文的几率跟MF值毫无关系。
————————————————————————————————————————————
如果pick<0,又是什么含义?下面举例说明。
假设设置某TC的pick=-2,NoDrop=0,包含weap3和armo3的prop都为7。则
假设第一次drop了一个weap3,那么它的概率为7/14;第二次drop的时候,weap3的prob值就变成了6(原来是7)。
所以第一次drop一个weap3的情况下,第二次drop weap3的概率为 6/(6+7)=6/13,而不是Picks=2时候的7/(7+7)=7/14。 
拿取球的模型来比喻,Picks=2,就是放回地取两个,Picks=-2,就是无放回地取两个。

多人游戏对掉落物品的影响
TC里有NoDrop一列,如果选中此列则不会掉落任何物品。该列的几率参数由TreasureClassEx.txt规定,同时还会受到游戏中人数的影响。
单人难度,NoDrop率同txt设定。多人难度按如下方式计算:
以牛牛为例,它的TC有160个选择,其中100个为Nodrop,其余60个为各个物品和次级TC.单人游戏中Nodrop几率=100/160=0.625.多人情况下直接影响的就是这个几率. 

记 N1=与杀死怪物的玩家结盟且在同一场景的其他玩家数. 
     N2=不符合上述条件的其他玩家数 
     C=单人游戏怪物的Nodrop几率(对牛牛来说, C=100/160) 
     Cm=C被多人游戏影响后的值. 

则: Cm=C^[1+N1+N2*0.5] 其中"[]"表示向下取整,^表示幂操作。
游戏采用的是用整数掷骰子随机选择, 所以要将Cm换算成新的Nodrop几率参数(原来是100)后TC才做选择. 
     Nodrop参数(new)=[Drop几率参数总和*Cm/(1-Cm)]
如果在游戏中有两个玩家与杀牛的玩家结盟且在同一场景二屏以内(N1=2),而其他地方有5个Player在别处或没结盟(N2=5).则有:

Cm=(100/160)^[1+2+5*0.5]=0.625^5=0.09537,新的Nodrop参数=[60*Cm/(1-Cm)]=6
即,此时牛牛TC的总几率参数变为6+60=66,NoDrop几率=6/66=1/11,效果提升很明显。

掉落物品的成色判断
物品类型确定完毕,接下来要进行成色判断,判断顺序是暗金、绿色、亮金、蓝色、超强、普通物品、劣质。能否判断成功受MF值和怪物的几率参数影响。怪物各成色对应的几率参数见下边第二步计算的表格。
1. Chance1 = Value - (Mlvl - Qlvl)/Divisor
其中, Mlvl 是怪物的等级, Qlvl 是物品的品质等级. 
Value 和 Divisor 如下:
非角色专用物品:
=========================================
成色       Unique  Set  Rare  Magical  Superior  Normal
-------------------------------------------------------------
Value        400   160   100     34       12    2(1 for Uber)
Divisor       1     2     2       3        8    2(1 for Uber)

=========================================
角色专用物品:
========================================
成色       Unique  Set  Rare  Magical  Superior  Normal
------------------------------------------------------------
Value        240   120   80      17       9   2(1 for Uber)
Divisor       3     3     3       6       8   2(1 for Uber)

========================================
其中,Uber指的是扩展级和精华级的物品。关于普通级/扩展级/精华级的分类,参看装备分类详细解释
2. Chance2 = Chance1 * 128 * (1 - cx/1024)
其中, cx 指 cu, cs, cr, cm;
cu: Chance of Unique, 暗金几率参数;
cs: Chance of Set,    绿色几率参数;
cr: Chance of Rare,   亮金几率参数;
cm: Chance of Magical,蓝色几率参数.
cu, cs, cr, cm 是游戏中硬性规定的, 不同怪物的 cx 也不同. 

一般来说,常见怪物的各参数可列表如下:
============================
怪物名             cu    cs    cr    cm
------------------------------------------
普通怪物及仆从     0     0     0    0
蓝色怪物&五小队头目800   800   800  1024
随机金怪           800   800   800  1024
大部分固定金怪     800   800   972  1024
关底Boss           983   983   983  1024
暴躁外皮&剥壳凹槽  512   654   972  1024
安达利尔任务杀     995   995   1024 1024
其他Boss任务杀     993   993   1024 1024
召唤者             900   900   972  1024
罗达门特           900   900   900  1024
议会成员           650   800   800  1024
铁匠&格瑞斯华尔得  0     0     0    0
海法斯特盔甲制造者 800   800   900  1024
尼拉塞克           900   900   900  1024
女伯爵             883   883   983  1024
母牛之王           850   983   983  1024

============================
3. 计算 UF, SF, RF, MF
UF: Unique Find, 暗金的几率修饰
SF: Set Find,    绿色的几率修饰
RF: Rare Find,   亮金的几率修饰
MF: Magical Find,蓝色的几率修饰
mf: 装备上的 mf 值的总和.

若 mf<=10, 则 UF=SF=RF=MF=mf
否则:
UF = mf*250/(mf + 250)
SF = mf*500/(mf + 500)
RF = mf*600/(mf + 600)
MF = mf
而SupF=NF≡0,即MF不影响超强(Superior)和普通(Normal)的判断。
4. Chance = Chance2 * 100 / (100 + XF)
XF 即为上面的 UF, SF, RF, MF
5. 最终决定
   游戏随机取一个小于 Chance 的整数. 如果此数小于 128, 则判断成功。
6. 暗金或者绿色物品判断成功后,判断是否存在,若不存在,则发生降格。若存在,比较对应物品的Qlvl是否大于怪物级别,大于的话同样发生降格。
暗金物品降格为对应的亮金物品,同时耐久度*3。
绿色物品降格为对应的蓝色物品,同时耐久度*2。

怪物死后的物品掉落过程基本就这么多。箱子,瓶,罐,宝箱等的掉落过程参看游戏中瓶瓶罐罐等(object)掉落物品的原理
作者: 莣忧草ぐ    时间: 2008-5-9 13:51

末了,对一些朋友询问的问题简单回答下。

XX怪物都能掉什么?/XXX最高掉多少#?
打开Monstats.txt,找到该怪物那一行,最右边几列对应三个难度该类怪物的初始TC,注意要选择对怪物的类型——普通怪物 头目 还是 暗金怪。如果是固定金怪,打开SuperUniques.txt查找初始TC。按照1楼的TC调整规则进行调整获得实际TC。然后反推以获得最后结果。
举例说明。比如我想查看噩梦难度古难记录者最高掉落多少#。
1. 打开SuperUniques.txt找到最后一行的Baal Subject 5,查得它对应TC为Act 5 (N) Champ C。另查得古难的级别为66+3=69。
2. 打开TreasureClassEx.txt,找到Act 5 (N) Champ C一行,查得对应Group为13。
3. Group 13里level不大于69的最高级别TC为Act 2 (H) Champ A。
4. 反推:Act 2 (H) Champ A─→Act 2 (H) Citem A─→Act 2 (H) Good─→Runes 14─→r28
得结果,噩梦难度古难记录者最高掉落28#。
txt中各物品的代码可以参看MPQ内部物品全代码。各TC最终包含的物品可以查询D2data

多开kc时,其他人是否进入红门有无影响?
见1楼“多人游戏对掉落物品的影响”,其他人需要结盟才算1,否则都是0.5。所以有影响。

XXX掉落XX#的几率是多少?
同样以上述噩梦的古代记录者掉落28#为例。
Act 2 (H) Champ A─→Act 2 (H) Citem A─→Act 2 (H) Good─→Runes 14─→r28
Act 2 (H) Citem A占Act 2 (H) Champ A的1/(1+3)=1/4,pick=-2,可以算得最终掉落里选中Act 2 (H) Citem A的概率为:
第一次选中Act 2 (H) Citem A的几率为1/4。若选中,则Act 2 (H) Citem A的prop-1,变为0。
第一次选中Act 2 (H) Cpot A的几率为3/4。若选中,则Act 2 (H) Cpot A的prop-1,变为2。此时第二次选中Act 2 (H) Citem A的概率为1/(1+2)=1/3。
综上从Act 2 (H) Champ A─→Act 2 (H) Citem A的几率为1/4+3/4*1/3=1/2。
Act 2 (H) Good占Act 2 (H) Citem A的3/(60+37+3)=3/100,pick=1,即只选择一次,最终概率就是3/100。
Runes 14占Act 2 (H) Good的14/(60+4+10+14+28+14)=7/65,pick=1,最终概率就是7/65。
r28占Runes 14的2/(3+2+15435)=1/7720,pick=1,最终概率就是1/7720。
所以最后结果就是各比率相乘,最终结果为21/100360000=0.00000020924671。

有没有99级的材料?
掉落物品的Ilvl=怪物Mlvl,封顶99。能掉落99lv物品的怪物只有巴尔和DC。DC只掉落USC,而巴尔呢?
巴尔的cm参数=1024,据1楼“掉落物品的成色判断”可知,第二步计算Chance2 = Chance1 * 128 * (1 - cx/1024),当判断蓝色物品时cx用cm=1024取代,则Chance2=0。故第四步计算Chance = Chance2 * 100 / (100 + XF)=0。
最后,“游戏随机取一个小于 Chance 的整数. 如果此数小于 128, 则判断成功。”Chance=0,则游戏只能取0。0<128,所以当判断到蓝色物品时,百分之百成功,也就是说以下的超强 白色 劣质之类的不再判断。
同理,巴尔的任务杀,亮金物品的几率参数cr=1024,即可以推得bug kb最低品质为亮金。
总之,巴尔不会掉落白色物品,也就是说没有99lv的材料。

85场景的怪物是否能掉落全部dd?
怪物分为——普通怪物,85lv;头目怪物,87lv;暗金怪物,88lv;仆从,88lv。
对于普通怪物和仆从来说,TC经调整均为85级别,都包含Act 5 (H) Equip C,Act 1 (H) Junk,Act 5 (H) Good,Act 5 (H) Bow B,Ammo几个子TC,这几个子TC包含了基本所有的物品类型。因此可以认为它们能掉所有种类的物品。但由于暗金物品还有Qlvl判断,所以普通怪物的Mlvl不够的话有些物品是无法掉落的,比如年纪之冠。但仆从可以掉落任何物品。(实际上,它们不能掉大紫瓶 - -)
对于头目级怪物来说,TC调整为Act 5 (H) Champ C,包含Act 5 (H) Citem C和Act 5 (H) Cpot C,继续追踪发现Act 5 (H) Citem C包含Act 5 (H) Equip C和Act 5 (H) Good,因此它们可以掉落全部武器、护甲、符文、宝石、珠宝、金币、血瓶和紫瓶等,但不会掉落箭矢、钥匙等等物品。同时物品的Qlvl最高87,它们的lv也足够了,不会有某暗金物品由于Qlvl过高而无法掉落。另外由于它们的cm=1024,它们将不会掉落白色物品。
对于随机的暗金怪物,TC调整为Act 5 (H) Unique C,包含Act 5 (H) Uitem C和Act 5 (H) Cpot C。继续追踪发现Act 5 (H) Uitem C包含
Act 5 (H) Equip C和Act 5 (H) Good,故掉落物品同头目怪物。也由于cm=1024的原因,不会掉落白色物品。
综上所述,以上几种怪物互补则可以掉落全部物品(牛魔王套装除外,这个套装是程序硬代码强制限定只有牛场可以出现的)。

嗯嗯,最后给大家一个作业。解释下3c为什么不掉大紫瓶
[ 此贴被铃铛在2011-07-16 13:42重新编辑 ]
离线肥胖小狗
发帖
3661
金钱
1215
91币
626
信誉
0
资产
0 IST
在线时间
1154 小时
注册时间
2012-06-02
最后登录
2024-11-19
只看该作者 8楼 发表于: 2012-07-21 20:01:46
技术党的支持,虽然我觉得我肯定没耐心看完
离线uli91
发帖
107
金钱
577
91币
0
信誉
0
资产
0 IST
在线时间
44 小时
注册时间
2012-08-12
最后登录
2012-09-03
只看该作者 9楼 发表于: 2012-08-13 19:46:40
楼主真牛人
快速回复
限100 字节
 
上一个 下一个