暗黑MOD信息免费发布,找新开暗黑Mod就上D2sf,绿色简洁,值得收藏!
首页 > 暗黑技术攻略
Armor.txt描述

发表时间:1970-01-01 08:00:00

Armor.txt             By Nefarius,Kingpin,Ric Faith & Paul Siramy


前言:

Armor.txt,Misc.txt,Weapons.txt三者有许多共同之处。它们事实上只是一个大文件的三个小部分:游戏在读取它们的时候会将三者合而为一,全部列入一个大型表格里。这三个文件涵盖了所有游戏中的基础物品类型:普通/扩展/精华级的装甲、头盔、手套、盾牌、武器;以及各种药剂、宝石、钥匙、卷轴等等……


因此,我们完全可以往这三个文件中添加一些列。例如把Transmogrify、TMogType、TMogMin和TMogMax四列添加到Armor.txt里面(这四列原本只在Misc.txt中),并且让某种头盔使用这四列的取值,那么这种头盔就可以变成其他物品的模样。乍看上去这似乎是不可能做到的,因为起初在Armor.txt中并无可实现此功能的这四列。


注意:要想往某个txt文件中加入列,请勿使用D2Excel工具,D2Excel无法实现此功能。请使用MS Excel或者其他能够识别并输出以制表符分界的电子表格的工具。


本文件需要用到的txt文件有:

·AutoMagic.txt

·Belt.txt

·Composit.txt

·ItemTypes.txt

·Missiles.txt

·Sound.txt


本文件将在以下文件中被引用:

·CharStats.txt

·CompCode.txt

·CubeMain.txt

·SetItems.txt

·UniqueItems.txt

·……


各列功能说明如下:


Name:物品参考名称,仅作注释用


Version:0 = D2原版,100 = D2资料片(置为100的物品将无法在D2原版中出现)


Compactsave:1 =压缩存档,0 =不压缩存档。所谓压缩存档是用来获取较小的存档文件,同时也意味着关于物品的属性:诸如数量、魔法词缀、伤害、防御、耐久度等等,将不被保存(压缩存档一般仅用于一些无须属性的物品例如治疗药剂、各阶宝石等)


Rarity:0 =该物品不会从装甲架上掉落,置为1或者更高的数值则将决定此物品从装甲架上掉落的几率,这个值越高,则物品越稀有(这里必须有至少一种物品的值为1,否则当你在游戏里点击装甲架时游戏将崩溃)


Spawnable:0 =无法由NPC出售,1 =可以由NPC出售


Minac/Maxac:该防具的最小/最大防御值;ItemStatsCost.txt中定义了这些取值的上限


Absorbs:无用参数,以前的作用与“伤害减少X”类似


Speed:正值=减慢行走/跑步速度,负值=增加行走/跑步速度


Reqstr:装备物品所需的力量,取值范围是0-65535;假如超出这个范围,将依据循环计数的原则。例如,在这里填写值65538,则系统会认为是2


Levelreq:装备物品所需的最低人物等级


Block:格档几率,总的格档几率上限为75%


Durability:基础耐久度,最大值为255,超出范围则循环计数

Nodurrability:是否无耐久物品,1 =无法破坏物品(无耐久),0 =有耐久度

假如这里置为1,则游戏里不会显示“无法破坏”字样,而是去掉物品的耐久属性

Durwarning:耐久警报图标出现的临界值,当物品耐久度低于或等于这个值时,警报图标将出现在屏幕上以提醒玩家,这玩艺快坏了。


Cost:基础价钱

Gamble Cost:赌博价钱的默认值,但仅对于Misc.txt中的戒指和项链起作用


Code:由3位字母/数字组成的代码,每样物品对应一个且不得重复;此代码为许多txt文件所引用,但不必将其写入TBL文件

Namestr:物品的代码/名称,如果这里的字串并未出现在TBL文件中,则此字串将直接作为物品的名称;反之,则使用TBL文件中此字串所对应的名称

注意:如果需要显示空格的话,使用TBL文件是唯一的途径


Normcode:该物品的普通级代码

Ubercode:该物品的扩展级代码

Ultracode:该物品的精华级代码

这三列用于确定物品的阶级,例如:需要升级一件普通级物品为扩展级,则游戏将获取此物品的代码,然后将其与这三列相对照

举例说明:狮头尖盔(Lion Helm)的属性为

·Code = ba7

·Normcode = ba2

·Ubercode = ba7

·Ultracode = bac

所以游戏判定狮头尖盔为扩展级物品,则上述升级普通级物品的公式将不对其起作用


Level:基础物品等级(亦即物品品质等级——QLvl);并非用于决定其上出现何种词缀,而是被用于建立诸如weapXX、armoXX等财宝阶层(TC),以免任何怪物都可以掉落所有物品,例如:一个TC等级为20的怪物无法掉落一件包含于TC = armo30中的30级装甲


