using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using GameLogic.Combat.Hero; namespace GameLogic.Combat.Skill { /// /// 天衍星辰诀 引星辰之力入体,增强玩家体魄,让后方槽位的功法无视护盾 /// public class S2001 : SkillBasic { protected override void ProUseSkill() { } protected override void ProReplace() { CombatEventManager.Instance.RemoveEventListener(CombatEventType.StartInjured, StartInjured); } protected override void ProActiveSkill() { CombatEventManager.Instance.AddEventListener(CombatEventType.StartInjured, StartInjured); } private void StartInjured(IEventData iEventData) { StartInjuredEventData heroInjuredEventData = iEventData as StartInjuredEventData; HarmReturnInfo harmReturnInfo = heroInjuredEventData.HarmReturnInfo; if (harmReturnInfo.source == CombatHeroEntity) { SkillBasic skillBasic = harmReturnInfo.triggerData.Source as SkillBasic; IBarrier barrier = harmReturnInfo.triggerData.IBarrier as IBarrier; if (barrier == null) { return; } if (skillBasic != null) { int index = skillBasic.index; if (index + 1 == this.index) { harmReturnInfo.isInvalid = true; barrier.BarrierTriggerData.isPenetrate = true; } } } } } }