From 7746e45cd693d4ba83a422049026d8f2fd0c24dc Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 01 十二月 2025 11:37:26 +0800
Subject: [PATCH] 125 战斗 弹射问题修复

---
 Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs |    4 ++--
 Main/System/Battle/SkillEffect/BulletSkillEffect.cs             |    6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs b/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs
index a20732e..bf3f071 100644
--- a/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs
+++ b/Main/System/Battle/SkillEffect/BulletCurve/BounceBulletCurve.cs
@@ -45,8 +45,8 @@
         bulletTrans.anchoredPosition = pos;
 
         Vector2 dir = end - start;
-        float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - 90f;
-        bulletTrans.localRotation = Quaternion.Euler(0, 0, angle);
+        float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg + (caster.Camp == BattleCamp.Red ? 0 : 180);
+        bulletTrans.rotation = Quaternion.Euler(0, 0, angle);
 
         if (t >= 1f)
         {
diff --git a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs b/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
index 5221f5c..d01967a 100644
--- a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
+++ b/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
@@ -382,6 +382,8 @@
 
         int bounceHitIndex = 0;
 
+        int tempBulletIndex = bulletIndex;
+
         var bulletCurve = BulletCurveFactory.CreateBulletCurve(caster, skillConfig, effectPlayer, target.heroRectTrans, tagUseSkillAttack.HurtList.ToList(), bulletIndex, (index, hitList) =>
         {
             if (skillConfig.BulletPath == 4)
@@ -407,7 +409,7 @@
                 // 琛ㄧ幇瀛愬脊椋炶鍒扮洰鏍囦綅缃�
                 onHit?.Invoke(index, new List<HB427_tagSCUseSkill.tagSCUseSkillHurt> { hurt });
 
-                if (bulletIndex == tagUseSkillAttack.HurtList.Length - 1)
+                if (bounceHitIndex >= tagUseSkillAttack.HurtList.Length)
                 {
                     caster.battleField.battleEffectMgr.RemoveEffect(skillConfig.BulletEffectId, effectPlayer);
                 }
@@ -415,7 +417,7 @@
                 if (isFinish)
                     return;
 
-                if (bulletIndex >= skillConfig.ActiveFrames.Length - 1 && bounceHitIndex >= hitList.Count)
+                if (tempBulletIndex >= skillConfig.ActiveFrames.Length - 1 && bounceHitIndex >= hitList.Count)
                 {
                     isFinish = true;
                 }

--
Gitblit v1.8.0