From a531019511b98a2f3fadcce9c2ec87922ab9c9ea Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Wed, 18 Nov 2020 15:46:19 +0800
Subject: [PATCH] Merge branch 'master' of ssh://172.16.1.52:8091/GemBattle

---
 Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
index 0563af3..5161321 100644
--- a/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
+++ b/Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
@@ -132,7 +132,7 @@
         /// </summary>
         protected float freezeBreathCallTime = 0;
 
-        protected float inFreezeBreath = 0;
+        protected float inFreezeBreath;
 
         protected float freezeBreathBackTimer = 0;
 
@@ -405,22 +405,25 @@
 
                     if (processInt == (int)Mathf.Floor(FreezeBreath.ChargeTime))
                     {
-                        inFreezeBreath = FreezeBreath.EffectTime;
+                        inFreezeBreath = towerPtr.FreezeBreathCtrl.SkillTime;
                         towerPtr.FreezeBreathProgressOffset = 0;
                         towerPtr.PlayFreezeBreathEffect(true);
                         towerPtr.FreezeBreathCtrl.ReleaseCount = 1;
+                        towerPtr.FreezeBreathCtrl.PlayFreezeEffect(waveLineID);
                         towerPtr.FreezeBreathCtrl.ReleaseFreeze(waveLineID, finalDamage, damager.alignmentProvider);
                     }
                 }
                 else
                 {
                     inFreezeBreath -= Time.deltaTime;
+                    int time = Mathf.FloorToInt(towerPtr.FreezeBreathCtrl.EffectTime / (towerPtr.FreezeBreathCtrl.DamageCount - 1) * 10);
+                    int interval = Mathf.FloorToInt(inFreezeBreath * 10);
+                    int offset = Mathf.FloorToInt(towerPtr.FreezeBreathCtrl.SkillTime * 10) - Mathf.FloorToInt(towerPtr.FreezeBreathCtrl.EffectTime * 10);
 
-                    if (inFreezeBreath <= FreezeBreath.EffectTime / 2 && towerPtr.FreezeBreathCtrl.ReleaseCount != 2)
+                    if (interval == time * (towerPtr.FreezeBreathCtrl.DamageCount - towerPtr.FreezeBreathCtrl.ReleaseCount - 1) + offset && towerPtr.FreezeBreathCtrl.ReleaseCount < towerPtr.FreezeBreathCtrl.DamageCount)
                     {
-                        towerPtr.FreezeBreathCtrl.ReleaseCount = 2;
+                        ++towerPtr.FreezeBreathCtrl.ReleaseCount;
                         towerPtr.FreezeBreathCtrl.ReleaseFreeze(waveLineID, finalDamage, damager.alignmentProvider);
-                        return;
                     }
 
                     if (inFreezeBreath <= 0)
@@ -429,8 +432,6 @@
                         freezeBreathCallTime = 0;
                         towerPtr.FreezeBreathCtrl.SetProgress(0);
                         towerPtr.PlayFreezeBreathEffect(false);
-                        towerPtr.FreezeBreathCtrl.ReleaseCount = 3;
-                        towerPtr.FreezeBreathCtrl.ReleaseFreeze(waveLineID, finalDamage, damager.alignmentProvider);
                     }
                 }
             }

--
Gitblit v1.9.1