MagicLvl:魔法等级增量,例如:某物品的这个值为5,且某玩家通过赌博得到了一件10级的该物品,则该物品上可能出现的词缀等级最大为15级


Auto Prefix:物品自带的词缀,引自AutoMagic.txt中的Group列值


Alternategfx:人物动画所使用的DCC文件代码,例如:哥德盾牌(code = gts)的此列值为kit,意味着假如一个野蛮人装备了这面盾牌,则他的A1(Attack1)模式动画的SH(Shield)图层将使用的DCC文件为BASHKITA11HS.DCC,而非BASHGTSA11HS.DCC或者BASHBUCA11HS.DCC文件


OpenBetaGfx:无用参数,D2测试版中用于参照使用了何种alternategfx值


Spelloffset:未知参数,仅在Armor.txt中出现


Component:该物品装备人物后所使用的动画图层,引自Composit.txt,以下是索引:

0 - HD(Head)头部

1 - TR(Torso)躯干

2 - LG(Legs)腿部

3 - RA(Right Arm)右臂

4 - LA(Left Arm)左臂

5 - RH(Right Hand)右手

6 - LH(Left Hand)左手

7 - SH(Shield)盾牌

8 - S1(Right Shoulder)右肩

9 - S2(Left Shoulder)左肩

10 - S3(Necro Shield)死灵法师盾牌

11 - S4(Special 4)特4

12 - S5(Special 5)特5

13 - S6(Special 6)特6

14 - S7(Special 7)特7

15 - S8(Special 8)特8

16则意味着该物品不使用任何图层,因为在Composit.txt中没有16所对应的索引


以下六列分别是一件装甲的一个组成部分,每部分都有三种色度:浅、中、深,这六列的取值说明了该装甲在不同部位会使用何种色度

0 = LIT(Light)浅

1 = MED(Medium)中

2 = HVY(Heavy)深

rArm:RA图层(Right Arm)右臂

lArm:LA图层(Left Arm)左臂

Torso:TR图层(Torso)躯干

Legs:LG图层(Legs)腿部

rSPad:S1图层(Special 1 – Right Shoulder)右肩

lSPad:S2图层(Special 2 – Left Shoulder)左肩

例如,布甲的取值为rSPad = 1,lSPad = 1,所以当布甲穿在亚马逊身上时,她的全身都是初始的红色(浅色),但左右肩变为灰白色(中等)


以下四列分别是不同情况下程序对物品所调用的DC6文件名称

Flippyfile:物品掉落时的动画文件

Invfile:物品栏里的图像文件

Uniqueinvfile:暗金物品所使用的物品栏图像文件

Setinvfile:套装物品所使用的物品栏图像文件

DC6文件的路径为data\global\items,例如:假如某物品的flippyfile列值为flpcap,则程序将在该物品掉落时播放data\global\items\flpcap.dc6文件


Invwidth/Invheight:物品在物品栏中占用的宽/高格数


以下三列用于描述物品上孔数的属性

Hasinv:该物品是否可以拥有孔,以镶嵌入宝石/符文,1 =可以打孔,0 =不能打孔

Gemsockets:该物品上可能出现的最大孔数,但一件物品不可能拥有多于其物品栏占用格子数量的孔数

另外,ItemType.txt中还有三个根据物品等级高低限制其孔数的列——MaxSock1、MaxSock25、MaxSock40

例如:假使某种头盔的Gamsocket = 4,但头盔的Maxsock1 = 2,因此一顶不足25级的该种头盔所能拥有的最大孔数就只能是2

Gemapplytype:镶嵌物镶嵌入该物品后所获得的属性,0 =武器、1 =装甲/头盔、2 =盾牌;假如使用了其他数值,则该物品将不可能有孔


Useable:是否可以右键单击该物品以使用,1 =可以、0 =不可以;这一列多用于Misc.txt里的各种药剂/卷轴

注意:右键单击物品所获得的作用效果源于程序的硬代码。所以假设你并未编辑相应的dll文件,那么即使该值设定为1也不会有什么效果。


Throwable:无用参数;其本意是决定该物品是否能够投掷:1 =可以,0 =不可以;但这个功能定义于ItemTypes.txt中,而在Armor.txt和Misc.txt中该列值均为0,Weapons.txt中无此列


Missiletype:投掷该物品的话出现的飞射物种类,引自Missiles.txt中的ID列


Stackable:该物品能否多个叠放成堆:1 =可以,并有数量属性,0 =不可以

Minstack:一堆该物品的最小数量

Maxstack:一堆该物品所能拥有的最大数量

Qntwarning:警告标志出现的数量临界值

当该物品的数量小于等于临界值时,屏幕上将出现警告标志

