From 535a4a17472f51b6aa5a80997b5e9d9524896173 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 18 九月 2025 16:54:01 +0800
Subject: [PATCH] 125 战斗 前后排索敌规则更正 散射问题修复

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

diff --git a/Main/System/Battle/BattleUtility.cs b/Main/System/Battle/BattleUtility.cs
index 668ed7f..2fa36ae 100644
--- a/Main/System/Battle/BattleUtility.cs
+++ b/Main/System/Battle/BattleUtility.cs
@@ -195,7 +195,7 @@
                 //  1銆�2銆�3鍙蜂綅涓哄墠鎺掞紝榛樿2鍙蜂綅缃负涓荤洰鏍囷紝褰�1銆�2銆�3鍙蜂綅缃鑹插叏閮ㄦ浜★紝鍓嶆帓灏嗘浛鎹㈡垚鍚庢帓锛�5鍙蜂綅缃彉鏇翠负涓荤洰鏍囷紝
                 //  鑻ラ厤缃甌agAffect缁嗗垎鐩爣锛屼笖浜烘暟灏忎簬3锛屽垯鎵�鏈夎閫夋嫨鐩爣鍧囦负涓荤洰鏍囷紙鏂芥硶浣嶇疆浼氱敤瀹㈡埛绔厤缃級
                 // 锛堝嵆鍓嶆帓榛樿2鍙蜂綅鎴�5鍙蜂綅瑙勫垯鏃犳晥锛屽疄闄呬綔鐢ㄥ灏戜汉灏辨槸澶氬皯涓富鐩爣锛� (YL : TagAffect>0 && TagAffect != 3灏辨槸鍏ㄤ綋閮芥槸涓荤洰鏍� 鍚庢帓涓�鏍� )
-                if (skillConfig.TagAffect != 0 && skillConfig.TagAffect != 3 && skillConfig.TagCount < 3)
+                if (skillConfig.TagAffect != 0 || skillConfig.TagCount < 3)
                 {
                     uint objId = targetList[0].ObjID;
                     BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
@@ -204,7 +204,7 @@
                 else
                 {
                     //  鐪嬬湅瀵归潰鍓嶆帓鏄惁閮芥椿鐫�
-                        List<BattleObject> front = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.teamHero.positionNum < 3 select bo);
+                    List<BattleObject> front = new List<BattleObject>(from bo in targetObjList where !bo.IsDead() && bo.teamHero.positionNum < 3 select bo);
                     if (front.Count > 0)
                     {
                         returnIndex = 1;
@@ -216,7 +216,7 @@
                 }
                 break;
             case 3:
-                if (skillConfig.TagAffect != 0 && skillConfig.TagAffect != 3 && skillConfig.TagCount < 3)
+                if (skillConfig.TagAffect != 0 || skillConfig.TagCount < 3)
                 {
                     uint objId = targetList[0].ObjID;
                     BattleObject target = caster.battleField.battleObjMgr.GetBattleObject((int)objId);
diff --git a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs b/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
index 1160b31..7258c48 100644
--- a/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
+++ b/Main/System/Battle/SkillEffect/BulletSkillEffect.cs
@@ -299,10 +299,6 @@
 
         var bulletCurve = BulletCurveFactory.CreateBulletCurve(caster, skillConfig, effectPlayer, target.heroRectTrans, tagUseSkillAttack, bulletIndex, (index, hitList) =>
         {
-            if (isFinish)
-                return;
-            
-
             foreach (var hurt in hitList)
             {
                 BattleObject targetObj = caster.battleField.battleObjMgr.GetBattleObject((int)hurt.ObjID);
@@ -322,6 +318,9 @@
             // 鍑讳腑灏遍攢姣佸瓙寮�
             caster.battleField.battleEffectMgr.RemoveEffect(skillConfig.BulletEffectId, effectPlayer);
 
+            if (isFinish)
+                return;
+
             if (bulletIndex >= skillConfig.ActiveFrames.Length - 1)
             {
                 isFinish = true;

--
Gitblit v1.8.0