using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.Buff; using GameLogic.Combat.CombatTool; namespace GameLogic.Combat.Skill { /// /// 异常转移 ///对目标造成的异常状态有20%概率转移到下一个目标,不会来回转移 /// 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); } } } } } } }