发布优质暗黑Mod开服信息,找暗黑Mod就上D2sf,绿色简洁,值得收藏!
版本名称 版本简介 开服时间 赛季时长(月) QQ群号 游戏主页
Missiles.txt描述 -推荐 1970年01月01日/08点 开放 0个月 0 点击前往
首页 > 暗黑技术攻略
Missiles.txt描述

Missiles.txt    By Nefarius & Brother Laz



一些初始设置

Missile:ID指针,用来指明各技能所使用的Missile ID(用于Skills.txt和MonStats.txt文件);该值具有唯一性,如果有重复情况出现则在其它文件中使用ID指针将出错,但你仍可通过其ID值来引用本Missile


ID:该Missile的ID指针真实值,可以直接为其它文件所引用;该值具有唯一性(其范围是0到32767),并且任意两个相邻ID必须是相邻整数,否则将导致游戏错误


一些函数设置

小提示:出于技术原因,这里无法给出各个Missile函数的详细解释,需要相关资料的话请参考Mishy23所写的一篇相关引导文件;另外,这里的某些函数必须由相关技能所调用才能正常运行,例如各种追踪类飞弹

pCltDoFunc:该Missile在客户端的动作函数,定义了该Missile从产生到消失这段时间里,其各种行为的图形效果

pCltHitFunc:该Missile在客户端的碰撞函数,定义了该Missile碰撞到物体时的图形效果


pSrvDoFunc:服务器端的动作函数,定义了该飞射物从产生到消失这段时间里,其实际的各种行为;如果没有相匹配的客户端函数,则该飞射物将有实际效果但无显示图像——仅有服务器端函数的飞射物不会调用客户端的动作函数,因此它们看起来就是无形的

pSrvHitFunc:服务器端碰撞函数,定义了该飞射物碰撞到某物体时的行为;参见上一列

pSrvDmgFunc:服务器端伤害函数,定义了该飞射物击中某单位时,其造成的一些特殊效果;该函数用于某些杀伤敌人法力而非生命值的单位


一些计算设置

小提示:以下列仅当该飞射物调用了与之匹配的函数时使用;另外,所有以*号为前缀的列均为注释列

SrvCalc1-5:该飞射物在服务器端的动作计算式

Param1-5:服务器端动作函数所调用到的各个参数;也被用于服务器端动作计算式


CltCalc1:该飞射物在客户端的动作计算式

CltParam1-5:客户端动作函数调用的各个参数,也被用于客户端计算式;通常这里的值应该与Param1-5列中的值相同,但有一些特殊的客户端效果除外,譬如飞射物运行留下的一些痕迹(德鲁伊的藤蔓痕迹)——这类效果在服务器端是没有相应计算的


SHitCalc1:服务器端的碰撞计算式

SHitPat1-3:服务器端碰撞函数所要调用的各个参数,也被用于碰撞计算式


CHitCalc1:客户端碰撞计算式

CHitPar1-3:客户端碰撞函数调用的各个参数,也被用于碰撞计算式


DmgCalc1:用于计算伤害改变的计算式

DParam1-2:伤害函数调用的各个参数,也被用于伤害改变计算式


一些速率设置

Vel:该飞射物的基础速率(开始时的飞行速率),表示其每桢飞行距离,以像素为单位;此值超出屏幕像素范围将使得飞射物具备向后飞行或盘旋的效果,例如大于240的值


MaxVel:该飞射物的最大速率,如果某飞射物有正的加速度值,则此列作为其速度上限


VelLev:与飞射物等级有关的速率,如果该飞射物由某怪物发射,则该飞射物等级即为此怪物的等级;若由某技能函数发出,则其等级为该技能的等级;但该列似乎并无实际效果


Accel:该飞射物的加速度值,正数使飞射物加速飞行直到其最大速率,负数使飞射物减速飞行直到静止;这个值可用以造成飞射物加速到其速率超过屏幕像素范围,从而实现飞去来器的效果;飞射物速率为0时不会造成任何伤害值,除非使用冻结之箭类型的碰撞函数


