| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- using System.Collections.Generic;
 
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
 
- using Fort23.Core;
 
- using GameLogic.Combat.Buff;
 
- using GameLogic.Combat.CombatTool;
 
- using GameLogic.Combat.Hero;
 
- using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
 
- using UnityEngine;
 
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
 
- namespace GameLogic.Combat.Skill.MagicSkill
 
- {
 
-     /// <summary>
 
-     /// 对敌人照成伤害,并随机封锁敌人{0}个法宝,让其{1}秒内不能使用和不能充能
 
-     /// 如果影响的是2个相生法宝,则这2个法宝在本场战斗中充能时间增加30%
 
-     /// </summary>
 
-     public class S3301 : MagicSkillBasic
 
-     {
 
-         private CombatHeroEntity target;
 
-         List<CombatMagicWeaponEntity> yingXingWeapon = new List<CombatMagicWeaponEntity>();
 
-         protected override void ProMagicUseSkill()
 
-         {
 
-             // StraightLineShow straightLineShow = new StraightLineShow();
 
-             // straightLineShow.Init(this);
 
-             target = CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CombatAIBasic.currFocusTarget;
 
-             if (target == null)
 
-             {
 
-                 SkillPlayFinish();
 
-                 return;
 
-             }
 
-             MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(target, Finish);
 
-             SetMagicAttShowBasic(magicAttShowBasic);
 
-         }
 
-         private void Finish()
 
-         {
 
-             CombatHeroEntity combatHeroEntity = target;
 
-             ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin<ILifetCycleHitPoint>();
 
-             if (lifetCycleHitPoint == null)
 
-             {
 
-                 return;
 
-             }
 
-             CombatMagicWeaponEntity[] AllMagicWeapon = combatHeroEntity.heroMagicWeaponControl.AllMagicWeapon;
 
-             int maxCount = combatHeroEntity.heroMagicWeaponControl.MagicWeaponCount;
 
-             if (maxCount > 0)
 
-             {
 
-                 List<CombatMagicWeaponEntity> currAllMagicWeapon = new List<CombatMagicWeaponEntity>();
 
-                 currAllMagicWeapon.AddRange(AllMagicWeapon);
 
-                 List<CombatMagicWeaponEntity> addMagicWeaponEntities = new List<CombatMagicWeaponEntity>();
 
-                 for (int i = 0; i < effectValue[0]; i++)
 
-                 {
 
-                     if (maxCount > 0)
 
-                     {
 
-                         int index = Random.Range(0, maxCount);
 
-                         BuffInfo buffInfo = BuffInfo.GetBuffInfo(10081, effectValue[1], 1,this);
 
-                         CombatMagicWeaponEntity combatMagicWeaponEntity = currAllMagicWeapon[index];
 
-                         combatMagicWeaponEntity.BuffControl.AddBuff(
 
-                             CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity,
 
-                             buffInfo);
 
-                         currAllMagicWeapon.RemoveAt(index);
 
-                         if (SelfSkillConfig.level > 3 && !yingXingWeapon.Contains(combatMagicWeaponEntity))
 
-                         {
 
-                             bool isXiangSheng = false;
 
-                             if (addMagicWeaponEntities.Count > 0)
 
-                             {
 
-                                 for (int j = 0; j < addMagicWeaponEntities.Count; j++)
 
-                                 {
 
-                                     CombatMagicWeaponEntity lasetWeaponEntity = addMagicWeaponEntities[j];
 
-                                     bool isOk = CombatCalculateTool.Instance.IsSymbiosis(lasetWeaponEntity.WuXingType,
 
-                                         combatMagicWeaponEntity.WuXingType);
 
-                                     if (isOk)
 
-                                     {
 
-                                         lasetWeaponEntity.cdAddSpeed -= effectValue[3];
 
-                                         combatMagicWeaponEntity.cdAddSpeed -= effectValue[3];
 
-                                         yingXingWeapon.Add(lasetWeaponEntity);
 
-                                         yingXingWeapon.Add(combatMagicWeaponEntity);
 
-                                         isXiangSheng = true;
 
-                                         addMagicWeaponEntities.RemoveAt(j);
 
-                                         break;
 
-                                     }
 
-                                 }
 
-                             }
 
-                             if (!isXiangSheng)
 
-                             {
 
-                                 addMagicWeaponEntities.Add(combatMagicWeaponEntity);
 
-                             }
 
-                         }
 
-                         maxCount--;
 
-                     }
 
-                 }
 
-             }
 
-         
 
-             long att = CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.attack.Value;
 
-             long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(att, effectValue[2]);
 
-             CombatCalculateTool.Instance.Harm(CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity,
 
-                 lifetCycleHitPoint as CombatHeroHitPoint, harm, AttType.FaBao, triggerData, wuXingType, null,
 
-                 HarmType.Default);
 
-             BetterList<ILifetCycleHitPoint> cBetterList = new BetterList<ILifetCycleHitPoint>(1);
 
-             cBetterList.Add(lifetCycleHitPoint);
 
-             ActivationTimeLineData("sk1_hit", currTarget: cBetterList);
 
-             SkillPlayFinish();
 
-            
 
-         }
 
-         // protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
 
-         //     TimeLineEventLogicBasic timeLineEventLogicBasic)
 
-         // {
 
-         //     ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];
 
-         //     lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();
 
-         //     return lifetCycleHitPoints;
 
-         // }
 
-     }
 
- }
 
 
  |