技能系统-被动技能

被动技能(PassiveSkillEntity)& 光环技能(HaloSkillEntity)

被动技能有两种,一种是被动触发的技能,一种是光环技能在范围内才会生效的技能,所有被动技能继承自光环技能。

被动技算是一种特殊的光环技,没有范围的光环技。被动技能一般用来增加属性,增加buff之类的,也可以用作标记,只有在被动技触发时会释放效果列表。

光环技能有一个固定的范围(也不一定,可能会有技能效果会改变光环大小的效果ヾ(✿゚▽゚)ノ),进入光环时触发的效果,离开光环时的触发效果。

被动技能触发器(事件系统)

被动技能选择触发条件,在Tick中检测触发器,满足时触发此被动技释放当被动技能触发的技能效果列表。

触发条件注册对应的事件(PassiveSkillEventType)在对应的系统上发送事件来触发被动技,如:当释放技能时触发被动,参数有技能id或者技能类型, 在CastSkill()释放技能时Push该事件,被动技能实时监测收到的事件满足条件触发对应的技能效果。

触发条件有生效次数、冷却时间来限制事件的触发。

img

img

触发事件后释放被动技释放时的效果列表,如果没有添加事件对应加上该被动技就会触发该效果列表。

光环技能

光环技能与被动技不用在于光环技能会检测在光环范围内的目标,进入光环的时候释放效果,离开光环的时候释放效果,被动技能主要用在触发时释放效果。

img

img

如:光环目标类型是自己和伙伴,检测范围内的所有目标,筛选出符合目标的角色,放到一个列表内,进入光时添加一个无限时长buff,对应的离开光环时把这个buff驱散。

未完待续…

[转载自][https://www.acgloby.com/技能系统程序设计思路-被动技能/]