一些范围设置

Range:飞射物发射后所能飞行的距离,以桢为单位,亦即其存在半径;无限制飞行距离的飞射物过多将增大内存管理难度


LevRange:每单位等级增加该飞射物飞行距离的增量,具体作用方式与VelLev列相似,但此列有其实际效果


光照效果设置

Light:该飞射物的光照范围直径,以地图块为单位


Flicker:该飞射物光照直径的随机变量(以地图块为单位),此列在现有光照范围直径的基础上,为该飞射物提供闪烁效果;该随机值仅作为Light列的随机减小量


Red,Green,Blue:该飞射物光照范围里的颜色(RGB模式),例如255,255,255即为白色;除白色之外的颜色必须在Direct3D图形模式下运行游戏才有效


一些动画设置

InitSteps:飞射物可见之前的动画桢数,亦即飞射物在客户端产生之前的动画桢数


Activate:用于某些从一点发出的飞射物,例如天堂之拳放出的圣光弹、闪电强化怪物放出的充能弹等,也用于一些触碰后一段时间才造成伤害的飞射物;此列与InitSteps的作用相同,只不过作用于服务器端;表示该飞射物发挥其实际作用前的桢延迟


LoopAnim:布尔函数,1 =在飞射物存在时间内重复播放动画,0 =仅播放一次;如果该飞射物动画时间比其存在时间短,则飞射物动画在客户端播放一次后消失,但仍有实际效果


CetFile:该飞射物所用到的DCC文件名称,其路径为data\global\missiles\;可含子目录


AnimRate:似乎是无用列,即使其值设定为0,飞射物动画仍旧正常运行


AnimLen:动画各方向的持续时间,以桢为单位,例如某飞射物动画由8个方向和64桢组成,则此处填入8


AnimSpeed:动画每秒播放的桢数


RandStart:使动画在指定的桢开始播放


SubLoop:布尔函数,1 =在飞射物存在时间里将一直重复播放一个指定的动画序列,0 =该飞射物正常播放其动画;此列功能与LoopAnim列相近


SubStart:SubLoop列规定的重复播放动画序列的起始桢


SubStop:SubLoop列所规定的重复播放动画序列的终止桢;动画播放到该桢时会回到SubStart桢,但如果剩余的存在时间不足,则动画将继续播放其重复动画直到飞射物消失


碰撞设置A

CollideType:飞射物采用何种碰撞检测机制:3 =普通类型碰撞,6 = Z类型(从上方掉落类的碰撞),1 =用于地面上布设的飞射物,当角色走过时发生碰撞(如蜘蛛的粘液,但刺客的陷阱不属于此类),8 =火焰类碰撞(火墙等),0 =无碰撞检测机制


物体

地面

地形

0

碰撞

不碰撞

不碰撞

1

不碰撞

碰撞

碰撞

2

碰撞

不碰撞

碰撞

3

碰撞

碰撞

碰撞

4

不碰撞

不碰撞

不碰撞

5

碰撞

不碰撞

碰撞

6

不碰撞

不碰撞

碰撞

7

不碰撞

不碰撞

不碰撞

8

碰撞

碰撞

碰撞



CollideKill:布尔函数,该飞射物碰撞时是否损毁,1 =损毁,0 =不损毁;但在目前已知的函数中,冰封球的碰撞函数无视该列值


CollideFriend:布尔函数,是否允许该飞射物与友军发生碰撞(如圣光弹);1 =允许


LastCollide:未知布尔函数,似乎与碰撞后不损毁的飞射物行为有关;该列值对于所有物理碰撞效果的飞射物都为1


Collision:未知布尔函数,似乎与前一列的功能相关;许多非物理碰撞但会造成碰撞事件的飞射物此列值都为1


ClientCol:未知函数


ClientSend:布尔函数,与角色被火风暴或者震波网络击中时生命球的实时显示效果有关


