S9024.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  2. using Common.Utility.CombatEvent;
  3. using Fort23.Core;
  4. using GameLogic.Combat.CombatTool;
  5. using GameLogic.Combat.Hero;
  6. using UnityEngine;
  7. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  8. namespace GameLogic.Combat.Skill
  9. {
  10. /// <summary>
  11. /// 冰魄牢域(生命值低于50%释放,一局释放一次)
  12. /// 神龟仰天长吼,跺脚几下,整个战场出现寒气特效,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,
  13. /// 寒气每叠到{0}层时,消耗所有层寒气对敌人照成{0}秒的冰冻效果
  14. /// </summary>
  15. public class S9024 : SkillBasic
  16. {
  17. private bool isUse;
  18. protected override void ProActiveSkill()
  19. {
  20. isUse = false;
  21. CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
  22. }
  23. protected override void ProDispose()
  24. {
  25. CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
  26. // base.ProDispose();
  27. }
  28. private void HeroInjured(IEventData data)
  29. {
  30. if (isUse)
  31. {
  32. return;
  33. }
  34. HeroInjuredEventData heroInjuredEventData = data as HeroInjuredEventData;
  35. if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
  36. {
  37. float bl = CombatHeroEntity.CurrCombatHeroInfo.hp.Value * 1.0f /
  38. CombatHeroEntity.MaxCombatHeroInfo.hp.Value;
  39. if (bl * 100 < effectValue[0])
  40. {
  41. isUse = true;
  42. //触发技能
  43. }
  44. }
  45. }
  46. protected override void ProUseSkill()
  47. {
  48. }
  49. protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
  50. ITimelineFxLogic timelineFxLogic,
  51. TriggerData triggerData, ISkillFeatures skillFeatures)
  52. {
  53. }
  54. }
  55. }