<p align="center">Missiles.txt File Guide v. 2<br />
//Missiles.txt 文件向导 v0.2<br />
By Nefarius and Brother Laz<br />
//作者:Nefarius 和 Brother Laz<br />
翻译:<font color="#FF00FF">namcop999</font></p>
<p>翻译前言:最近想捣鼓missiles.txt,苦于小站没有该文件的引导,就第一次去phrozenkeep上找,看到了这篇文件向导。一时冲动来了情绪想翻译一下。可一开始翻译就发现不是那么回事,很多东西读的时候可以连蒙带猜,可要翻给别人读,就显得不负责任了点。流着汗地干了一个早上,才基本完成。有些细节总得很别扭,估计翻错了,会误事。还是请有耐心读者自个揣摩(呵呵。。。汗一个)。<br />
这篇文字献给在小站混的兄弟,唯一请求是英语底子好,又有精力和热情的兄弟,请自行在这篇文字的基础上继续修改。力求成就一篇合格的文件向导,免得我白白浪费一个早上。</p>
<p>Initialization<br />
//字段初始设定 </p>
<p>Missile – ID Pointer, this pointer is used to assign the missile to skills
and units (Skills.txt and Monstats.txt), never use the same name twice (it
won't cause you to crash, but only the first instance will be used when accessed
via txt-linkage, note, if the ID is different you still can launch the missile
via code). <br />
//Missile -ID 指针 ,这指针通常被用来指定技能和怪物所产生的投射物(skills.txt 和 monstats.txt),不要重复使用同样的名字(这虽然不会导致游戏崩溃,但只有第一个被匹配的情况才能成功通过文件连接(个人理解为,如果两个missile相同,只有第一个被找到的missile才有效,missile字段可以不唯一,ID字段才要求唯一),注意,如果这ID不一样,你仍然可以发射这个投射物代码</p>
<p>Id – The actual ID of the missile the pointer above refers to, if you would
access your missile via code directly, you would use this! The ID must be different
for each missile (ranging between 0 and 32767). You must also take care to
not leave gaps between IDs, this is known to lead to unexplained errors and
other weird behaviour. <br />
//ID - 投射物的实际指针,必须指定,每个投射物的ID必须是不同的(范围0-32767).同时你必须小心不能在ids之间留下空挡,(个人理解id要连续,不能有中断)否则会导致不可解释的错误和其他不正常行为。</p>
<p>Functions<br />
//功能字段 </p>
<p>Note: I will not detail any of the missile functions here, I don't have enough
experience in this field (and there already is a missile-function guide by
Mishy23 -> which you can read by clicking here). You should also be aware
that some functions will work properly only when linked to a skill, such as
homing missiles! - Nefarius<br />
//注意:我不打算在这里详细的解释missile函数,在这个领域我没有足够的经验(而且已经有mishy23的missile-function文件向导)而且你要明白一些函数必须为skill所调用才能正常工作,
比如自导引投射物--Nefarius</p>
<p>pCltDoFunc – Client movement function. Defines the graphical behavior of the
missile while it is active ("before itvanishes"). <br />
//pCltDoFunc - 客户端移动函数。定义投射物被启动时的图形行为(在它消失以前)</p>
<p>pCltHitFunc – Client collision function. Defines the graphical behaviour of
the missile at the moment of collision ("thewarhead" if you want
to call it that way ). <br />
//pCltHitFunc - 客户端碰撞函数。定义投射物在碰撞时的图形行为(如果你愿意可以称它为“弹头”)</p>
<p>pSrvDoFunc – Server movement function. Defines the actual behavior of the
missile while it is active ("before it vanishes"), note, without
a matching client function, the effect will not be displayed, for example if
it is to launch additional missiles, these missiles will be invisible. A "server-side-only" missile
cannot initialize any client-side code, thus any missile it will launch will
also be invisible! <br />
//pSrvDoFunc - 服务端移动函数。 定义投射物被启动时的实际行为(在它消失以前)注意,如果没有一个匹配的客户端函数,效果就会不显示,比如,如果调用一个额外的投射物,这投射物就不可见。一个“server-side-only(只在服务端)”的投射物不能被定义任何client-side<br />
(客户端)代码,因此任何投射物调用这个server-side-only都将是不可见的。</p>
<p>pSrvHitFunc – Server collision function. Defines how the missile behaves at
the moment of collision, the same rules apply here as they did for the server
movement function. <br />
//pSrvHitFunc -服务端碰撞函数。定义投射物碰撞时的行为,和服务端移动函数(pSrvDoFunc)同样规则。</p>
<p>pSrvDmgFunc – Server damage function. Defines special routines to be done
when the missile damages ("hits") a unit. This ranges from stunning
units (without using stun damage!) to "damaging" mana instead of
life. <br />
//pSrvDmgFunc -服务端伤害函数。定义投射物击中怪物时的特殊行为。范围包括打晕怪物(没有使用打晕伤害)到伤害魔法来代替生命。</p>
<p>Calculations <br />
//计算字段</p>
<p>Note: These columns are only used if the proper functions are called by this
missile. Also, all columns preceded by an asterisk ("*") are comment
fields! <br />
//注意:这些里列只为投射物函数所使用,同时所有以“*”开头的都是注释列</p>
<p>SrvCalc1 – This column contains the server movement calculation. <br />
//SrvCalc1 - 这列解释服务端移动函数的计算</p>
<p>Param1-5 – These columns contain parameters passed on to the server movement
function (these parameters can also be used by the server movement calculation). <br />
//Param1-5 - 这些列为服务端移动函数的参数(这些参数也可以为SrvCalc1 使用)</p>
<p>CltCalc1 – This column is the client side equivalent to the SrvCalc1 column. <br />
//CltCalc1 - 这列为客户端修正SrvCalc1 列</p>
<p>CltParam1-5 – These columns are the client side equivalents to the Param1-5
columns. Normally their values should not be different to the Param1-5 columns,
some specially client-side effects such as trails will require them to be differenthowever
(the trails are a client-side only, so they do not need a server part)!<br />
//CltParam1-5 - 这些列是CltCalc1 的参数。正常情况下,这些值和 Param1-5 列一样,但在一些特殊的客户端效果比如trails
要求不一样(trails 是client-side only(只在客户端),所以它不需要服务端部分)</p>
<p>SHitCalc1 – This column contains the server collision calculation. <br />
//SHitCalc1 - 这列为服务端碰撞计算。</p>
<p>sHitPar1-3 – These columns contain the server collision parameters, as with
those for the movement functions, they can be used in the SHitCalc1 field. <br />
//sHitPar1-3 -为SHitCalc1 的参数</p>
<p>CHitCalc1 – Client side equivalent to SHitCalc1. <br />
//CHitCalc1 -这列为客户端 修正 SHitCalc1 列</p>
<p>cHitPar1-3 – Client side equivalents to sHitPar1-3 columns. <br />
//cHitPar1-3 - CHitCalc1的参数 </p>
<p>DmgCalc1 – Calculation used for damage modifications. <br />
//DmgCalc1 - 伤害计算</p>
<p>dParam1-2 – Parameters for the damage functions, can be used in DmgCalc1 column. <br />
//dParam1-2 - DmgCalc1的参数</p>
<p>Velocity settings <br />
//速度设置</p>
<p>Vel – Base velocity (the speed this missile starts with), this controls the
distance in subtiles (2/3 subtiles = 1 yard) the missile travels each second.
Speeds near the break point (above 240) cause it to wrap around and move backwards. <br />
//vel - 基准速度(投射物刚开始的速度),这个控制投射物每秒所运行的距离。数度接近临界点(大于240)将导致环绕或往回移动</p>
<p>MaxVel – Maximum velocity, this column is used if you use positive acceleration
as the speed-limit. <br />
//MaxVel - 最大速度。当你使用正数加速时这列被使用来限制最大速度</p>
<p>VelLev – Velocity per unit level (missiles are units), in case the missile
is fired by a monster its ulvl is the mlvl of the unit. In case it is fired
by a skill function its ulvl is the slvl of the skill. NOTE: This column may
or may not have any effect, in tests Brother Laz didn't notice a difference. <br />
//VelLev - 每一怪物级别速度,这投射物为怪物所发射,它的ulvl=怪物的mlvl。投射物为技能所发射,它的ulvl=技能的slvl。注意:这列有时有用,有时无效,这是Brother
Laz在测试时发现的。</p>
<p>Accel – A positive number will make this missile accelerate until its velocity
will reach the value in the MaxVel column. A negative value will make the missile
slow down until it stands still (0 velocity), you can use this column to cause
missilesto accelerate past the break point (FF) and thus move in a boomerang
fashion (go backwards again). NOTE: Missiles slowing to 0 may not damage anything,
you should use a collision function like SFIA or Freezing Arrow to release
something else that does damage. <br />
//Accel –这个正数将让投射物加速知道速度到达MaxVel的值。负数将使投射物减速只到0,你可以使用这列,使发射物超过临界点,让它移动的象飞去来器(一次一次往回飞)。注意:投射物速度为0将伤害不了任何东西,你必须使用碰撞函数象SFIA
或者Freezing Arrow释放出其他东西去造成伤害。</p>
<p>Range settings <br />
//范围设置</p>
<p>//Range – The number of frames this missile will exists after being created,
see as a "self destruction" timer. One may ask why the missiles must
vanish, but imagine missiles flying infinitely into the void, not a good way
to manage RAM. <br />
//Range –设定投射物产生后存在的帧数,可以被看成“自毁时间”。有人问,为什么投射物要消失,如果不消失,无穷的投射物所产生的图片将不利于内存的管理。</p>
<p>LevRange – Additional range per unit level. This works exactly like VelLev,
but unlike that column, this column here has an effect. <br />
//LevRange – 额外的范围/级别。它象VelLev那样工作,但不一样的是,这列肯定有效。</p>
<p>Light settings <br />
//光设置</p>
<p>Light – Diameter of the missiles light radius in subtiles. <br />
//Light –投射物光亮的直径</p>
<p>Flicker – Random alteratring to light radius diameter (in subtiles), use by
fire-effects to cause them to flicker (hence thecolumn name) in the existing
radius diameter (IE. it doesn't make the radius any larger). <br />
//Flicker –随机交互改变光亮直径,用在火效果的闪烁(不能使光亮半径变大)(个人理解:就是实现火光闪烁的效果,不懂如何准确翻译)</p>
<p>Red, Green, Blue – These columns control the RGB color values of the light
radius, obviously 255,255,255 = White and so on,to get any other color then
white you need to run in Direct3D (note: windowed mode = always directdraw). <br />
//Red, Green, Blue –这几列控制RGB颜色值</p>
<p> </p>
<p>Animation settings <br />
//动画设置</p>
<p>InitSteps – Frames before the missile becomes visible (more technically, frames
before the missile is created on the client). <br />
//InitSteps –投射物变得可见前的帧 </p>
<p>Activate – This column is used for those missiles created from a central point
(holybolts unleashed by the fist of heaven, lightning enchanted boss charged
bolts, their scarab equivalent etc), it is also used for missiles that will
only damage you after you touch them for a longer time (the "fingers" of
the death maulers for example). Thus, this column is the server side equivalent
to InitSteps, this is the delay in frames before the missile can actually do
anything besides existing graphically. <br />
//Activate – 这列被使用在那些投射物产生在一个中间点(the fist of heaven(天堂之拳)发出的(holybolts(圣光弹),lightning
enchanted boss(电加强老怪)发出的bolts(电火花),圣甲虫也类似),它也被使用在那些只有当你接触到他们一段时间后才能伤害你的投射物上(比如death
maulers这行id=502)因而,这列是服务端修正InitSteps, 它是投射物除existing graphically(存在图形)之外能够实际做些什么之前的延迟帧。(个人理解:不懂,真拗口)。</p>
<p>LoopAnim – Boolean, 1=Repeat this animation for the time of existence (range),
0=Play this animation once and then vanish (warning: the missile will only
vanish from the client if the animation is shorter then the range). <br />
//LoopAnim – 布尔型,1=重复动画在整个存在的时间,0=运行一次动画就消失(警告:如果动画时间比范围短,投射物就消失)</p>
<p>CelFile – The name of the DCC file to used for this missile, the files are
stored in data\global\missiles\, can contain subdirectories. <br />
//CelFile –投射物所使用的dcc文件,这些文件存在data\global\missiles\ ,可以包括子目录)</p>
<p>animrate – As far as I can say it has no function at all, I have set it to
0 and the animations still played at regular speed (16 frames per second as
specified in the AnimSpeed column). <br />
//animrate – 我可以说它根本没有运作,我曾经把它设置为0,动画依然运行在正常的速度(16帧/妙)</p>
<p>AnimLen – The length (in frames) of this animation (for a single direction).
If you have a missile with 64 frames and 8 directions, you would enter 8 in
this column for obvious reasons. <br />
//AnimLen – 动画的长度(单一的方向),如果你的投射物为64帧和8个方向,显而易见你必须在这列填入8</p>
<p>AnimSpeed – Number of frames played by second, this is not modified by animrate.
I don't know why Blizzard has two columns that practically do almost the same,
but I assume this is simply a result of the absence of missile *.COF (and thus
also *.D2) files as the animrate column seams to be ignored (it was in my tests,
it is probably there only to avoid in the DCC routines). <br />
//AnimSpeed - 设定每秒的帧数,这个不能改动。我不明白Blizzard 为什么设置这几乎相同的两列,但是我设想,这只不过是投射物缺少*.cof文件时,让动画列忽略(这只是我的测试,它可能时DCC
routines(ddc运行器)避免崩溃的手段)</p>
<p>RandStart – Causes the animation to start playing at the specified frame.
From the name you would think it controls a random starting frame but it does
not, it just causes the animation to start at the specified frame. <br />
//RandStart – 指定动画开始运行的帧。从这名字看来,你会想,这是控制一个随机启动帧,但其实不是的。它是控制动画从指定的帧开始的。</p>
<p>SubLoop – Boolean, 1=This missile will repeat a specific sequence as long
as enough range is left, 0=This missile will play it's animation normally (as
defined in the LoopAnim column). <br />
//SubLoop –布尔型 ,1=投射物将尽可能久的重复指定的序列。0=投射物将只正常的运行自己的动画</p>
<p>SubStart – Starting frame of the SubLoop.<br />
//SubStart – SubLoop的开始帧</p>
<p>SubStop – Ending frame of the SubLoop (when it reaches this frame it will
either go back to SubStart frame or it will play on until the missile disappears
if not enough range is left) <br />
//SubStop –SubLoop的结束帧(当到达这个帧,将要么回到开始帧,要么一直停留在这一帧只到消失)</p>
<p>Collision settings A <br />
//碰撞设置 A</p>
<p>CollideType – Controls the which type of collision to check for, 3=Normal
collision, 6=Z-collision (a missile "dropping from above"), 1=Used
mostly for missiles that lay on the floor, waiting for the character to walk
over them (like spidergoo and spikes) NOTE: This is not required for trap missiles,
8=Fire collision (fire walls etc), related to softhit or per-frame-damage setups.
Obviously, 0=No collision detection mode. There are at least 3 unused ones
(2,5,7). For a better explanation<br />
of what these types of collision detection mean: <br />
//CollideType – 控制碰撞的类型,3=正常碰撞,6=z-碰撞(投射物“从上面掉下来”),1=投射物平置在地上,等待角色踩到它(象spidergoo(蜘蛛网)
和spikes)注意:这个要求陷阱投射物,8=火碰撞(火墙),关系到每一帧的伤害设置。0=没有碰撞。这里至少有3种没用到(2、5、7)。</p>
<p> </p>
<p>Code:Type Floor-tiles Wall-tiles Units<br />
0 false false false 0000<br />
1 false false true 0001<br />
3 false true true 0011<br />
6 false true false 0110<br />
8 true true true 1000</p>
<p> </p>
<p>Code:Type Wall-tiles Units Floor-tiles <br />
0 false false false <br />
1 false true false <br />
3 true true false <br />
6 true false false <br />
8 true true true</p>
<p> </p>
<p>CollideKill – Boolean, Will this missile get destroyed upon collision. 1=Always
destroy this missile upon collision (overrides almost all other settings, Frozen
Orb collision function is known to ignore this column), 0=Don't destroy this
missile upon collision. <br />
// CollideKill –布尔型,碰撞时的投射物的破坏。1=永远破坏投射物(包括几乎所有的设定, Frozen Orb(冰封球)的碰撞函数忽略这一列)0=不破坏投身物</p>
<p>CollideFriend – Boolean, Can this missile collide with allies (such as holybolt),
1=Allow friendly collision, 0=Disallowfriendly collision. <br />
//CollideFriend – 布尔型,投射物碰撞时是否可以被同盟。1=允许,0=不允许<br />
LastCollide – Unknown to both me and Brother Laz, but this boolean seams to
be related to some special behavior on missiles that don't vanish upon collision,
such as fire effects and some other effects that are client-side only. In short,
it is usually enabled only for missiles with a "physical collision effect".
- In any event, this column can be left 0, it won't effect anything noticeable. <br />
//LastCollide –我和Brother Laz都不清楚这列是什么用。但是布尔类型看起来象和投射物碰撞时某些特殊的行为相关,比如火效果和一些其他只在客户端的效果。简而言之,它通常被使用在物理碰撞效果。在很多情况下,这一列设置为0。</p>
<p>Collision – Unknown to both me and Brother Laz, but this boolean is related
to the previous one, many missiles that have no "physical collision" but
still perform a collision event will have this set to 1 (fire effects). - In
any event, this column can be left 0, it won't effect anything noticeable. <br />
//Collision –我和Brother Laz都不清楚这列是什么用。,但这布尔型关系到前一列,很多投射物没有“物理碰撞”但时依然旅行碰撞事件,在这里设置为1(火效果)。很多情况下,这列被设置为0。</p>
<p>ClientCol – Unknown to both me and Brother Laz, I assume this name stands
for ClientCollision, but what exactly it handles remains a mystery. - In any
event, this column can be left 0, it won't effect anything noticeable. <br />
//ClientCol –我和Brother Laz都不清楚这列是什么用。我设想是ClientCollision的代替,但实际意思仍然是个迷,通常情况都设置为0</p>
<p>ClientSend – Boolean, could be related to updating lifeorb display on the
player when walking into firestorm or shock field. <br />
//ClientSend –布尔型, 和玩家进入firestorm (火风暴)或者shock field(刺客的技能)时的lifeorb 显示有关</p>
<p>NextHit – Use collision timer after first collision (1=yes, 0=no), the timer
is used to avoid excessive damage (and to annoyplayers). <br />
//NextHit – 第一次碰撞后的时间,用来避免过分的伤害(骚扰玩家)</p>
<p>NextDelay – Number of frames to deactivate all server-side collision settings
for this missile post collision and to make the attacked unit ignore all subsequent
missile attacks. For example, a missile with a NextDelay of 25 will be unable
to "damage" any target for 1 second after each successful server-side
collision. Apparently the monster being hit will also become "immune to
missiles" for the duration of this timer. <br />
//NextDelay – 设定所有服务端碰撞设定不活动的帧数。举例:投射物的NextDelay 为25,投射物在每个成功的服务端碰撞后将1秒内不能伤害任何目标。显然的怪物在这段时间内将对投射物免疫。(个人理解:应该就是延迟时间,怎么就那么拗口呢,汗。。。)</p>
<p>Size / Coordinate settings <br />
//大小/坐标设定</p>
<p>xoffset, yoffset, zoffset – Shift the placement of this missile by # pixels
on the x, y or z axis, point 0 is either the top left corner of the DCC or
the pivot (I haven't tested enough to be sure). </p>
<p>//xoffset, yoffset, zoffset –使用x、y、z轴来定位投射物放置。0是dcc或极轴的左上角(我没有做过足够的测试) </p>
<p>Size – Diameter in subtiles. Probably works identical to the size settings
in MonStats2.txt from -1 to 3. Basically 1=Fills only 1 subtile, 2=Fills 4
subtiles, 3=Fills 9 subtiles. <br />
//Size – 直径。可能用来同步MonStats2.txt 中的size(大小)设置。从-1到3。1=填充1 subtile 2=填充4 subtile,3=填充9subtile.</p>
<p>Unknown settings <br />
//不清楚的设置</p>
<p>SrcTown - boolean, most likely controls whenever a missile vanishes when the
person goes to a town via a TP ("PK trapping preventation), it is enabled
only for missiles that can be used to trap a way point for example (fire walls
and such effects). <br />
//SrcTown -布尔型,很象控制当人物通过传送门回城镇时,使投射物消失。(pk陷阱保护),在投射物可以使用陷阱在传送点时启用(比如火墙等效果)</p>
<p>CltSrcTown – Used together with the above, probably controls some graphical
aspects of the vanishing (the number may control a frame, but this is just
a wild guess. <br />
//CltSrcTown –和上列一起使用,可能控制一些消失时的图形视觉(这数字可能控制一帧,这只是猜想)</p>
<p>CanDestroy – unknown (boolean). <br />
//CanDestroy –不知道(布尔型)</p>
<p>Collision settings B <br />
//碰撞设置 B</p>
<p>ToHit – Does this missile use Attack Rating ("chance to hit") or
does it "always" (it's 95% actually) hit ("guided arrow behaviour").
You can easily make all missiles require Attack Rating by changing this boolean
column to true (1). Whenever it uses the additional AR given by skills.txt
is unknown, Brother Laz noticed that even the regular vanilla elemental arrows
may be bugged and ignore their AR bonus (spankyou very much Blizzard). <br />
//ToHit – 投射物是否使用攻击率(击中的几率)或永远击中(实际上为95%,比如向导箭的行为)你可以很容易让所有的投射物都要求使用攻击率,只要在这列填入1。它是否使用skill.txt中的附加攻击率还不知道,Brother
Laz注意这对到正常的元素箭存在bug和忽略他们的攻击率奖率。</p>
<p>AlwaysExplode – Will this missile always call it's Collision Functions when
it is destroyed. 1=Yes, 0=No. (For example, Frozen Orb will always explode
into a nova, even if it just runs out of range). Some collision functions,
such as the Lightning Fury collision, will ignore this column and always explode
server-side... <br />
//AlwaysExplode –投射物是否永远调用碰撞函数当他们被破坏时。1=yes ,0=no(举例:Frozen Orb(冰封球)永远爆发一个nova(冰环)。一些碰撞函数比如Lightning
Fury,将忽略这一列而永远爆发server-side... (服务端...)</p>
<p>Misc. settings and flags (mostly booleans) <br />
//杂项设置和标志(大部分布尔型)</p>
<p>Explosion – Boolean, 1=Is an explosion (meaning that it does not exist on
the server, this will override all other settings!), 0=Is not an explosion. <br />
//Explosion – 布尔型,1=爆发(意味它不存在在服务器,将超越所有其他设置)0=不是一个爆发</p>
<p>Town – Boolean, 1=Does not vanish when spawned inside a town, 0=Vanishes when
spawned inside a town (such as the trails left by the Druid's vines). <br />
//Town – 布尔型,1=在城镇中不消失0=回城就消失(比如Druid's vines的残缕)</p>
<p>NoUniqueMod – Boolean, 1=Does not get bonuses from boss modifiers (such as
fire damage if the boss spawns as Fire Enchanted), 0=Receives all bonuses applicable. <br />
//NoUniqueMod –布尔型,1=对老怪的修改不奖励(比如有火加强boss的火伤害),0=接受所有的奖励应用</p>
<p>NoMultiShot – Boolean, 1=Is not effected by the multishot modifier of bosses,
0=Is effected by the multishot modifier of bosses as usual. Note: Blizzard
forgot to enable this on some boss-death events, such as Shenk... <br />
//NoMultiShot –布尔型,1=不受多重打击boss的影响,0=受影响。注意Blizzard 忘记在boss死亡事件中实现此功能。比如Shenk...
(山克)</p>
<p>Holy – Flag, controls which units this missile can hit, 0=All units, 1=Only
undead, 2=Only demons, 3=All units. – I didn't test this extensively, done
from memory. <br />
//Holy – 标志,控制投射物可以击中的怪物类型。0=所有怪物,1=只有不死,2=只有恶魔,3=所有怪物--我没有测试</p>
<p>CanSlow – Boolean, 1=Is effected by skill_handofathena stat (slow missiles),
0=Is not effected by skill_handofathena stat. <br />
//CanSlow – 布尔型,1=能被slow missiles(慢速箭)所影响,0=不能</p>
<p>ReturnFire – Boolean, 1=Can trigger "collision events" on the target,
0=Cannot trigger collision events on the target. *Collision events are all
those things that happen "upon getting hit" for example. Blizzard
erroneously enabled this on the Arctic Blast used by the Frozen Horrors and
Nihlathak. NOTE: May or may not effect other "on hit" events, such
as casting a skill or "thorns". <br />
//ReturnFire – 布尔,1=可以触发目标上的碰撞事件,0=不能<br />
碰撞事件是指所有“被打击”的事情。Blizzard 错误的启用这个功能在Frozen Horrors的Arctic Blast和Nihlathak。注意:可能或可能不影响其他打击事件,比如施展一个技能或者thorns(荆棘)</p>
<p>GetHit – Boolean, 1=Can knock the target into GH mode ("hit recovery")
upon collision, 0=Never knock target into GH mode upon collision. <br />
//GetHit –布尔型,1=可以打击目标进入gh模式(打击恢复),0=永远不</p>
<p>SoftHit – Boolean, unknown, used only for Shockfield on Ground and Firestorn,
Apparently this setting handles the frequency of the unit being "visually" hurt
by the missile (probably the unit's lifebar being updated, which was bugged
originally).<br />
//SoftHit –布尔型,不知道,只在 Shockfield 和Firestorn中使用。</p>
<p>KnockBack – Percentage chance (0-100) to knock target back, the default is
0 obviously, if you enter 100 in here the target will always be knocked back
after every single successful collision. <br />
//KnockBack – 击退怪物的百分比,缺省为0,如果设置为100,每一此成功的打击怪物都被击退。</p>
<p>Trans – Not a boolean, 0=Draw graphic normally, 1=Alpha-blending ("the
darker the areas are the more transparent they become"), 2=Special blending
mode (usually causes the missile to display black-and-white). <br />
//Trans –不是布尔型,0=正常的画图,1=Alpha-blending(Alpha混合物)(暗的地方会变得越来越清晰)2=Special blending
mode(特殊的混合物方式)(通常导致投射物显示黑和白)</p>
<p>Qty – Does this missile use up quantity (1=use quantity, 0=don't use quantity).
NOTE: This requires a special starting function in skills.txt to work. Also,
if you enable this for strafe for example, it will use the number of missiles
it actually fires rather then a constant 1 <br />
//Qty –投射物是否使用数量(1=使用数量 ,0=不使用)注意:这要求skill.txt一个特殊的启动函数才能工作。比如你在strafe 启用这个,它将使用的投射物的数量为大于常数1的实际发射数。</p>
<p>Pierce – Is this missile effected by pierce (1=effected by pierce, 0=not effected
by pierce). This refers to the "pierce" modifier and to the Amazon
skill Pierce. <br />
//Pierce – 投射物是否受穿透的影响(1=受影响,0=不受影响),这和ama的Pierce技能和有“Pierce”的物品有关。</p>
<p>SpecialSetup – Boolean, unknown, enabled only for potions. I am unsure what
this controls, the "arc" is not handled by this, there is a special
check in code for potion itype. Maybe this has to do with displaying correct
missile damage in weapons.txt? <br />
//SpecialSetup –布尔型,不知道,只在药水中使用,我不能确定控制什么,</p>
<p>Skill settings <br />
//技能设置</p>
<p>MissileSkill – Boolean, used to transfer elemental damage from items to the
splash radius of the missile and to diss all other damage modifiers (ever wondered
why Freezing Arrow has SrcDmg set to 128 in skills.txt, yet the splash radius
does no physical damage?). </p>
<p>MissileSkill – 布尔型,用来转换物品上的元素伤害到投射物的飞溅半径和diss(???)其他伤害修改因素(很惊讶为什么Freezing
Arrow在skill.txt中设置SrcDmg 为128,然而飞溅半径没有物理伤害?)</p>
<p>Skill – If you enter the ID Pointer ("the name") of a skill here
this missile will retrieve all of it's damage/hit data from this skill. The
columns being read from skills.txt instead of missiles.txt are the following:
ResultFlags, HitFlags, HitShift, HitClass, SrcDamage (SrcDam in skills.txt!),
MinDam, MinLevDam1-5, MaxDam, MaxLevDam1-5, DmgSymPerCalc, EType,EMin, EMinLev1-5,
EMax, EMaxLev1-5, EDmgSymPerCalc, ELen, ELenLev1-3, ELenSymPerCalc. </p>
<p>//Skill –如果你在这里打入技能的id(名字),投射物将从这个技能找回所有伤害/命中数据。这列将从skill.txt中读取而不是从missile.txt读取以下几列:esultFlags,
HitFlags, HitShift, HitClass, SrcDamage (SrcDam in skills.txt!), MinDam, MinLevDam1-5,
MaxDam, MaxLevDam1-5, DmgSymPerCalc, EType,EMin, EMinLev1-5, EMax, EMaxLev1-5,
EDmgSymPerCalc, ELen, ELenLev1-3, ELenSymPerCalc. </p>
<p>Event flags <br />
//事件标志</p>
<p>ResultFlags – unknown (to both of us). 4=Used for normal missiles, 5=Used
for explosions (all things with HitFlags of 2!), 8=Used for missiles that never
damage anything. Most likely behaves similar to CollideType but what it really
does... <br />
//ResultFlags –不知道(我们两个都不知道)。4=正常的投射物,5=爆炸物(所有HitFlags =2),8=不伤害任何东西的投射物。看起来类似CollideType的行为,但是真实的情况是什么呢? </p>
<p>HitFlags – unknown, 2=Used for explosions, 5=Used for freezing arrow. This
could play a more important role then originally expected. Likely related to "splash
damage elemental carry over" mentioned further above (MissileSkill). <br />
//HitFlags –不知道,2=用在爆炸物,5=用在冰冻箭。这个比预期更为重要。</p>
<p>Damage settings <br />
//伤害设置</p>
<p>HitShift – this is a "damage divisor", damage, as well as hitpoints,
mana and stamina is handled in 256ths. 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. This roughly equals: 100%, 50%,
25%, 12.5%, 6.25%, 3.125%, 1.5625%, 0.78125% and 0.390625% of the actual damage. <br />
//HitShift –这是伤害除数,伤害,生命值,魔法和耐力(handled)句柄在256ths. 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% and 0.390625% 实际伤害。</p>
<p>ApplyMastery – Used only for MeteorFire and VampireMeteorFire. Most likely
used to boost the damage of these unlinked missiles via mastery bonuses.. <br />
//ApplyMastery – 只在MeteorFire 和VampireMeteorFire中使用,</p>
<p>SrcDamage – "Source Damage", this controls whenever the game should
append the source units attack properties to the missile or not. Thi column
is using 128ths (128=100%). This does not only reflect damage, but all other
modifiers related to attack, including lifesteal and manasteal. Set this to
-1 (poison clouds) to get rid of SrcDmg from skills.txt. <br />
//SrcDamage – 元伤害。这列使用128ths(128=100%)这一列不只关系到伤害,而且还关系到其他修改因素,比如吸血和吸魔。设置为-1(毒云)将使skills.txt中的SrcDmg
无效</p>
<p>Half2HSrc – Boolean, 1=Halven damage when a two handed weapon is used, 0=Keep
full damage when a two handed weapon is used.<br />
//Half2HSrc – 布尔型,1=一半伤害当双手武器使用,0=保持完全伤害当双手武器使用</p>
<p>SrcMissDmg – Used only for the poison clouds created by the expansion Viper's
poison javelin I assume this tells it how much damage it should carry over
from the base missile. <br />
//SrcMissDmg – 只在Viper's poison javelin所创造的毒云中使用,我设想它使计算多少伤害附加在基本投射物上。</p>
<p>MinDamage, MaxDamage – Basic minimum and maximum physical damage of this missile. <br />
//MinDamage, MaxDamage – 投射物的最小最大物理伤害</p>
<p>MinLevDam1-5, MaxLevDam1-5 – Additional physical damage to deal out per missile
level (the unit level of the missile, either equal to the attacker's level
or to the skill level). The range is: ulvl 2-8, ulvl 9-16, ulvl 17-22, ulvl
23-28 and ulvl 29+ <br />
//MinLevDam1-5, MaxLevDam1-5 –额外的物理伤害每投射物等级(怪物的投射物等级,等价技能的等级或攻击者的等级)范围:ulvl
2-8, ulvl 9-16, ulvl 17-22, ulvl 23-28 and ulvl 29+ </p>
<p>DmgSymPerCalc – Physical damage synergy, works just like the synergy column
in skills.txt, only that it has much fewer functions, AFAIK it only supports
getting skill level, not way to obtain stat values etc. <br />
//DmgSymPerCalc –物理伤害变量,象skill.txt的变量列一样使用,只有很少的函数AFAIK 使唯一支持取得技能等级的,没有办法获得其他状态值</p>
<p>EType – Elemental damage type. fire, ltng (Lightning), mag (Magic), cold,
pois (Poison), life (Life-steal), mana (Mana-steal), stam (Stamina-steal),
stun (note, "stun damage" is ignored, stun uses only duration), rand
(either lightning, fire, cold or poison – picked at every successful hit),
burn (Burning damage, bugged, gives no EXP from kills, otherwise works like
poison, you need to have low HitShift to make it work properly!), frze (Freeze,
by itself this is handled like cold damage, you need to use special server
damage functions to actually cause the unit to become frozen solid). <br />
//EType – 元素伤害类型,火,电,魔法,冰,毒,吸血,吸魔,吸耐力,打晕(注意,“打晕伤害”被忽略,打晕只是一个持续时间,rand(任一电、火、冰或者毒-每一个成功的击中),燃烧(燃烧伤害,臭虫,不能从被杀者中得到经验,象毒,你需要设置低HitShift让它工作正常)冰冻(冰冻,有自己方式,比如冰伤害,你需要使用特殊的服务端伤害函数让怪物变成冰块)</p>
<p>EMin, EMax – Just like MinDamage and MaxDamage, just for elemental damage
(duh). <br />
//EMin, EMax – 元素伤害的最小最大值</p>
<p>MinELev1-5, MaxELev1-5 – I doubt I have to explain this. This is like MinLevDam1-5
and MaxLevDam1-5, just for elemental damage. <br />
//MinELev1-5, MaxELev1-5 我犹豫我是否必须解释这个,这个象MinLevDam1-5 和 MaxLevDam1-5,只不过是元素伤害。</p>
<p>EDmgSymPerCalc – Same as DmgSymPerCalc, just for elemental damage. <br />
//EDmgSymPerCalc – 类似DmgSymPerCalc, 只是元素伤害</p>
<p>ELen – Duration (used for stun, poison and burning damage), the duration is
handled in frames, 25=1 second. <br />
ELen – 持续时间(用在打晕,毒和燃烧伤害),持续时间用帧表示,25帧=1秒</p>
<p>ELevLen1-3 – Extra duration per missile unit level. (check intervals) <br />
//ELevLen1-3 –额外持续时间每投射物等级。</p>
<p>Misc. Settings <br />
//杂项设置</p>
<p>HitClass – Hit classes are a rather "enigmatic" part of D2, but
they are technically just client side effects forcollisions. For example the
Hit class #6 is responsible for the "pierce noise" when a throwing
weapon hits something. #10 is probably the same just for "smaller piercing
missiles" like Arrows. #2 is used for throwing axes, #64 causes the "electric
sound" (used for lightning based missiles to make that special sound),
#32 is used for fire walls and the like, #176 for liquid attacks (slime-missiles
for example), #80 is used for Poison Nova, #48 for some cold effects. The hitclasses
used inother txt files (MonStats2.txt, Skills.txt and possibly others that
I forgot) can also be used here. <br />
//HitClass – 击中类型是d2中高深莫测的部分,但这些只是客户端碰撞的效果的技能。比如,击中类型为#6是投资性武器击中东西十的反应。#10可能是箭,#2通常被使用在飞斧,#64为闪电。#32火墙#176为液体攻击#80毒环#48一些冰效果。击中种类在别都txt文件中被使用(MonStats2.txt,
Skills.txt and 可能还有其他,我记不清了) 都可以使用在这里。</p>
<p>NumDirections – Number of directions of the DCC file loaded via the CelFile
column. Make sure this matches the DCC to avoid crashes and the like. NOTE:
Brother Laz says that this column is of no importance, I personally remember
getting crashes in pre 1.09 days, so ignore this column or fill it, it seams
more important that the "Length" column is correct, probably like
animrate, which is only there to avoid internal conflicts due to the absence
of COF files. <br />
//NumDirections –dcc文件的方向的数量。注意Brother Laz说这一列并不重要。我个人记得在1.09是不填这行会导致游戏崩溃。</p>
<p>LocalBlood – Related to skills that cause blood to be spilled around. 0=Can't
bleed, 1=Can it bleed, 2=Can it bleed and is it effected by open wounds. <br />
//LocalBlood –和技能相关,导致大量出血。0=不大量出血,1=可以大量出血,2=可以大量出血而且受割开伤口影响。</p>
<p>DamageRate – How does this missile handle magic_damage_reduced stat. An empty
column means the effect is applied completely every single frame. Blizzard
added this to avoid people from almost nullifying fire wall damage with just
5+ Magic Damage reducing items. (Get detailed formula) <br />
//DamageRate – 投射物减少魔法伤害的状态。空列表示每一帧为完全的效果。Blizzard设置这列避免人们利用5+减少魔法伤害物品差不多完全抵消火墙伤害 </p>
<p>Client side settings A: Sounds <br />
//客户端设置 a:声音</p>
<p>TravelSound – ID Pointer from Sounds.txt to the WAV file the game plays when
the missile is created. This is also used for sound effects that should loop
for the time of the missiles existence. NOTE: Using looping sounds here can
cause crashes (don't use long looping sound effects such as Music). <br />
//TravelSound - 指定投射物产生时的声音,为Sounds.txt中的ID</p>
<p>HitSound – ID Pointer from Sounds.txt to the WAV file the game plays when
the missile collides with a target. <br />
//击中目标的声音</p>
<p>ProgSound – ID Pointer from Sounds.txt to the WAV file the game plays at special
events, defined by the client side functions related to collisions. <br />
//ProgSound – 定义玩家特殊事件的游戏声音,定义在客户端函数和碰撞有关。</p>
<p>Client side settings B: Graphics <br />
//客户端设置 b:图形</p>
<p>ProgOverlay – ID Pointer from Overlays.txt for the DCC file to use as an overlay
for special events defined by the client side functions related to collisions. <br />
//ProgOverlay –overlays.txt的ID指针</p>
<p>ExplosionMissile – The ID pointer from Missiles.txt for the explosion to create
upon collision, this is only created if the missile successfully collides with
a unit or an obstacle (what it can collide with is controlled by CollideType)
or when AlwaysExplode is enabled.. <br />
//ExplosionMissile –missiles.txt的ID指针用来爆发创造碰撞,</p>
<p>Appended missiles <br />
//附加的投射物</p>
<p>Note: These columns are only accessed if the movement or collision functions
use them! Also, all these columns use ID Pointers ("names") <br />
注意:这列只为移动或碰撞函数使用。</p>
<p>SubMissile1-3 – Server part of the missiles spawned by the movement function. <br />
//SubMissile1-3 –由移动函数产生的服务器部分的投射物</p>
<p>HitSubMissile1-3 – Server part of the missiles spawned by the collision function. <br />
//HitSubMissile1-3 - 由碰撞函数产生的服务器部分的投射物</p>
<p>CltSubMissile1-3 – Client part of SubMissile1-3. <br />
//CltSubMissile1-3 - SubMissile1-3的客户部分 </p>
<p>CltHitSubMissile1-3 – Client part of HitSubMissile1-3. <br />
//CltHitSubMissile1-3 - HitSubMissile1-3的客户部分 </p>
<p>Line terminator <br />
//行结束</p>
<p>EOL – End of Line, must be set to 0 if you use M$ Excel, to prevent it from
blowing up the table.<br />
//eol - 行的结束,必须为0</p> |