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);
- }
- }
- }
|