S2016.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.Buff;
  4. namespace GameLogic.Combat.Skill
  5. {
  6. /// <summary>
  7. /// 阴水
  8. /// 前方功法会让目标扎染上阴水。如果目标身上有寒气则会将阴水转换为冰冻值,冰冻值达到{0}层后会冰冻敌人
  9. /// </summary>
  10. public class S2016 : SkillBasic
  11. {
  12. protected override void ProActiveSkill()
  13. {
  14. CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
  15. }
  16. protected override void ProUseSkill()
  17. {
  18. }
  19. protected override void ProDispose()
  20. {
  21. CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
  22. }
  23. private void HeroInjured(IEventData iEventData)
  24. {
  25. HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
  26. if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity &&
  27. heroInjuredEventData.HarmReturnInfo.isHitHero)
  28. {
  29. SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
  30. if (skillBasic != null && IsPassiveActivateSkill(skillBasic))
  31. {
  32. CombatHeroEntity target =
  33. heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
  34. b_1001 b1001 = target.BuffControl.GetBuffBasicForType<b_1001>();
  35. if (b1001 != null)
  36. {
  37. BuffInfo buffInfo = BuffInfo.GetBuffInfo(10281, 1);
  38. target.BuffControl.AddBuff(CombatHeroEntity,
  39. buffInfo);
  40. }
  41. else
  42. {
  43. BuffInfo buffInfo = BuffInfo.GetBuffInfo(10271, 1);
  44. target.BuffControl.AddBuff(CombatHeroEntity,
  45. buffInfo);
  46. }
  47. }
  48. }
  49. }
  50. }
  51. }