NextHit:布尔函数,1 =在两次碰撞之间有碰撞延迟时间,0 =没有;这里的延迟时间用以防止某些碰撞后不损毁的飞射物造成过多的伤害值


NextDelay:该飞射物碰撞函数运行(即一次成功的攻击)后造成的服务器端碰撞无效时间,并使其攻击到的单位在这段时间内无视所有的飞射攻击,以桢为单位;例如某NextDelay=25的飞射物,当其服务器端碰撞函数成功运行后将在1秒时间内无法伤害任何敌人,同时这个被该种飞射物攻击到的敌人将在NextDelay时间内对所有飞射物免疫


一些尺寸调整设置

XOffset,YOffset,ZOffset:飞射物分别在X,Y,Z方向上的位置坐标偏移量,以像素为单位,以DCC文件的左上角或者中心为原点


Size:在地图上所占的直径,以地图块为单位;与MonStats2.txt文件中的Size设定功能相同,取值范围为-1到3,1表示该飞射物仅能覆盖1个地图块,2表示4个块,3表示9个块,等等


一些未知设置

SrcTown:布尔函数,用于控制当角色回城时其发射的该飞射物是否消失;该函数仅用于一些能够制造PK陷阱的持续性飞射物


CltSrcTown:与前一列相似,用于控制角色回城时其发射的飞射物消失的图像效果


CanDestroy:未知布尔函数


碰撞设置B

ToHit:布尔函数,该飞射物是否使用攻击准确率属性,或者说该飞射物是否100%(实际是95%)击中目标;如果这里不使用攻击准确率属性,则在Skills.txt中定义的技能加成准确率将对其飞射物无效,这也是弓箭系技能的攻击准确率加成bug出现的原因


AlwaysExplode:布尔函数,该飞射物是否在其损毁时调用碰撞函数,1 =是,0 =否;有些碰撞函数无视此列值,例如闪电之怒,在服务器端始终被当作爆裂型处理


一些杂项设置以及标志位设置(这部分内容大多是布尔函数)

Explosion:布尔函数,1 =爆裂型飞射物(此类飞射物的实体在服务器端并不存在),0 =非爆裂型飞射物;这个值优先级高于其他任何设置


Town:布尔函数,1 =当其在城镇中生成时不消失,0 =生成即消失


NoUniqueMod:布尔函数,1 =不从金怪的属性中获取加成效果,0 =获取所有加成效果


NoMultiShot:布尔函数,1 =金怪的多重射击属性对该飞射物无效,0 =有效;另外,Boss的一些死亡事件所释放的飞射物没有被暴雪设定为1


Holy:标志位,控制该飞射物可命中的单位种类,0 =所有单位,1 =仅限不死生物,2 =仅限恶魔生物,3 =所有单位


CanSlow:布尔函数,1 =可被慢速箭技能减速,0 =不能被减速


ReturnFire:布尔函数,1 =可以在击中敌人时触发碰撞事件,0 =不可以;碰撞事件包括“当被击中时”触发的所有事件,例如寒冰恐惧者的极地风暴技能为可触发飞射物,则被其命中的角色可以触发所有“被击中时”的事件;该值不确定是否与发射飞射物的单位在“击中敌人时”的触发事件有关


GetHit:布尔函数,1 =可以在碰撞时将敌人置于打击恢复状态,0 =无法造成打击恢复


SoftHit:未知布尔函数,仅用于火风暴和震波网络;与该飞射物打击敌人的频率有关


KnockBack:命中时击退敌人的百分比几率,0 =不击退,100 =每次成功的攻击(碰撞函数成功运行)都将造成敌人被击退


Trans:非布尔函数,0 =正常绘制图像,1 =该地区光照程度越低,该飞射物越透明,2 =用于使该飞射物产生黑白效果


Qty:布尔函数,该飞射物是否影响物品数量,1 =是,0 =否;这项功能调用Skills.txt中相应位置上的特殊发生函数以实现:假如这里设定为1,则炮轰技能将耗费其攻击次数相同数量的箭矢而不是一支


