فهرست منبع

修复飞剑累伤计算出错的问题

WGL 1 ماه پیش
والد
کامیت
a521449052

+ 7 - 4
ActionTowerDefense/Assets/Scripts/Characters/AttributeStatus.cs

@@ -65,7 +65,7 @@ public class AttributeStatus : MonoBehaviour
     [DisplayOnly] public float vulnerableTime;
 
     [TabGroup("ÀÛÉË")] [DisplayOnly] public float stackingWoudsTime;
-    [TabGroup("ÀÛÉË")] [DisplayOnly] public int stackingWordsNum;
+    [TabGroup("ÀÛÉË")] [DisplayOnly] public float stackingWords;
 
     //¿¹ÐÔ
     [Serializable]
@@ -116,12 +116,12 @@ public class AttributeStatus : MonoBehaviour
         }
 
         //ÀÛÉË
-        if (stackingWordsNum > 0)
+        if (stackingWords > 0)
         {
             stackingWoudsTime -= Time.deltaTime;
             if (stackingWoudsTime <= 0)
             {
-                stackingWordsNum = 0;
+                stackingWords = 0;
             }
         }
     }
@@ -615,7 +615,10 @@ public class AttributeStatus : MonoBehaviour
     {
         this.attackMethod = attackMethod;
         AttackInfo.StackingWounds stackingWounds = attackMethod.attackInfo.stackingWounds;
+        if(stackingWoudsTime > 0)
+        {
+            stackingWords += attackMethod.attackInfo.stackingWounds.damage;
+        }
         stackingWoudsTime = stackingWounds.time;
-        stackingWordsNum++;
     }
 }

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Characters/MoveCharacter.cs

@@ -284,7 +284,7 @@ public class MoveCharacter : Character
         //¼ÆËãÀÛÉË
         if (haveStackingWords)
         {
-            damageData = (int)(damageData + (attributeStatus.stackingWordsNum - 1) * attackInfo.stackingWounds.damage + 0.5f);
+            damageData = (int)(damageData + attributeStatus.stackingWords + 0.5f);
         }
 
         //¼ÆË㻤¼×¼õÃâ