1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.Buff;
- using GameLogic.Combat.CombatTool;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 异常转移
- ///对目标造成的异常状态有20%概率转移到下一个目标,不会来回转移
- /// </summary>
- public class S2015 : SkillBasic
- {
- protected override void ProActiveSkill()
- {
- CombatEventManager.Instance.AddEventListener(CombatEventType.AddBuff, AddBuff);
- }
- protected override void ProUseSkill()
- {
- }
- protected override void ProDispose()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddBuff, AddBuff);
- }
- private void AddBuff(IEventData iEventData)
- {
- BuffEventData buffEventData = iEventData as BuffEventData;
- if (buffEventData.source == CombatHeroEntity &&
- !buffEventData.addActionsType.HasFlag(AddActionsType.JianJie))
- {
- CombatHeroEntity[] allHero =
- CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);
- if (allHero != null)
- {
- for (int i = 0; i < allHero.Length; i++)
- {
- if (allHero[i] != buffEventData.target)
- {
- BuffInfo buffInfo = BuffInfo.GetBuffInfo(buffEventData.id, buffEventData.addCount);
- allHero[i].BuffControl.AddBuff(CombatHeroEntity, buffInfo, AddActionsType.JianJie);
- }
- }
- }
- }
- }
- }
- }
|