Pierce:布尔函数,该飞射物是否支持穿刺效果对其加成,1 =支持,0 =不支持;此处的穿刺效果包括物品上的穿刺攻击以及亚马逊的穿刺技能


SpecialSetup:未知布尔函数,仅对投掷药剂有效;这里有一个对药剂的物品类型实施的特殊检测机制,或许该函数是用来正确显示Weapons.txt中飞射物的伤害值


一些技能设定

MissileSkill:布尔函数,物品上的伤害是否可以转化为该飞射物爆炸半径所造成的伤害,该功能作用于所有其他伤害转化之前;一个例外:冻结之箭在Skills.txt中SrcDmg列值为128,此处值为1,其爆炸半径中并不包含物理伤害


Skill:这里填入某技能ID,则该飞射物将使用该技能的伤害/命中率数据来取代Missiles.txt中的数据;这些可被Skills.txt取代的数据包括:ResultFlags,HitFlags,HitShift,HitClass,SrcDamage (Skills.txt文件中的SrcDam),MinDam,MinLevDam1-5,MaxDam,MaxLevDam1-5, DmgSymPerCalc,EType,EMin,EMinLev1-5,EMax,EMaxLev1-5,EDmgSymPerCalc,ELen,ELenLev1-3,ELenSymPerCalc


事件标志位

ResultFlags:未知函数,4用于普通类飞射物,5用于爆裂类飞射物(HitFlags值为2),8用于无伤害的飞射物;与CollideType功能类似


HitFlags:未知函数,2用于爆裂类飞射物,5用于冻结之箭;该值的作用非常大,似乎与所有关于爆裂元素伤害的飞射物都有关


一些伤害设置

HitShift:伤害除数因子;生命、法力以及耐力值最小单位都是1/256;因此在这里8=256/256,7=128/256,6=64/256,5=32/256,4=16/256,3=8/256,2=4/256,1=2/256,0=1/256;分别等价于在实际伤害基础上乘以100%,50%,25%,12.5%,6.25%,3.125%,1.5625%,0.78125%,0.390625%


ApplyMastery:仅用于MeteorFire和VampireMeteorFire,看起来像是为这些非直接产生的飞射物提供相关加成


SrcDamage:原始伤害转化给飞射物伤害的百分比转化率;该列值以1/128为单位(128 = 100%);此处仅用于为伤害提供修正量,但同时也修正了那些与伤害相关联的属性,如偷取生命和偷取法力等;这里设置为-1将使Skills.txt中的SrcDmg列值失效


Half2HSrc:布尔函数,1 =使用双手武器时造成一半的伤害,0 =全额伤害


SrcMissDmg:仅用于蝮蛇喷出的毒标枪技能产生的毒素云雾,表示该飞射物从其产生源中继承的伤害百分比,例如此处填入128,则毒素云雾会继承其毒标枪技能的100%物理伤害


MinDamage,MaxDamage:该飞射物的最小/最大物理伤害值


MinLevDam1-5,MaxLevDam1-5:该飞射物每升一级的最小/最大物理伤害值增量,飞射物等级取决于发射者的等级,或者发射该飞射物的技能的等级;LevDam1用于技能等级在2-8级时,LevDam2用于9-16级,LevDam3用于17-22级,LevDam4用于23-28级,LevDam5用于29级及以上


DmgSymPerCalc:物理伤害协同加成,与Skills.txt文件中的同名列起相同的效果,但这里可填写的函数要少得多,仅支持技能等级对其的加成,不支持属性值对其加成


