S2011.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.Buff;
  4. using GameLogic.Combat.CombatTool;
  5. using GameLogic.Combat.Hero;
  6. namespace GameLogic.Combat.Skill
  7. {
  8. /// <summary>
  9. /// 血祭神通
  10. /// 所有流血状态照成的伤害会转换成充能值,2圈后对全体敌人造成{0}%充能值的伤害
  11. /// </summary>
  12. public class S2011 : SkillBasic
  13. {
  14. private long addHarm;
  15. protected override void ProUseSkill()
  16. {
  17. }
  18. protected override void ProActiveSkill()
  19. {
  20. CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
  21. CombatEventManager.Instance.AddEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
  22. }
  23. protected override void ProDispose()
  24. {
  25. CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
  26. CombatEventManager.Instance.RemoveEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
  27. }
  28. private void TriggerSkillSlots(IEventData ieventData)
  29. {
  30. }
  31. private void HeroInjured(IEventData ieventData)
  32. {
  33. HeroInjuredEventData heroInjuredEventData = ieventData as HeroInjuredEventData;
  34. b_1011 b1011= heroInjuredEventData.HarmReturnInfo.triggerData.Source as b_1011;
  35. if (b1011 == null||b1011.Source!=CombatHeroEntity)
  36. {
  37. return;
  38. }
  39. long harm = heroInjuredEventData.HarmReturnInfo.att;
  40. addHarm+=harm;
  41. }
  42. }
  43. }