S901004.cs 2.6 KB

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