S2013.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using Common.Utility.CombatEvent;
  2. using Fort23.Core;
  3. using GameLogic.Combat.Buff;
  4. namespace GameLogic.Combat.Skill
  5. {
  6. /// <summary>
  7. /// 毒瘴领域
  8. ///前方功法击中目标时额外施加一层毒,对流血中的敌人再额外施加一层
  9. /// </summary>
  10. public class S2013 : SkillBasic
  11. {
  12. protected override void ProActiveSkill()
  13. {
  14. CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
  15. }
  16. protected override void ProDispose()
  17. {
  18. CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
  19. }
  20. private void HeroInjured(IEventData iEventData)
  21. {
  22. HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
  23. if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity &&
  24. heroInjuredEventData.HarmReturnInfo.isHitHero)
  25. {
  26. SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
  27. if (skillBasic != null && IsPassiveActivateSkill(skillBasic))
  28. {
  29. CombatHeroEntity target =
  30. heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
  31. b_1011 b1011 = target.BuffControl.GetBuffBasicForType<b_1011>();
  32. int buffCount = 1;
  33. if (b1011 != null)
  34. {
  35. buffCount += 1;
  36. }
  37. BuffInfo buffInfo = BuffInfo.GetBuffInfo(10031, buffCount);
  38. target.BuffControl.AddBuff(CombatHeroEntity,
  39. buffInfo);
  40. }
  41. }
  42. }
  43. protected override void ProUseSkill()
  44. {
  45. }
  46. }
  47. }