EType:该技能的元素伤害种类,这里的值引自ETypes.txt中的ID指针,具体如下:fire =火焰伤害,ltng =闪电伤害,cold =冰冷伤害(有冰冻时间),pois =毒素伤害(有持续时间),mag =魔法伤害,life =偷取生命(该属性将使怪物击中你时获取指定数量的生命),mana =偷取法力(该属性将使你被此怪物击中时失去指定数量的法力),stam =耐力偷取(该属性将使你被此怪物击中时失去指定数量的耐力),stun =晕眩攻击(有持续时间,但附加的伤害值不起作用,此效果仅针对雇佣兵和召唤物等,对于角色而言会使之出现打击恢复动作,而不是无法移动),rand =随机元素伤害(有持续时间,每次攻击随机附加火焰、闪电、冰冷、毒素伤害中的一种),burn =燃烧伤害(有持续时间,并且该类型的伤害不能被免疫,但因有bug而无法使用),frze =冻结伤害(有持续时间,会冻结雇佣兵及召唤物,但对于角色只是普通冰冻效果)


EMin,EMax:如前面的MinDamage和MaxDamage,只是伤害类型为元素伤害


MinELev1-5,MaxELev1-5:如前面的MinLevDam1-5和MaxLevDam1-5,只是伤害类型为元素伤害


EDmgSymPerCalc:如前面的DmgSymPerCalc,只是伤害类型为元素伤害


ELen:持续时间,用于stun,cold,pois,burn等,以桢为单位,25桢为1秒


ELevLen1-3:飞射物每升一级的效果持续时间增量,具体请参考MinELev1-5和MaxELev1-5


一些杂项设置

HitClass:攻击类型,控制当该飞射物成功命中敌人时所播放的声音,以下是一些已知的HitClass值:

2 –飞斧类音效

3 –刀刃之盾音效

6 –标枪撞击音效

10 –箭矢撞击音效

32 –火焰烧焦音效

48 –冰冻音效

64 –闪电打击音效

80 –被毒素(瓦斯药剂)击中音效

96 –击晕音效

109 –心灵传动音效

112 –重击音效

141 –攻击者收到反伤害音效

157 –庇护所音效

176 –普通毒素音效


NumDirections:通过CelFile列中的路径所加载的DCC文件的动画方向数目,该数值必须与相应的DCC文件匹配以防游戏崩溃;但该值似乎在1.10版本之后变得无用了


LocalBlood:该飞射物击中敌人是否会造成流血动画播放,0 =不流血,1 =可以流血,2 =可以造成撕开伤口方式的流血


DamageRate:该飞射物如何被“法术伤害减少X”类属性作用,留空意味着该类属性将按桢作用于该飞射物(对于持续性魔法而言这是致命的)


客户端设置A:音效

TravelSound:飞射物生成时游戏播放的wav音效文件,引自Sounds.txt文件的ID指针;这里也是飞射物存在时所循环播放的音效,但不要使用播放时间过长的声音文件,否则会使游戏崩溃


HitSound:飞射物命中敌人时播放的wav音效文件,这里的值引自Sounds.txt文件的ID指针


ProgSound:游戏为客户端函数定义的碰撞时特殊事件所播放的wav音效文件,引自Sounds.txt文件的ID指针


客户端设置B:图像

ProgOverlay:客户端函数定义的某些碰撞时特殊事件发生时,游戏所绘制的一些修饰图像,引自Overlays.txt文件中的ID指针,指向DCC文件


ExplosionMissile:碰撞后爆裂时,游戏绘制的飞射物图像;仅用于飞射物正常击中某敌人或者障碍物而爆裂时(何种障碍物可导致爆裂取决于CollideType列值),或者必然爆裂的飞射物爆裂时


一些附带飞射物

小提示:这部分内容仅用于飞射物的运行函数或者碰撞函数调用时,所有这些列值均为某飞射物的ID指针

SubMissile1-3:该飞射物运行函数在服务器端产生的飞射物

HitSubMissile1-3:该飞射物碰撞函数在服务器端产生的飞射物


CltSubMissile1-3:该飞射物运行函数在客户端产生的飞射物

CltHitSubMissile1-3:该飞射物碰撞函数在客户端产生的飞射物


行结束符

EoL:行结束符,值必须为0以防游戏崩溃

上一篇:Misc.txt描述    下一篇:MonEquip.txt描述