| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | using Common.Utility.CombatEvent;using Fort23.Core;using GameLogic.Combat.CombatTool;using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;namespace GameLogic.Combat.Buff{    /// <summary>    /// 冰魄牢域    /// 乌龟的技能,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,    ///寒气每叠到{0}层时,消耗所有层寒气对敌人照成{0}秒的冰冻效果    /// </summary>    public class b_1016 : BuffBasic    {        protected override void ProInit()        {            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);        }        private void HeroInjured(IEventData ieveEventData)        {            HeroInjuredEventData heroInjuredEventData = ieveEventData as HeroInjuredEventData;            if (heroInjuredEventData.HarmReturnInfo.source == combatHeroEntity)            {                if (heroInjuredEventData.HarmReturnInfo.attType.HasFlag(AttType.Skill) &&                    !heroInjuredEventData.HarmReturnInfo.attType.HasFlag(AttType.FanJi))                {                    BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);                    BuffBasic buffBasic =                        heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.AddBuff(                            combatHeroEntity, buffInfo);                    if (buffBasic.buffCount >= buffInfo.BuffConfig.effectValue[0])                    {                        heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.RemoveBuff(buffBasic);                        BuffInfo buffInfo2 = BuffInfo.GetBuffInfo(10021, buffInfo.BuffConfig.effectValue[1], 1);                        heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.AddBuff(                            combatHeroEntity, buffInfo2);                    }                }            }        }        protected override void ProDormancyObj()        {            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);        }    }}
 |