帝国3添加被动眩晕技能



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

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

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










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