using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using GameLogic.Combat.Hero; namespace GameLogic.Combat.Skill { /// /// 启动期间每使用一个功法生命恢复2% /// public class S60103 : SkillBasic { private DS60101 ds60101; protected override void ProActiveSkill() { ds60101 = CombatHeroEntity.CombatHeroSkillControl.GetSkillBasic(); CombatEventManager.Instance.AddEventListener(CombatEventType.UseSkill, UseSkill); } private void UseSkill(IEventData iEventData) { if (ds60101 == null || !ds60101.isSkillActive) { return; } // SkillFeaturesData mySkillFeaturesData = null; CombatUseSkillEventData combatUseSkillEventData = iEventData as CombatUseSkillEventData; if (combatUseSkillEventData.useSkill.CombatHeroEntity == CombatHeroEntity) { long hp = CombatHeroEntity.MaxCombatHeroInfo.hp.Value; long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(hp, effectValue[0]); CombatCalculateTool.Instance.Recover(CombatHeroEntity, CombatHeroEntity.GetMainHotPoin(), v, AttType.Skill, HarmType.Default, triggerData); } } protected override void ProDispose() { CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill); } protected override void ProUseSkill() { } } }