S3102.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using GameLogic.Combat.Buff;
  2. using GameLogic.Combat.CombatTool;
  3. using GameLogic.Combat.Hero;
  4. using UnityEngine;
  5. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  6. namespace GameLogic.Combat.Skill.MagicSkill
  7. {
  8. /// <summary>
  9. /// 噬空齿刃
  10. /// </summary>
  11. public class S3102: MagicSkillBasic
  12. {
  13. private CombatHeroEntity target;
  14. protected override void ProMagicUseSkill()
  15. {
  16. // StraightLineShow straightLineShow = new StraightLineShow();
  17. // straightLineShow.Init(this);
  18. CombatHeroEntity[] allHero =
  19. CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);
  20. if (allHero == null || allHero.Length <= 0)
  21. {
  22. SkillPlayFinish();
  23. return;
  24. }
  25. target = allHero[0];
  26. MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(allHero[0], Finish);
  27. SetMagicAttShowBasic(magicAttShowBasic);
  28. }
  29. protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
  30. TimeLineEventLogicBasic timeLineEventLogicBasic)
  31. {
  32. ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];
  33. lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();
  34. return lifetCycleHitPoints;
  35. }
  36. private void Finish()
  37. {
  38. //
  39. Debug.Log("法宝对敌人照成伤害");
  40. ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin<ILifetCycleHitPoint>();
  41. if (lifetCycleHitPoint == null)
  42. {
  43. SkillPlayFinish();
  44. return;
  45. }
  46. BetterList<ILifetCycleHitPoint> cBetterList = new BetterList<ILifetCycleHitPoint>(1);
  47. cBetterList.Add(lifetCycleHitPoint);
  48. ActivationTimeLineData("gongji", currTarget: cBetterList);
  49. SkillPlayFinish();
  50. long att = CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.attack.Value;
  51. long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(att, effectValue[0]);
  52. CombatCalculateTool.Instance.Harm(CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity,
  53. lifetCycleHitPoint as CombatHeroHitPoint, harm, AttType.FaBao, triggerData, wuXingType, null,
  54. HarmType.Default);
  55. }
  56. }
  57. }