S901004.cs 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System.Collections.Generic;
  2. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  3. using Fort23.Core;
  4. using GameLogic.Combat.Buff;
  5. using GameLogic.Combat.CombatTool;
  6. using GameLogic.Combat.Hero;
  7. using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
  8. using UnityEngine;
  9. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  10. namespace GameLogic.Combat.Skill.MagicSkill
  11. {
  12. /// <summary>
  13. /// 对敌人照成伤害,并随机封锁敌人{0}个法宝,让其{1}秒内不能使用和不能充能
  14. /// </summary>
  15. public class S901004 : MagicSkillBasic
  16. {
  17. private CombatHeroEntity target;
  18. protected override void ProMagicUseSkill()
  19. {
  20. // StraightLineShow straightLineShow = new StraightLineShow();
  21. // straightLineShow.Init(this);
  22. CombatHeroEntity[] allHero =
  23. CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);
  24. if (allHero == null || allHero.Length <= 0)
  25. {
  26. SkillPlayFinish();
  27. return;
  28. }
  29. // SkillPlayFinish();
  30. target = allHero[0];
  31. MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(allHero[0], Finish);
  32. SetMagicAttShowBasic(magicAttShowBasic);
  33. }
  34. private void Finish()
  35. {
  36. CombatHeroEntity combatHeroEntity =target;
  37. ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin<ILifetCycleHitPoint>();
  38. if (lifetCycleHitPoint == null)
  39. {
  40. return;
  41. }
  42. CombatMagicWeaponEntity[] AllMagicWeapon = combatHeroEntity.heroMagicWeaponControl.AllMagicWeapon;
  43. int maxCount = combatHeroEntity.heroMagicWeaponControl.MagicWeaponCount;
  44. if (maxCount > 0)
  45. {
  46. List<CombatMagicWeaponEntity> currAllMagicWeapon = new List<CombatMagicWeaponEntity>();
  47. currAllMagicWeapon.AddRange(AllMagicWeapon);
  48. for (int i = 0; i < effectValue[0]; i++)
  49. {
  50. if (maxCount > 0)
  51. {
  52. int index = Random.Range(0, maxCount);
  53. BuffInfo buffInfo = BuffInfo.GetBuffInfo(10081, effectValue[1], 1);
  54. CombatMagicWeaponEntity combatMagicWeaponEntity = currAllMagicWeapon[index];
  55. combatMagicWeaponEntity.BuffControl.AddBuff(
  56. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity,
  57. buffInfo);
  58. currAllMagicWeapon.RemoveAt(index);
  59. maxCount--;
  60. }
  61. }
  62. }
  63. BetterList<ILifetCycleHitPoint> cBetterList = new BetterList<ILifetCycleHitPoint>(1);
  64. cBetterList.Add(lifetCycleHitPoint);
  65. ActivationTimeLineData("gongji", currTarget: cBetterList);
  66. SkillPlayFinish();
  67. // TimeLineEventLogicGroupBasic timeLineEventLogicGroupBasic =
  68. // ActivationTimeLineData("sk1_xiaoshi");
  69. }
  70. // protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
  71. // TimeLineEventLogicBasic timeLineEventLogicBasic)
  72. // {
  73. // ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];
  74. // lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();
  75. // return lifetCycleHitPoints;
  76. // }
  77. }
  78. }