S3203.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System.Collections.Generic;
  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.MagicSkill
  8. {
  9. /// <summary>
  10. /// 绝脉瓶
  11. /// 对敌人照成水系伤害,封锁敌人筋脉随机{0}个格子流动{1}秒
  12. /// </summary>
  13. public class S3203 : MagicSkillBasic
  14. {
  15. private CombatHeroEntity target;
  16. protected override void ProMagicUseSkill()
  17. {
  18. // StraightLineShow straightLineShow = new StraightLineShow();
  19. // straightLineShow.Init(this);
  20. target= CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CombatAIBasic.currFocusTarget;
  21. if (target == null )
  22. {
  23. SkillPlayFinish();
  24. return;
  25. }
  26. MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(target, 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. List<int> buffId = new List<int>() { 10191, 10201, 10211, 10221, 10231 };
  51. for (int i = 0; i < effectValue[1]; i++)
  52. {
  53. int index = CombatCalculateTool.Instance.GetOdd(0, buffId.Count);
  54. int id = buffId[index];
  55. BuffInfo buffInfo = BuffInfo.GetBuffInfo(id, effectValue[2], 1);
  56. BuffBasic buffBasic = target.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
  57. buffId.RemoveAt(index);
  58. }
  59. long att = CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.attack.Value;
  60. long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(att, effectValue[0]);
  61. CombatCalculateTool.Instance.Harm(CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity,
  62. lifetCycleHitPoint as CombatHeroHitPoint, harm, AttType.FaBao, triggerData, wuXingType, null,
  63. HarmType.Default);
  64. }
  65. }
  66. }