S3202.cs 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
  2. using GameLogic.Combat.Buff;
  3. using GameLogic.Combat.CombatTool;
  4. using UnityEngine;
  5. using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
  6. namespace GameLogic.Combat.Skill.MagicSkill
  7. {
  8. /// <summary>
  9. /// 混沌珠 使用后短时间内大幅提升所有灵根{0}%,一场战斗有使用{1}次
  10. /// 使用后额外对敌人照成的功法伤害提升10%
  11. /// </summary>
  12. public class S3202 : MagicSkillBasic
  13. {
  14. private CombatHeroEntity target;
  15. private bool isUpdate = false;
  16. private float _currTime;
  17. private int _useCount;
  18. protected override void ProInitSkill()
  19. {
  20. CombatMagicWeaponEntity.CustomizeShowTarget = GetTargetPos;
  21. }
  22. private Vector3 GetTargetPos()
  23. {
  24. SpecialDotInfo specialDotInfo = CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.GetSpecialDotInfo("toupos1");
  25. return specialDotInfo.GetWorlPos();
  26. }
  27. protected override void ProMagicUseSkill()
  28. {
  29. _useCount++;
  30. isUpdate = true;
  31. _currTime = 0;
  32. float v = SelfSkillConfig.effectValue[0];
  33. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Metal += v;
  34. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Wood += v;
  35. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Water += v;
  36. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Fire += v;
  37. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Earth += v;
  38. ActivationTimeLineData("die");
  39. SkillPlayFinish();
  40. }
  41. public override bool IsCanUse()
  42. {
  43. if (_useCount >= SelfSkillConfig.effectValue[1])
  44. {
  45. return false;
  46. }
  47. return true;
  48. }
  49. protected override void MagicSkillUpdate(float time)
  50. {
  51. if (!isUpdate)
  52. {
  53. return;
  54. }
  55. _currTime += time;
  56. if (_currTime >= SelfSkillConfig.effectValue[2])
  57. {
  58. isUpdate = false;
  59. float v = SelfSkillConfig.effectValue[0];
  60. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Metal -= v;
  61. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Wood -= v;
  62. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Water -= v;
  63. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Fire -= v;
  64. CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.Earth -= v;
  65. }
  66. }
  67. protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
  68. TimeLineEventLogicBasic timeLineEventLogicBasic)
  69. {
  70. ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];
  71. lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();
  72. return lifetCycleHitPoints;
  73. }
  74. }
  75. }