这些列不作用于Armor.txt,仅用于Misc.txt(钥匙、书)以及Weapons.txt(标枪、箭矢等)


Type/Type2:物品的基础类型,主要用于合成公式、物品镶嵌物等;引自ItemTypes.txt中的Code列


Dropsound:物品掉落时的声音,引自Sound.txt中的Sound列

Dropsfxframe:物品掉落声音播放的桢数

Usesound:当物品装备上或者在物品栏里放下时的声音,引自Sound.txt中的Sound列


Quest:专门为任务物品定义的硬代码ID;任务物品一次只能携带一件且无法交易给NPC

Questdiffcheck:该物品是否通用于所有难度;值为1,则该物品将仅在其出现的难度适用;此列仅出现于Misc.txt和Weapons.txt中


Unique:1 =仅存在暗金形态,0 =无约束;这列多用于仅允许暗金形态出现的任务物品,假如某非任务物品的此列为1,那么该物品将只能出现暗金形态


Transparent:未知参数,游戏中无用;或许只是一个用于表示某物品处于透明形态的标志位?


Transtbl:未知参数,游戏中无用;猜想是当Transparent列非0时用来表示透明度……


Quivered:1 =该物品需要弹药方可使用,0 =无需弹药也可使用;此列仅用于Weapons.txt中的弓和十字弓,在Armor.txt、Misc.txt中均无用


Lightradius:无用参数


Belt:在Armor.txt中作为一个索引,来说明物品所代表的腰带种类

0 –无用/无腰带– 1行

1 –饰带– 2行

2 –无用– 1行

3 –束带– 4行

4 –轻扣带– 2行

5 –重扣带– 3行

6 –高级腰带– 4行

以上引自Belt.txt中的索引行(或许是硬代码规定的……),仅有Expansion行之上的部分有用;高级腰带包含了所有的扩展/精华级腰带

Belt:在Misc.txt中的意义与Armor.txt中完全不同

0 =无法被放置于腰带栏,1 =可以被放置于腰带栏

由于Misc.txt和Armor.txt同属一个大文件,所以程序大概是先判定物品的种类(是防具还是宝石药剂之类),再确定该列的用途


Mindam/Maxdam:该物品所具备的最小/最大伤害值,请注意这个值并非总会在游戏中的物品描述里显示,以下是对于不同的物品类型,该列值的具体含义:

对于盾牌–盾击伤害

对于鞋子–踢击伤害

对于武器–单手近战伤害


StrBonus:装备该物品时力量对伤害的加成系数,例如100表示每点力量= 1%增强伤害,75则表示每点力量= 0.75%增强伤害

DexBonus:装备该物品时敏捷对伤害的加成系数,例如100表示每点敏捷= 1%增强伤害,75则表示每点敏捷= 0.75%增强伤害

Armor.txt里这一列的伤害加成值仅对鞋子和盾牌有用,对于盾牌是对盾击伤害的加成,对于鞋子则是对踢击伤害的加成


Gemoffset:此列作为保留位,游戏加载时将自动填充,用以链接可打孔的物品及其相应的Gems.txt文件中的内容;不过假如这里事先填写一个非零值的话,游戏是否允许这里出现双重值仍旧存疑


Bitfield1:主要用于区分不同材质的物品,目前已知的是:

1 =皮革制

3 =金属制

仅有金属制物品可以用来召唤钢铁石魔


以下列用以控制不同的商人出售不同的物品,这里以Vendor来泛指Charsi、Gheed、Akara、Fara、Lysander、Drognan、Hratli、Alkor、Ormus、Elzix、Asheara、Cain、Halbu、Jamella、Larzuk、Malah、Drehya这些商人

VendorMin/VendorMax:某商人所能出售的该物品最小/最大数量,这里填写的数字过大将导致游戏因无法显示过多的物品而崩溃

VendorMagicMin/VendorMagicMax:某商人所能出售的该种魔法物品最小/最大数量

VendorMagicLvl:该物品所能获得的最高魔法词缀等级


PermStoreItem:该列不出现在Armor.txt中(仅存在于Misc.txt和Weapons.txt),但你可以人为的加进去;它用来控制物品是否始终在NPC处有出售:1 =始终出售,0 =不一定


Source Art:无用参数

Game Art:无用参数


Transform:有关该物品的动画所使用的颜色

InvTrans:该物品在物品栏中所使用的颜色


SkipName:控制游戏是否不显示该物品的基础名称,例如用于蝮蛇护符,则游戏不会显示两次“蝮蛇护符”字样


NightmareUpgrade/HellUpgrade:在噩梦/地狱难度商人将使用此处代码对应的物品来取代原物品,xxx =不变


Nameable:用于安亚任务奖励,控制该物品是否能够被个人化:1 =可以,0 =不行