using Common.Utility.CombatEvent;
using Fort23.Core;
using GameLogic.Combat.CombatTool;
using GameLogic.Combat.Hero;
namespace GameLogic.Combat.Skill
{
    /// 
    /// 星辰道启动期间释放的功法带有星辰之力,对敌人额外照成30%当前伤害
    /// 
    public class S60104 : SkillBasic
    {
        private DS60101 ds60101;
        protected override void ProActiveSkill()
        {
            ds60101 = CombatHeroEntity.CombatHeroSkillControl.GetSkillBasic();
            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
        }
        private void HeroInjured(IEventData iEventData)
        {
            if (ds60101 == null || !ds60101.isSkillActive)
            {
                return;
            }
            // SkillFeaturesData mySkillFeaturesData = null;
            HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
            if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity &&
                heroInjuredEventData.HarmReturnInfo.isHitHero)
            {
                long att = heroInjuredEventData.HarmReturnInfo.att;
                long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(att, effectValue[0]);
                CombatCalculateTool.Instance.Harm(CombatHeroEntity, heroInjuredEventData.HarmReturnInfo.target, v,
                    AttType.Skill | AttType.JianJie, triggerData, heroInjuredEventData.HarmReturnInfo.WuXingType, null);
                // CombatCalculateTool.Instance.Recover(CombatHeroEntity,
                //     CombatHeroEntity.GetMainHotPoin(), v, AttType.Skill, HarmType.Default,
                //     triggerData);
            }
        }
        protected override void ProDispose()
        {
            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
        }
        protected override void ProUseSkill()
        {
        }
    }
}