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() { } } }