using Common.Utility.CombatEvent; using Fort23.Core; namespace GameLogic.Combat.Skill { /// /// 乾坤巨灵诀 后方槽位第一个技能体型巨大化,且在对碰中受到伤害减少20% /// 受影响的功法被碰撞摧毁时不在消失,并且恢复30%以损失的强度 /// public class S2006 : SkillBasic { protected override void ProUseSkill() { } protected override void ProReplace() { CombatEventManager.Instance.RemoveEventListener(CombatEventType.TimelineFxLogicInit, TimelineFxLogicInit); CombatEventManager.Instance.RemoveEventListener(CombatEventType.GongFaPengZhuangFinish, GongFaPengZhuangFinish); } protected override void ProActiveSkill() { CombatEventManager.Instance.AddEventListener(CombatEventType.TimelineFxLogicInit, TimelineFxLogicInit); CombatEventManager.Instance.AddEventListener(CombatEventType.GongFaPengZhuangFinish, GongFaPengZhuangFinish); } private void GongFaPengZhuangFinish(IEventData iEventData) { GongFaPengZhuangFinishEventData gongFaPengZhuangFinishEventData = iEventData as GongFaPengZhuangFinishEventData; if (gongFaPengZhuangFinishEventData.a.SkillBasic.CombatHeroEntity == CombatHeroEntity && gongFaPengZhuangFinishEventData.a.hp <= 0 && gongFaPengZhuangFinishEventData.a.SkillBasic.index + 1 == index) { gongFaPengZhuangFinishEventData.a.hp = (long)(gongFaPengZhuangFinishEventData.a.maxHp * 0.3f); } if (gongFaPengZhuangFinishEventData.b.SkillBasic.CombatHeroEntity == CombatHeroEntity && gongFaPengZhuangFinishEventData.b.hp <= 0 && gongFaPengZhuangFinishEventData.b.SkillBasic.index + 1 == index) { gongFaPengZhuangFinishEventData.b.hp = (long)(gongFaPengZhuangFinishEventData.b.maxHp * 0.3f); } } private void TimelineFxLogicInit(IEventData iEventData) { TimelineFxLogicInitEventData timelineFxLogicInitEventData = iEventData as TimelineFxLogicInitEventData; if (timelineFxLogicInitEventData.SkillBasic.CombatHeroEntity == CombatHeroEntity && timelineFxLogicInitEventData.SkillBasic.index + 1 == index) { timelineFxLogicInitEventData.timelineFxLogic.size *= 2; // timelineFxLogicInitEventData.timelineFxLogic.SkillFeaturesData. } } } }