From cc4298575ca830e32d7e3ef2014894dbb292bc82 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 23 十二月 2025 19:21:26 +0800
Subject: [PATCH] 125 战斗  吸血反转为伤害&治疗反转成伤害 处理

---
 Main/System/Battle/Define/DamageType.cs    |    4 +++-
 Main/System/Battle/Define/BattleDmgInfo.cs |   12 +++++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/Main/System/Battle/Define/BattleDmgInfo.cs b/Main/System/Battle/Define/BattleDmgInfo.cs
index 2803b1d..59d35b8 100644
--- a/Main/System/Battle/Define/BattleDmgInfo.cs
+++ b/Main/System/Battle/Define/BattleDmgInfo.cs
@@ -155,7 +155,7 @@
                     break;
                 
                 case ServerDamageType.SuckHpReverse:
-                    convertedAttackTypes |= (int)DamageType.Damage;
+                    convertedAttackTypes |= (int)DamageType.SuckHpReverse;
                     break;
                 
                 case ServerDamageType.SelfHarm:
@@ -166,6 +166,12 @@
                     Debug.LogError($"[BattleDmgInfo] 鏈煡鐨勬湇鍔″櫒浼ゅ绫诲瀷: {serverDamageType}({serverValue})");
                     break;
             }
+        }
+
+        //  濡傛灉婧愮被鍨嬪寘鍚玈erverDamageType.DamageReverse:鐨勮瘽 鍒欓渶瑕佸幓鎺� DamageType.Recovery
+        if ((originalAttackTypes & (int)ServerDamageType.DamageReverse) != 0)
+        {
+            convertedAttackTypes &= ~(int)DamageType.Recovery;
         }
 
         // DOT鎶�鑳界壒娈婂鐞嗭紙SkillType == 3 鎴� 4锛�
@@ -301,7 +307,7 @@
                 targetDamageList.Add(new BattleDmg
                 {
                     damage = suckHp,
-                    attackType = (int)DamageType.SuckHP
+                    attackType = IsType(DamageType.SuckHpReverse) ? (int)DamageType.Damage : (int)DamageType.SuckHP
                 });
             }
             else
@@ -310,7 +316,7 @@
                 casterDamageList.Add(new BattleDmg
                 {
                     damage = suckHp,
-                    attackType = (int)DamageType.SuckHP
+                    attackType = IsType(DamageType.SuckHpReverse) ? (int)DamageType.Damage : (int)DamageType.SuckHP
                 });
             }
         }
diff --git a/Main/System/Battle/Define/DamageType.cs b/Main/System/Battle/Define/DamageType.cs
index ee8bd43..8430b96 100644
--- a/Main/System/Battle/Define/DamageType.cs
+++ b/Main/System/Battle/Define/DamageType.cs
@@ -28,7 +28,7 @@
 
 	Dodge = 512, //闂伩
 
-	DamageReverse = 1024,//浼ゅ鍙嶈浆涓烘不鐤�
+	DamageReverse = 1024,//娌荤枟鍙嶈浆鎴愪激瀹�
 
 	SuckHpReverse = 2048,//鍚歌鍙嶈浆涓轰激瀹�
 	SelfHarm = 4096,//鑷畫
@@ -65,5 +65,7 @@
 	CritHeal = Crit + Recovery,         //鏆村嚮鍥炶
 
 	CritRealdamage = Crit + Realdamage, //鏆村嚮鐪熶激
+
+	SuckHpReverse, //鍚歌鍙嶈浆涓轰激瀹�
 }
 

--
Gitblit v1.8.0