S9092.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System.Collections.Generic;
  2. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  3. using GameLogic.Combat.Buff;
  4. using GameLogic.Combat.CombatTool;
  5. using GameLogic.Combat.Hero;
  6. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  7. namespace GameLogic.Combat.Skill
  8. {
  9. /// <summary>
  10. /// 随机为一名队友恢复{0}%生命值
  11. /// </summary>
  12. public class S9092 : SkillBasic
  13. {
  14. protected override void ProUseSkill()
  15. {
  16. CombatHeroEntity[] allHero =
  17. CombatController.currActiveCombat.CombatHeroController.GetHero(CombatHeroEntity.IsEnemy);
  18. CombatHeroEntity target = null;
  19. float minHp = 9999;
  20. for (int i = 0; i < allHero.Length; i++)
  21. {
  22. CombatHeroEntity t = allHero[i];
  23. if (t.HpBl < minHp)
  24. {
  25. minHp = t.HpBl;
  26. target = t;
  27. }
  28. }
  29. BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
  30. if (target != null)
  31. {
  32. currTarget.Add(target.GetMainHotPoin<CombatHeroHitPoint>());
  33. }
  34. ActivationTimeLineData("9092", currTarget: currTarget);
  35. }
  36. protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
  37. ITimelineFxLogic timelineFxLogic,
  38. TriggerData triggerData, ISkillFeatures skillFeatures)
  39. {
  40. List<BuffBasic> allBuff = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForBuffType(2, 1);
  41. if (allBuff.Count > 0)
  42. {
  43. int index = CombatCalculateTool.Instance.GetOdd(0, allBuff.Count);
  44. targetEntity.combatHeroEntity.BuffControl.RemoveBuff(allBuff[index]);
  45. }
  46. }
  47. }
  48. }