| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | using Common.Utility.CombatEvent;using Fort23.Core;namespace GameLogic.Combat.Skill{    /// <summary>    /// 乾坤巨灵诀 后方槽位第一个技能体型巨大化,且在对碰中受到伤害减少20%    /// 受影响的功法被碰撞摧毁时不在消失,并且恢复30%以损失的强度    /// </summary>    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)            {                if (IsPassiveActivateSkill(timelineFxLogicInitEventData.SkillBasic))                {                    timelineFxLogicInitEventData.timelineFxLogic.size *= 2;                }                // timelineFxLogicInitEventData.timelineFxLogic.SkillFeaturesData.            }        }    }}
 |