S9021.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  2. using Fort23.Core;
  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 S9021 : SkillBasic
  14. {
  15. protected override void ProInitSkill()
  16. {
  17. AddTriggerCallBack("9021_zd", ProDefaultTimeLineTrigger_9021_zd);
  18. }
  19. protected override void ProUseSkill()
  20. {
  21. ActivationTimeLineData("9021");
  22. ballisticsCount = (int)effectValue[0];
  23. for (int i = 0; i < effectValue[0]; i++)
  24. {
  25. CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
  26. .GetThis<CombatHeroEntity>()
  27. .GetMainHotPoin<CombatHeroHitPoint>();
  28. BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
  29. currTarget.Add(combatHeroHitPoint);
  30. SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
  31. ActivationTimeLineData("9021_zd", currTarget: currTarget,
  32. customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
  33. }
  34. }
  35. private void ProDefaultTimeLineTrigger_9021_zd(string groupName, CombatHeroHitPoint targetEntity,
  36. ITimelineFxLogic timelineFxLogic,
  37. TriggerData triggerData, ISkillFeatures skillFeatures)
  38. {
  39. HarmReturnInfo harmReturnInfo = CObjectPool.Instance.Fetch<HarmReturnInfo>();
  40. harmReturnInfo.ArmorPiercing = effectValue[2];
  41. float harmBl = effectValue[1];
  42. long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
  43. harmBl);
  44. harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
  45. AttType.Skill, triggerData,
  46. wuXingType, skillFeatures,
  47. HarmType.Default, harmReturnInfo: harmReturnInfo);
  48. }
  49. protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
  50. ITimelineFxLogic timelineFxLogic,
  51. TriggerData triggerData, ISkillFeatures skillFeatures)
  52. {
  53. }
  54. }
  55. }