S9043.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  2. using GameLogic.Combat.Buff;
  3. using GameLogic.Combat.CombatTool;
  4. using GameLogic.Combat.Hero;
  5. using UnityEngine;
  6. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  7. namespace GameLogic.Combat.Skill
  8. {
  9. /// <summary>
  10. /// 幽爪灭魂指
  11. ///老鼠挥动鼠爪,将尖锐的指尖射出。指甲上带有老鼠的病菌。生成{0}枚指甲,对敌人造成{1}伤害,并对敌人施加已成鼠疫
  12. /// </summary>
  13. public class S9043 : SkillBasic
  14. {
  15. protected override void ProActiveSkill()
  16. {
  17. AddTriggerCallBack("9043_hit", ProDefaultTimeLineTrigger_hit);
  18. }
  19. protected override void ProUseSkill()
  20. {
  21. ActivationTimeLineData("9043");
  22. ballisticsCount = (int)effectValue[0];
  23. }
  24. protected void ProDefaultTimeLineTrigger_hit(string groupName, CombatHeroHitPoint targetEntity,
  25. ITimelineFxLogic timelineFxLogic,
  26. TriggerData triggerData, ISkillFeatures skillFeatures)
  27. {
  28. float harmBl = effectValue[1];
  29. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  30. harmBl);
  31. HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
  32. AttType.Skill, triggerData,
  33. wuXingType, skillFeatures,
  34. HarmType.Default);
  35. if (harmReturnInfo.isHitHero)
  36. {
  37. BuffInfo buffInfo = BuffInfo.GetBuffInfo(10171, 1);
  38. targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
  39. }
  40. }
  41. protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
  42. ITimelineFxLogic timelineFxLogic,
  43. TriggerData triggerData, ISkillFeatures skillFeatures)
  44. {
  45. CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
  46. .GetThis<CombatHeroEntity>()
  47. .GetMainHotPoin<CombatHeroHitPoint>();
  48. BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
  49. currTarget.Add(combatHeroHitPoint);
  50. for (int i = 0; i < effectValue[0]; i++)
  51. {
  52. SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
  53. ActivationTimeLineData("9043_hit", currTarget: currTarget,
  54. customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
  55. }
  56. }
  57. }
  58. }