using Common.Utility.CombatEvent;
using Fort23.Core;
using GameLogic.Combat.CombatTool;
using GameLogic.Combat.Hero;
namespace GameLogic.Combat.Skill
{
    /// 
    /// 碧霄回春术  功法在经过木系区域时会触发生机,为角色治疗{0}生命值
    /// 
    public class S2010 : SkillBasic
    {
        protected override void ProUseSkill()
        {
        }
        protected override void ProActiveSkill()
        {
            CombatEventManager.Instance.AddEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
        }
        protected override void ProDispose()
        {
            CombatEventManager.Instance.RemoveEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
        }
        private void TriggerSkillSlots(IEventData ieventData)
        {
            TriggerSkillSlotsEventData triggerSkillSlotsEventData = ieventData as TriggerSkillSlotsEventData;
            if (triggerSkillSlotsEventData.SkillBasic == this)
            {
                if (triggerSkillSlotsEventData.triggerType == 2) //触发到木的位置
                {
                    long maxHp = CombatHeroEntity.MaxCombatHeroInfo.hp.Value;
                    long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(maxHp, effectValue[0]);
                    Recover(CombatHeroEntity, CombatHeroEntity.GetMainHotPoin(true), v,
                        AttType.Skill);
                }
            }
        }
    }
}