星际2技能系统分析(三)Ability(Effect)
技能施放的阶段
技能被分为了7个阶段
Approach:接近
Wait:等待
Prep:准备
Cast:施放
Channel:引导
Finish:结束
Bail:保释
AbilEffect
效果技能基类
属性
好吧。。太多了
Arc:施法范围,若目标不在范围内,单位会自动调整至目标进入施法范围
Cost:技能消耗
AutoCast:自动释放技能的属性
Effect:技能应用的效果,默认值为##id##,既Id相同的CEffect
EffctRange : 效果范围
然后就是一堆技能各个阶段的配置:比如哪个阶段可以被强行中断,哪个阶段可以返回Cost, 哪个阶段取消特效等
XML定义
<CAbilEffect default="1">
<!--目标离开施法者距离1米远后,施法取消-->
<RangeSlop value="1"/>
<!--目标离开施法弧形11.25角度后,施法取消-->
<ArcSlop value="11.25"/>
<!--自动施法,主动攻击-->
<AutoCastAcquireLevel value="Offensive"/>
<!--自动施法对象, 可见的;玩家;同盟-->
<AutoCastFilters value="Visible;Player,Ally"/>
<!--联盟变换后中止-->
<Flags index="AbortOnAllianceChange" value="1"/>
<!--最小引导-->
<Flags index="ChannelingMinimum" value="1"/>
<!--使用施法者半径范围-->
<Flags index="RangeUseCasterRadius" value="1"/>
<!--再次接近-->
<Flags index="ReApproachable" value="1"/>
<!--目标在视野范围内-->
<Flags index="RequireTargetVision" value="1"/>
&