添加被动眩晕技能

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

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

在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>










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