| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | using Common.Utility.CombatEvent;using Fort23.Core;using GameLogic.Combat.CombatTool;using GameLogic.Combat.Hero;namespace GameLogic.Combat.Skill{    /// <summary>    /// 碧霄回春术  功法在经过木系区域时会触发生机,为角色治疗{0}生命值    /// </summary>    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.CurrCombatHeroInfo.attack.Value;                    float addBl = effectValue[0];                    if (effectValue.Length > 1)                    {                        if (CombatHeroEntity.HpBl < effectValue[1])                        {                            addBl += effectValue[2];                        }                    }                    long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(maxHp, addBl);                    Recover(CombatHeroEntity, CombatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(true), v,                        AttType.Skill);                }            }        }    }}
 |