技能修改详细解说(下篇)|暗黑MOD|暗黑破坏神另类模式|暗黑MOD下载|暗黑MOD制作
本站域名:
- MOD站点链接 -
技能修改详细解说(下篇)
技能修改详细解说(下篇) 作者:llssss4308
读过上篇的朋友们相信已经可以将大多数的角色调整为适合自己性格的技能人物,但是对于圣骑士、野蛮人和刺客来讲,可以扩展的召唤或投射技能并不多。所以我们在中篇里面就着重讲一下有关近身技能的扩展。
一、入门篇
使用圣骑士的玩家们一定相当的喜爱骑士的zeal技能,即白热,可以连续攻击5次的近身攻击技能。如果能够攻击更多的次数,那么面对怪物的围攻或者在攻击Boss时就会更加迅速。所以我们从增加连击技的连击次数入手,来介绍近身技能的修改。
首先,在暗黑的角色技能中有三种技能是拥有连击属性的,他们分别是:
亚马逊的Fend技能,连击次数上限为12,skills文件中的ID为30;属性代码srvdofunc和cltdofunc字段分别为13、21;
圣骑士的Zeal技能,连击次数上限为5,skills文件中的ID为106;属性代码srvdofunc和cltdofunc字段分别为13、21;
德路伊变身为狼之后的Fury技能,连击次数上限为5;属性代码srvdofunc和cltdofunc字段分别为13、21;
从上面的例子可以看出,连击技能的属性代码均为13、21。并且其连击上限是可以调整的。我们以zeal技能为例,将横向滑动杆向右侧拖动,移动到calc、*calc
desc和param、*param description区,这个区我们称之为属性定义区域。其中calc定义了技能的算法;*calc desc定义了技能的属性;param中是算法中需要使用到的数字参数;而*param
description则纯粹是注释用的字段,不会影响任何属性。但是就是这些注释字段,为我们进行技能调整提供了最好的参考。我们看zeal的*param6
description中的注释:“Max targets”;前面的param6中是数字5。你可以忽视zeal的算法,仅仅依靠修改max targets的数值就可以达到调整连击次数上限的目的。
好了,我们将param6中的字段改为12,然后保存,进入游戏,怎么样,很简单吧。Fury技能的修改与zeal技能完全一致,而fend技能只需要修改calc1中的字段就可以了。因为fend技能没有使用算法来实现,直接就可以进行12次的连击。
至此我们入门篇的介绍就结束了,如果你还不满意,那么请看我们的基础篇。
二,基础篇。
1。坠落型魔法和喷涌型魔法
不知道大家还记不记得在我们的上篇中讨论投射技能时忽略了对陨石、暴风雪、火山、毁天灭地、地裂等魔法技能的讨论,如果你仔细观察就会发现,这些技能都是右键技能,即魔法在你鼠标所在位置开始运行,不会发生移动(毁天灭地和飓风例外)。这些技能我成为坠落型和喷涌型技能。对于这些技能来讲,其实都应该属于二段投射。因为这些魔法技能的属性定义和算法都是在missiles文件中定义的,在skills文件中并未给出关键性的描述。其属性代码srvdofunc和cltdofunc字段大多为28、28。
因为我们的技能修改仅限于skills文件内部,所以对于这些二段投射技能,我们只能在攻击范围和攻击频率上进行调整。这样就要求我们详细了解calc、*calc
desc和param、*param description区,这个区我自己命名为属性定义区域。
观察属性定义区域,我们会接触到许多重复的字段,这些字段是有着固定的意义的。
Meteor:陨石,ID56,投射物代码meteorcenter,关键字段param1(攻击半径)param2(每次升级后增加的攻击半径,默认值为0,可以改为1);
Blizzard:暴风雪,ID59,投射物代码blizzardcenter,关键字段param1(攻击半径)param3(攻击频率延迟,默认值为4,可以改为1);
Fist of the Heavens:天堂之拳,ID121,投射物代码fistoftheheavensdelay,关键字段param1(二段投射圣光弹基数)param2(每次升级增加的圣光弹数量);
Molten Boulder:熔浆巨岩,ID229,投射物代码moltenboulderemerge,关键字段param1(爆炸攻击半径);
Eruption:火山爆,ID234,投射物代码erruption center,关键字段param1(攻击半径)param2(攻击频率延迟,默认值为6,可以改为1);
Volcano:火山,ID244,投射物代码volcano,关键字段param1(融岩攻击范围)param2(攻击频率延迟,默认是2,可以改为1);
Armageddon:毁天灭地,ID249,投射物代码armageddoncontrol,关键字段param1(基础攻击持续时间)param2(每次升级延长的攻击时间,默认是0,可以改为50)param3(流星坠落的半径,默认是8)param4(二段投射攻击频率延迟,默认是8)。注意,由于技能特殊,在cltcalc、*cltcalc
desc字段还有附加定义。分别是frames(外形)fall rate(坠落速率)slide rate(移动速率)默认值是25、25、15,还未进行测试。
Hurricane:飓风,ID250,投射物代码hurricaneswoosh、hurricanerock、hurricanetree;cltcalc、*cltcalc
desc字段附加定义debris/frame(3)、height(75)。关键字段param1(基础攻击持续时间)param2(每次升级延长的攻击时间,默认是0,可以改为50)param3(攻击半径);
Fire Trauma:火焰爆震,ID251,投射物代码bomb in air,关键字段param1(攻击半径);
Shock Field:雷电网,ID256,投射物代码shock field in air,关键字段param1(基础投射数量)param2(每次升级叠加的投射物数量)。
请注意,对于攻击半径的参数,我建议不要超过16,一般在8左右就可以了。
2。近身攻击复合魔法
我们来观察普通的近身攻击技能,相当一部分的近身攻击技能的srvdofunc字段定义的是2,代表是一般的砍杀。这些srvdofunc字段为2的技能就是我们可以用来进行扩展的近身攻击技能,有以下几个:
Power Strike:ID14;
Impale:ID19;
Vengeance:ID111;
Bash:ID126;
Stun:ID139;
Concentrate:ID144;
Berserk:ID152;
Fire Claws:ID239;
我们参考亚马逊的两种带有魔法攻击的近身攻击技能:
Charged Strike和Lightning Strike。
Charged Strike:ID24,在击中怪物的同时释放出和等级相关数量的闪电球。属性代码srvdofunc和cltdofunc字段分别为11、19;投射物代码chargedstrikebolt;关键字段calc1、*calc1
desc定义投射物数量;param1(基础投射数量);param2(按等级附加投射数量);
Lightning Strike:ID34,在击中怪物的同时释放出连锁闪电。属性代码srvdofunc和cltdofunc字段分别为14、22;投射物代码lightningstrike;关键字段calc1、*calc1
desc定义攻击半径;calc2、*calc2 desc定义二段攻击时的目标数量;param1(自动寻找敌人的范围);param3(基础的二段投射物投射数量);param3(每次升级附件的二段投射攻击数量)。
其中Charged Strike的投射是网状投射,Lightning Strike是单一投射。
针对这两个例子,我们可以对srvdofunc字段代码为2的近身攻击技能进行扩展。并且可以让近身攻击技能复合不同的投射物代码,从而产生相应组合效果。
需要注意的是,如果希望你所添加的辅助魔法技能可以产生按等级加成的效果,我们就必须引入新的一个区域:
Etype、Emin、Emax字段区,大概在接近右侧末端的地区,一共有13个字段。
Etype中定义的是魔法攻击的伤害属性,有cold、itng、mag、fire、pois五个常用字段,分别代表冰冷伤害、闪电伤害、魔法伤害、火焰伤害和毒素伤害。
在Emin和Emax字段区中就定义了最小和最大魔法伤害基础值。
而在Eminlev和Emaxlev字段区则定义了相应的魔法威力按等级增加的数量。
如果你希望你的辅助魔法的威力可以按等级进行加成,最好在你修改的技能后面添加相应属性的魔法伤害参数。
而EdmgSympercalc字段则是达到技能间相互加成的关键字段,其算法极为复杂,例如(skill('Charged Strike'.blvl)+skill('Lightning
Bolt'.blvl)+skill('Power Strike'.blvl)+skill('Lightning Fury'.blvl)) * par8这个字符串是Lightning
Strike技能的,他表示闪电冲击的闪电伤害按Charged Strike、Lightning Bolt、Power Strike和Lightning
Fury的技能等级之和再乘以param8中所给的比例系数进行加成,而比例系数的字符串说明一般为damage synergy、length synergy、duration
synergy、freeze synergy、absorb synergy等等,均以synergy字符串结尾,一般占用param8的位置上面的字段,意义分别为伤害加成、长度加成、持续时间加成、冰冻效果加成、吸收加成等等。如果希望增加技能之间相互加成的效果,那么只要将synergy字段前面的百分比参数修改的大一些就可以了,甚至还可以修改EdmgSympercalc字段中的加成算法,这种修改本身就是一个比较独立的系统,所以列在外传中讲解。
至此,基础篇的教程到此位置,在进阶篇中我们将着重讲解刺客的技能,包括聚气技能和陷阱技能。
三、进阶篇
刺客的陷阱是一个很特别的技能,虽然是召唤技能,但是召唤出的怪物并不会走动;虽然不是投射魔法,但是陷阱却可以释放魔法攻击。进阶篇中对于陷阱的修改并不难,甚至和基础篇中的魔法区还有几分类似。对于刺客的陷阱,如果说忽视投射方式的修改(因为参考上篇中的投射技能和召唤技能的修改可以做到),那么对于陷阱来讲可以扩展的就是陷阱的攻击次数以及陷阱的持续时间和攻击范围。让我们逐个的研究刺客的陷阱。
Blade Sentinel:刃之守护,ID254,召唤与投射混合技能,关键字段passivecalc1(攻击次数,默认值为lvl*5)召唤属性区略,calc4定义攻击持续时间算法,param1(基础持续时间)param2(每次升级增加的持续时间)param3(角色最大投射数量)param4(影子和影子大师的最大投射数量);
Charged Bolt Sentry:电能守护,ID261,召唤技能,关键字段calc4(定义雷光守卫在增加电能守护的攻击次数上的加成算法“par1
+ skill('Lightning Sentry'.blvl)/4“)param1(定义攻击次数)param3(释放的充能弹的数量)param4(每次升级增加的充能弹数量,默认是0,可以改为1)相应的召唤物投射技能BoltSentry:ID306,网状投射,属性代码17、23,投射物字段sentrychargedbolt,关键字段param8(攻击次数)param1(释放的充能弹的数量)param2(每次升级增加的充能弹数量,默认是0,可以改为1);
注意,陷阱技能的修改是牵涉到两层嵌套的修改,不但要修改原始的召唤陷阱技能,还要修改陷阱自己拥有的魔法投射技能。
Wake of Fire Sentry:火焰复生,ID262,召唤技能,关键字段param1(攻击次数)相应的召唤物投射技能Wake Of Destruction
Sentry:ID281,波浪投射,属性代码125、70,投射物字段wake of destruction maker,关键字段calc4(攻击次数算法定义)param1(基础投射数量)param2(每次升级后的投射物增加数量,默认是2)param4(最小攻击范围)param8(攻击次数);
注意,陷阱技能要增加攻击次数的话,一定要两个技能的攻击次数字段都要修改,并且一致,这一点必须注意。
Lightning Sentry:雷光守卫,ID271,召唤技能,关键字段param1(攻击次数,默认值为10)相应的召唤物投射技能sentry lightning:ID313,无属性代码,投射物字段sentrylightningbolt,关键字段calc4(攻击次数算法定义)param1(最小伤害)param2(最大伤害)param3(每次升级增加的伤害值)param8(攻击次数,默认值为10);
Inferno Sentry:复苏地狱火,ID272,召唤技能,关键字段param1(攻击次数,默认值为10)相应的召唤物投射技能mon inferno
sentry:ID311,属性代码95、77,连续投射,投射物字段inferno sentry 1,关键字段param1(攻击长度)param3(两次攻击直接的时间间隔)param8(攻击次数,默认值为10);calc3(攻击密度);
注意,这个技能的算法比较复杂,如果你不熟悉投射魔法算法的话,不建议进行算法上的修改。
Death Sentry:亡者守卫,ID276,召唤技能,关键字段param1(攻击次数,默认为5)相应的召唤物投射技能A。mon death sentry:ID312,属性代码55、78,尸爆技能,关键字段param1(最小伤害40%HP)param2(最大伤害80%HP)param3(基本攻击半径10)param4(每次升级后增加的攻击半径
1)param8(基本攻击次数5)calc4(攻击次数的加成算法par8 + skill('Fire Trauma'.blvl)/3,即基本次数为param8=5,火焰爆震技能每升3级,增加一次尸爆)B。death
sentry ltng:ID324,无属性代码,单一投射,投射物代码字段sentrylightningbolt2,关键字段param8(攻击次数,默认值为5)。
至此,所有的刺客的陷阱技能的解释已经完成,下面我们就可以来看一看刺客的4个聚气技能。
2。聚气技能区
刺客的聚气技能区可谓别具一格,聚气技能是一个比较复杂的技能,准确的讲,聚气技和终结技形成了二段攻击的概念。如果能够将聚气技能认识清楚,那么对与圣骑士和野蛮人的近身攻击技能的扩展会有很大帮助,现在我们就来了解一下四种表现明显的刺客聚气技。
Fists of Fire:ID259,焰拳;srvdofunc字段值35;
Claws of Thunder:ID269,雷电爪;srvdofunc字段值35;
Blades of Ice:ID274,寒冰刃;srvdofunc字段值35;
Royal Strike:ID280,凤凰攻击;srvdofunc字段值34。
比较起来,眼镜蛇攻击和虎击的srvdofunc字段值也是34。
聚气之后的释放是最关键的,在释放时,函数会根据不同的参数调用不同的处理方式。我们不得不再增加一个区域:srvprgfunc与prgcalc字段区,这两个区域中的代码前者代表聚气释放的方式,后者代表释放时数量或面积的参数。
srvprgfunc1是聚气一次时释放形式定义;srvprgfunc2是聚气两次时释放形式;srvprgfunc3是聚气三次时释放形式。
其中对应的攻击方式有:
区域爆炸型 38;
召唤坠落型 40;
四散折线型 37;
召唤新星型 36;
跟踪直线型 41;
螺旋花瓣型 143;
面积爆炸型 39。
然后对应的prgcalc字段的属性分别为:
区域爆炸型:爆炸半径;
召唤坠落型:无;
四散折线型:单个方向上的投射物数量;
召唤新星型:无;
跟踪直线型:总共的投射物数量;
螺旋花瓣型:总共的投射物数量;
面积爆炸型:攻击半径。
然后在srvmissilea、srvmissileb、srvmissilec中就会对应前面的三次不同的聚气释放的投射物代码。
之后我们还需增加另外一个区域:cltprgfunc1、cltprgfunc2、cltprgfunc3。同样是对应相应的显示代码,分别为:
区域爆炸型 9;
召唤坠落型 14;
四散折线型 11;
召唤新星型 10;
跟踪直线型 15;
螺旋花瓣型 83;
面积爆炸型9。
而后面对应的cltmissilea、cltmissileb、cltmissilec对应前面的三次不同的聚气释放的投射物代码。
这样就可以通过参数的调整将刺客的聚气技能的表现形式变的更加多样化。
四、资深篇
1。关于被动掌控技能的研究。
我们从野蛮人的六种武器控制入手,来研究被动技能。
被动技能定义区:
passivestate字段,这里定义了被动技能的名称。
Passiveitype字段,这里定义了被动技能作用的物品类型,例如h2h是刺客的爪子,在刺客的两个被动技能爪控制和爪格挡中就用到了。而野蛮人的被动武器控制是swor、axe、blun、pole、thro、spea。类似的在亚马逊和圣骑士等人的技能中也可以添加被动武器控制技能。如果在这个字段中是空白的,就代表被动技能作用于人物自身。
Passivestst1~3字段,定义的是被动加成的属性passive_mastery_melee_th代表攻击准确率加成;passive_mastery_melee_dmg代表攻击伤害加成;passive_mastery_melee_crit代表致命性打击加成;其他技能的相应字段还有:
passive_critical_strike:亚马逊的criticalstrike技能;
passive_dodge亚马逊的dodge技能;
passive_avoid亚马逊的avoid技能;
item_tohit_percent亚马逊的penetrate技能;
passive_evade亚马逊的evade技能;
skill_pierce亚马逊的pierce技能;
manarecoverybonus女巫的温暖技能;
passive_fire_mastery女巫的火焰掌控技能;
passive_ltng_mastery女巫的闪电掌控技能;
passive_cold_pierce女巫的冰冻掌控技能;注意,以pierce结尾代表降低敌人的抗性,以mastery结尾代表增加攻击的威力。所以可以作出类似passive_cold_mastery的扩展,使原先不能增加攻击威力的冰掌控变成可以对冰系攻击威力进行加成的技能。同样也可以作出类似passive_fire_pierce的扩展。
skel_mastery,男巫的骷髅掌控很有特色的技能,ID69,这个字段是空的;
golem_mastery,男巫的石魔掌控,和上一个相似,ID79;
passive_summon_resist,男巫的召唤反抗技能;
maxfireresist骑士的抗火;
maxcoldresist骑士的抗冰冻;
maxlightresist骑士的抗闪电;
item_tohit_percent骑士的祝福瞄准;
skill_passive_staminapercent小野的增加耐力;
skill_armor_percent小野的增加防御;
velocitypercent小野的增加速度;
fireresist、lightresist、coldresist、poisonresist小野的自然反抗;
passive_weaponblock刺客的爪格当;
以上的被动加成技能,我也称为掌控技能,和灵气技能不同,掌控技能占用区域是passivestate字段区。
在passivecalc1~3字段中则是对应前面的属性字段所给出的算法,对应后面的param1~8字段中参数产生运算结果。根据这个字段的常用参数算法ln12与dm12我们可以找到后面的相应参数,对加成效果进行更改。
至此,被动掌控字段区介绍完毕,下面我们来看灵气加成区。
2。灵气加成技能区
灵气加成区是比较复杂的区域,aurastate字段区紧靠投射字段区,在这个区域里面定义了角色状态、灵气加成方式等等属性,aurastat1~6更是拥有极大扩展性的区域,唯一可以与之抗衡的就是召唤技能区中召唤怪物的私人技能了。所以介绍起来比较复杂。
首先我们看aurastate、auratargetstate、auralencalc、auraangeclac四个字段
aurastate字段是指在使用灵气技能(包括一些魔法技能,例如亚马逊的内视)时,角色所拥有的状态;
auratargetstate字段是指使用灵气技能时,目标所拥有的状态;
auralencalc字段是灵气持续的时间,例如女巫的火焰之径;
auraangeclac字段则是灵气的作用范围。
我们首先要明白,灵气技能可以分为两大块,一种是可以作用于自身和友军的灵气;还有一种就是作用于敌人的灵气。
灵气包括很多技能,例如男巫的诅咒就是灵气的后一种形式,而小野的呐喊则属于前一种类型。如果将刺客的灵气技能改一改就可以让她成为和骑士一样的辅助角色。使光环的属性进行叠加。包括护盾技能,其实也是灵气型的一种,同样可以使护盾与灵气一样进行角色间的加成。
然后我们解释aurastat1~6字段区,这里定义了相应状态时的魔法属性;而紧跟在后面的aurastatcalc1~6中怎定义了对应的算法。
这一区域的技能有:(下列各行的字头名称以aurastate字段或auratargetstate字段内的字符串为标准)
ID8--innersight,亚马逊的内视,aurastat状态为装甲等级,属对敌人加成的灵气魔法,降低敌人防御等级值为-edmn;
ID17--slowmissiles,亚马逊的慢速箭,aurastat状态为减慢敌人的投射物速度,属对敌人加成的灵气魔法,降低速率1/3;
之后,亚马逊的诱饵和女武神在这个状态区也有定义,主要是抗性和力量、敏捷属性的加成;
ID41--Frozenarmor,女巫的冰封装甲,aurastat字段区的skill_armor_percent字符串代表防御加成等级,在后面的aurastatcalc字段区是加成算法。相类似的技能还有另外几个护盾技。如shiverarmor、chillingarmor等等;
ID52--Enchant,女巫的强化技能,aurastat字段区firemindam定义火焰攻击最小值属性,aurastatcalc字段区定义算法enma,然后是firemaxdam、exma、item_tohit_percent、toht,字符串解释在外传中有;
ID46--blaze,女巫的烈焰之径,仅定义了持续时间;
ID57--Thunderstorm雷云风暴、energyshield能量护盾,在这里只是定义了持续时间;
ID66--Amplifydamage,男巫增强伤害,属于对敌人的灵气攻击,即诅咒技能。aurastat字段区damageresist定义伤害抵抗,aurastatcalc字段区定义伤害算法,初始值-par5;
ID68--Bonearmor骨盾,aurastat字段区定义最大和最小伤害吸收;
ID71--Dimvision,仅定义了持续时间和灵气范围;
注:男巫的召唤类技能在灵气区也有定义,主要是召唤物的伤害等级、防御等级、生命值;
ID72--Weaken,男巫的诅咒技能,定义伤害加深damagepercent,针对敌人值为负,算法为-par5。就是说降低敌人的攻击伤害;
ID74--男巫的尸爆在这里定义了攻击范围,算法参数ln34;
ID75--男巫的粘土石魔在这里定义了减慢敌人的属性,字符串item_slow,算法dm34;
ID76(78、81、82、86)--ironmaiden,terror,confuse,lifetap,attract男巫的诅咒技,仅定义了范围和时间;
ID87--Decrepify,男巫的诅咒之衰老,降低以下几个属性:velocitypercent速率百分比;damagepercent伤害百分比;damageresist伤害抵抗百分比;attackrate攻击准确率百分比;默认的值通过par参数传递,为-50;
ID90--Thorns,男巫钢铁石魔的附带针刺灵气,thorns_percent定义了针刺反弹的比例,算法为ln12;
ID91--Lowerresist,男巫诅咒之降低抵抗,fireresist、lightresist、coldresist、poisonresist定义属性,-dm56为算法参数。默认值为降低抗性最小20,最大70;
在修改男巫的诅咒技能的时候请注意,和一般的投射魔法不同,大多数的怪物都是直接调用的男巫的诅咒技能,如果你修改的时候过火的话,那么游戏的难度会加大很多。我稍稍的将诅咒改强一些,相信你们玩的时候就会明白了。
下面我们将进入圣骑士的灵气区,同样,这个区的技能怪物也很常用,建议你也不要改的太过火。
ID98~100分别是力量、祈祷、抗火三种灵气,持续范围算法ln12;
ID102~105分别是圣火攻击、针刺、反抗、抗冻四种灵气,作用范围算法ln12;
在这里可以提到一个小窍门,利用aurastat字段区的扩展,我们可以把圣火攻击和抗火光环两个光环的魔法属性合而为一,这样以来,比如说我们将力量和反抗光环合并同样可以大大增加灵气的威力。最明显的就是元素抵抗,在元素抵抗的aurastat区域中就包括了抗火、抗冰冻和抗闪电三种灵气技能的aurastat区域中的魔法属性定义字段。
为了平衡怪物的威力,对于圣骑士的灵气加强我只调整了防御型的灵气。
ID108~110分别是祝福瞄准、净化、抗闪电三种灵气,持续范围算法ln12;
ID113~115分别是专注、圣冰冻、活力三种灵气,持续范围算法ln12;
ID118是圣光盾,持续时间ln12,没有范围定义;
ID118~120分别是圣电冲击、避难所、冥想三种灵气,持续范围算法ln12;
ID122~125分别是狂热、降低抵抗、复活、元素抵抗,持续范围算法ln12;
对于aurastate,auratargetstate,auralencalc,aurarangecalc四个字段区的了解可以轻松的让你熟悉关于灵气的持续时间、作用范围、作用对象这三个属性的定义。但是要熟悉灵气的作用属性,则需要了解aurastat1~6字段区内的魔法属性字符串定义,我们以圣骑士的灵气技能为例子来了解相应的魔法字符串。
Damagepercent增加伤害
Hitpoints补充生命值
Fireresist抗火
Maxfireresist抗火最大值
thorns_percent针刺反弹百分比
skill_armor_percent增加防御等级百分比
coldresist抗冻
maxcoldresist抗冻最大值
item_tohit_percent武器攻击准确率
item_poisonlengthresist毒素持续时间百分比
lightresist抗闪电
maxlightresist抗闪电最大值
skill_concentration攻击时被打断的几率
velocitypercent移动速率
attackrate攻击频率
staminarecoverybonus耐力回复速度
skill_staminapercent耐力增加百分比
toblock格挡几率
item_undeaddamage_percent对不死生物的伤害百分比
item_undead_tohit对不死生物的额外准确率百分比
manarecoverybonus魔法力回复速度
如果在相应的aurastatcalc字段区内的算法为负值,就是减少对应的魔法属性。
其他的参数就不一一列举了。
对于灵气技能的介绍到此为止了,经过一个月的时间,相信大家对技能文件的主要区域都有所了解,更深入的修改还要各位玩家自行去研究。暴雪的数据结构是相当清晰的,所以解读起来也很容易。还有一部分技能会同时用到召唤区和灵气区,也有的是投射魔法区和召唤区同时使用,当然灵气区和投射魔法区的组合也有比如女巫的火焰之径。组合的方式是相当多的,如果你玩透了skills文件,那么结合怪物文件和投射物文件,就可以打造出一套完全和过去不同的技能,从而制作一个新角色。
例如说,刺客的陷阱技能就是参照女巫的九头火龙开发出来的,利用召唤术和召唤物自身的私人投射技能来扩展。德路伊的灵,其实是参考男巫的火焰石魔而扩展的。所以说如果你可以掌握这几个关键区域,就可以定义一种新的技能出现。
但是在设计魔法的威力时,因为那几个区域都是定义的属性和算法,所以具体的参数设置还要牵涉到后面的几个参数区,详细的解释我会在外传上介绍的。
现在我们已经了解了投射魔法区、召唤技能区、聚气技能区、被动掌控技能区、参数算法区、灵气状态区。技能文件详细修改教程至此封笔,如果希望学习其他的参数资源请看外传。
资源+教程,技能修改详细解说(外传)
1。对于技能文件的扩展空间的讨论。
在上篇中我们着重讲解了对于投射物的投射方式以及召唤物数量的修改,这是最基础的,也是最简单的扩展。这种修改并没有对技能的攻击属性有本质的改变,更多的只是数量与形式上的变化。但是在中篇的介绍中我们就了解到了如何对现有的技能作出更深入、更为灵活的扩展。
A。首先是可以利用默认的投射物字段与特殊形式投射物字段相互间的可兼容型来对投射魔法进行扩展。通过这种技术,我们可以使不同的投射魔法组合在一起,产生双重的魔法攻击效果,由于扩展使用的投射物字段的攻击威力在missiles文件中有定义,所以扩展出的攻击魔法能出现所希望的结果。
B。然后是利用刺客的聚气型攻击技巧对近身攻击技能进行魔法辅助的扩展。通过聚气型的扩展可以将原本单一的一个近身攻击技能扩展为三种魔法投射技能,配合终结技能组成二段攻击的概念。这是对近身攻击的最有力的一种扩展方式。
C。最后就是利用所召唤出的怪物其自身所拥有的攻击技能进行扩展。其中的典型例子就是火焰石魔的圣火光环和刺客的亡灵守卫陷阱的尸爆+闪电双重攻击。通过扩展召唤物自身的攻击技能,我们可以做到技能的二次嵌套。并且可以使你的召唤物拥有超过一种以上的攻击方式,这是扩展技能种类最为灵活的方法,例如将你原本使用的骨矛改为陷阱技能,让骨矛陷阱拥有投射骨矛和冻结对方的圣冰光环;又或者让你的火焰陷阱不但可以投射火焰,而且可以诅咒对方。这样一来就可以极大的扩展魔法类的技能。
D。除此之外,对于被动掌控技能和灵气加成技能来讲还可以通过扩展其魔法属性增加加成效果,将两个不同的灵气定义在同一个技能中,也可以极大的减少技能点的消耗。
如果我们通过合理的分类组合将一些相辅相成的魔法技能组合在一起,然后大大缩减所占有的现有技能,那么就可以省下一些技能图像与链接文件作为一些其它技能扩展可以使用空间,进行更深入的扩展。
所以我们需要对每个角色的30种技能间的组合效果进行仔细的比较,找出一种最合适的组合方式来进行技能的缩减。我想,技能越少,游戏应该越容易上手,最好每个角色现有的技能都可以缩减为15个,这样你在升级的时候,技能点的分配就会容易很多。
2。关于skills文件中主要的算法字段说明
par1~5=param1~5
cpa1~5=cltparam1~5
hpa1~3=hitparam1~3
chp1~3=clthitpar1~3
dpa1~2=dmgparam1~2
上面的字段大多为说明型参数,用来为算法提供参考数据。
lvl=skill level
ulvl=unit level
blvl=base skill level
以上字段是和等级相关的算法方式
edmn=elemental damage min
edmx=elemental damage max
edln=elemental damage len
edns=&elemental damage min, 256ths&
edxs=&elemental damage max, 256ths&
damn=damage min
damx=damage max
dmns=&damage min, 256ths&
dmxs=&damage max, 256ths&
以上字段是元素伤害和物理伤害的说明字段
rang=range 攻击范围
toht=to hit 攻击频率
ln12=par1+lvl*par2 关键性的算法,后面的par1字段为基本数量,par2字段为每等级增加数量。
dm12=((110*lvl) * (par2-par1))/(100 * (lvl+6)) + par1 关键性的算法,后面的par1字段为最小数量,par2字段为最大数量。
算法说明字段ln34、ln56和dm34、dm56类似
len=auralen field灵气的持续时间
rng=aurarange field 灵气的作用范围
clc1~4=calc1 field~calc4 field
ast1~6=aurastat field 定义灵气的各种属性
pst1~5=passivestat field 定义灵气作用后的各种状态和上个字段区相关
pets=petmax field
skpt=skill points field
3。关于参数区的一些说明。
在2/3处,有几列字段,分别是minmana、manashift、mana、lvlmana。
这四个字段定义了技能消耗的魔法值,minmana定义了技能的最小消耗,mana定义了技能的最初消耗,lvlmana则定义了每次升级后,技能所需要增加的魔法值,如果这一个字段为0,则魔法消耗和技能等级无关,如果为负值,则魔法消耗随技能等级的提高而减少,最明显的例子是女巫的瞬移。
在最右侧,有定义物理伤害运算参数的Dam字段区,包括srcdam ,mindam ,minlevdam1~5 ,maxdam ,maxlevdam1~5和用来定义技能间物理伤害加成的dmgsympercalc字段。
定义魔法伤害的字段区有:eytpe(伤害类型,分冰冻、火焰、闪电、毒素、魔法五种伤害)技能就是依靠这个字段来确认其属性,来实现物品对火焰类或毒素类的加成。Emin、eminlev1~5、emax、eamxlev1~5定义每次升级时增加的魔法攻击属性。
Edmgsympercalc定义了魔法攻击相互加成的算法。
持续时间区:在elen、elevlen1~3字段区定义了冰冻冻结时间和毒素持续时间的长短。而elensympercalc中定义了相互间的加成算法。
加成算法一般由以下格式构成:
例:(skill('Fire Ball'.blvl)+skill('Meteor'.blvl))*par8
首先定义可以产生加成的技能,由skill(‘skillnames’.blvl)来定义加成技能。然后通过par1~8中定义的synergy字段来产生加成比例参数,算法公式支持普通的运算符。加成算法可以在任何参数算法字段中出现,并不局限于上面三个加成算法专用字段。
到此为止,对于skills.txt文件的解释教程全部结束,能够读懂的玩家可以自行打造自己喜欢的技能。虽然说如此解读暴雪的数据文件有侵犯嫌疑,但是通过原始的数据文件可以更清楚的分析在游戏中无法体现出来的技能属性。我们对于文件数据的分析是为了更深入的扩展现有的游戏模式,同时为了制作中国自己的游戏增加经验。
我的信箱是,计算机本科学历,现在正在找工作,希望能够做中国自己的游戏。哪位玩游戏的同志有机会的告诉我一声。
CopyRight (c)
游戏小站(Game
Park)版权所有
如转载,请注明出处。