using Common.Utility.CombatEvent; using Fort23.Core; using GameLogic.Combat.CombatTool; using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical; namespace GameLogic.Combat.Buff { /// /// 冰魄牢域 /// 乌龟的技能,神龟的所有主动伤害型技能命中目标后都会施加一层寒气, ///寒气每叠到{0}层时,消耗所有层寒气对敌人照成{0}秒的冰冻效果 /// 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); } } }