| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | using Common.Utility.CombatEvent;using Fort23.Core;using GameLogic.Combat.Buff;using GameLogic.Combat.CombatTool;namespace GameLogic.Combat.Skill{    /// <summary>    /// 异常转移    ///后方功法对目标造成的异常状态有{0}%概率转移到下一个目标,不会来回转移    /// </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))            {                SkillBasic skillBasic = buffEventData.BuffInfo.source as SkillBasic;                if (skillBasic != null && IsPassiveActivateSkill(skillBasic))                {                    CombatHeroEntity[] allHero =                        CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy,out int maxCount);                    if (allHero != null)                    {                        for (int i = 0; i < maxCount; i++)                        {                            if (allHero[i] != buffEventData.target)                            {                                BuffInfo buffInfo =                                    BuffInfo.GetBuffInfo(buffEventData.id, buffEventData.addCount, this);                                allHero[i].BuffControl.AddBuff(CombatHeroEntity, buffInfo, AddActionsType.JianJie);                            }                        }                    }                }            }        }    }}
 |