hch
2025-10-09 6cb439c3b2462c9f9099bf341f92e88a2d5bb6b8
Main/System/Battle/Skill/SkillBase.cs
@@ -369,6 +369,8 @@
   protected void HighLightAllTargets()
   {
      caster.layerMgr.SetSortingOrder(BattleConst.ActiveHeroActionSortingOrder);
      if (skillConfig.FuncType != 2)
         return;
@@ -408,7 +410,6 @@
         }
      }
      caster.layerMgr.SetSortingOrder(BattleConst.ActiveHeroActionSortingOrder);
      battleField.battleRootNode.skillMaskNode.SetActive(true);
      battleField.battleRootNode.SetSortingOrder();
@@ -441,6 +442,7 @@
   {
      // 伤害分布 (万分比)
      // Debug.LogError("skillConfig.DamageDivide.Count " + skillConfig.DamageDivide.Length + " _hitIndex " + _hitIndex);
      bool isLastHit = _hitIndex >= skillConfig.DamageDivide.Length - 1;
      int[] damageDivide = skillConfig.DamageDivide[_hitIndex];
      long totalDamage = GeneralDefine.GetFactValue(hurt.HurtHP, hurt.HurtHPEx);
@@ -458,7 +460,12 @@
      //   TODO YYL AttackTypes  要表现成什么样呢? 支持多种类型并存,如无视防御且暴击同时被格挡,二进制或运算最终值;0-失败;1-普通;2-回血;5-格挡;6-无视防御;7-暴击;9-闪避
      target.Hurt(damageList, totalDamage, hurt, skillConfig);
      List<HB422_tagMCTurnFightObjDead> deadPacks = BattleUtility.FindDeadPack(packList);
      bool isTargetDead = deadPacks.Exists(p => p.ObjID == target.ObjID);
      bool playAnimation = !(isLastHit && isTargetDead);
      target.Hurt(damageList, totalDamage, hurt, skillConfig, playAnimation);
      //   TODO YYL 这里是要做统一计算后再hurt跟suckhp还是怎样
      caster.SuckHp(hurt.SuckHP, skillConfig);//   吸血
@@ -681,6 +688,12 @@
   public virtual void ForceFinished()
   {
      skillEffect?.ForceFinished();
      if (otherSkillAction != null)
      {
         otherSkillAction.ForceFinish();
         otherSkillAction = null;
      }
      HandleDead();
      isFinished = true;
      moveFinished = true;
      isPlay = true;
@@ -694,12 +707,11 @@
         {
            if (combinePack.startTag.Tag.StartsWith("Skill_"))
            {
               BattleDebug.LogError("other skill casting " + combinePack.startTag.Tag);
               otherSkillAction = combinePack.CreateSkillAction();
               otherSkillAction.fromSkillId = skillConfig.SkillID;
               //   强制结束其他技能
               otherSkillAction.ForceFinish();
               return;
               continue;
            }
         }
         else if (pack is CustomB421ActionPack actionPack)