添加被动眩晕技能

印度和尚在攻击敌人后,会造成短暂的眩晕效果,这个教程教你怎样添加这个眩晕到其他单位上。

由于这个技能是写死在主程序里面的,以我们暂时的技术只能调用,不能复制粘贴一个新技能,所以你只能按照下面所说的去做,

在abilities.xml中你想要添加技能的单位添加下列语句:

<ability> ypPowerSweep <rof>5</rof> <nevershowingrid>true</nevershowingrid> <alwaysdisabledingrid>false</alwaysdisabledingrid> </ability>

<rof>5</rof>设定眩晕技能的冷却时间,就算是在protoy.xml设定100%触发几率,<rof>5</rof>设定5在5秒内也只会触发一次。

在你想要添加技能的单位的tactics添加下列语句(这个action无需在tactics调用):
<action> <name stringid="38134">SweepDamage</name> <type>Attack</type> <maxrange>1.75</maxrange> <rate type="Guardian">1.0 </rate> <attackaction>1</attackaction> <handlogic>1</handlogic> <anim>Attack_melee</anim> <idleanim>Idle</idleanim> <impacteffect>effects\impacts\melee_no_weapon</impacteffect> <basedamagecap>1</basedamagecap> </action>



protoy.xml的ProtoAction语句里面添加:
<HitPercent>100.000000</HitPercent> <HitPercentType>Sweep</HitPercentType>


HitPercent是触发技能的几率,100就是100%。

protoy那两个语句只能改近战攻击的ProtoAction添加,你给远程攻击添加了也没用,虽然能触发眩晕,但是没有任何效果。








有没有办法修改在远程攻击上?目前没有。


那么能修改眩晕时长吗?只有0.8秒太短了。

去powers.xml把ypPowerSweep的activetime修改了就可以了。
	<power name="ypPowerSweep" type="Stun">
		<displaynameid>63679</displaynameid>
		<rolloverid>63680</rolloverid>
		<icon>art\ui\command\mode_bombard</icon>
		<minimapeventtime sendalertto="none">1</minimapeventtime>
		<activetime>.75</activetime>	.75=0.75秒≈0.8秒
		<radius>4.0</radius>
		<placement forceonmap="1" enemy="" allowgaia="">unit</placement>
		<stundamage>SweepDamage</stundamage>
		<abstractattacktargettype>Military</abstractattacktargettype>
		<abstractattacktargettype>Guardian</abstractattacktargettype>
		<allowduringnorush>1</allowduringnorush>
		<startsoundset>PowerStomp</startsoundset>
	</power>










至于那个用来摆设的被动技能,你想加就自己加上去,不加上去也没有任何影响。