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