using Common.Utility.CombatEvent;
using Fort23.Core;
using GameLogic.Combat.Buff;
namespace GameLogic.Combat.Skill
{
    /// 
    /// 阴水
    /// 前方功法会让目标扎染上阴水。如果目标身上有寒气则会将阴水转换为冰冻值,冰冻值达到{0}层后会冰冻敌人
    /// 
    public class S2016 : SkillBasic
    {
        protected override void ProActiveSkill()
        {
            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
        }
        protected override void ProUseSkill()
        {
        }
        protected override void ProDispose()
        {
            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
        }
        private void HeroInjured(IEventData iEventData)
        {
            HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
            if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity &&
                heroInjuredEventData.HarmReturnInfo.isHitHero)
            {
                SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
                if (skillBasic != null && IsPassiveActivateSkill(skillBasic))
                {
                    CombatHeroEntity target =
                        heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
                    b_1001 b1001 = target.BuffControl.GetBuffBasicForType();
                    if (b1001 != null)
                    {
                        BuffInfo buffInfo = BuffInfo.GetBuffInfo(10281, 1,this);
                        target.BuffControl.AddBuff(CombatHeroEntity,
                            buffInfo);
                    }
                    else
                    {
                        BuffInfo buffInfo = BuffInfo.GetBuffInfo(10271, 1,this);
                        target.BuffControl.AddBuff(CombatHeroEntity,
                            buffInfo);
                    }
                   
                }
            }
        }
    }
}