weixudong
2020-11-19 69e0fea6c92fd4e153d45e5f26ef89baecf0405a
Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs
@@ -33,6 +33,13 @@
        public float attackRise { get; set; }
        /// <summary>
        /// 基础增加暴击伤害率
        /// </summary>
        private float baseCritDamageRate = 0.5f;
        public Tower TowerPtr;
        /// <summary>
        /// 处理代理收到的伤害,这里需要判断代理的类型分别去处理
        /// </summary>
        /// <param name="enemy"></param>
@@ -89,7 +96,7 @@
        private bool IsCrit()
        {
            CritProbabilityAdd critProbabilityAdd = (CritProbabilityAdd)EndlessBuffManager.instance.GetBuffInstanceByType(EndlessBuffEffectType.CritProbabilityAdd);
            float crit = critProbabilityAdd.GetCrit(damager.TowerAttributeId);
            float crit = critProbabilityAdd.GetCrit(TowerPtr.attributeId);
            float random = UnityEngine.Random.Range(0, 1f);
            return random <= crit;
@@ -102,7 +109,7 @@
        private float GetCritDamageRate()
        {
            CritDamageAdd critDamageAdd = (CritDamageAdd)EndlessBuffManager.instance.GetBuffInstanceByType(EndlessBuffEffectType.CritDamageAdd);
            return critDamageAdd.GetCritDamageRate(damager.TowerAttributeId);
            return critDamageAdd.GetCritDamageRate(TowerPtr.attributeId);
        }
        /// <summary>
@@ -118,7 +125,7 @@
            finalDamage += ProcessEndlessBuffAttack(finalDamage);
            if (crit)
                finalDamage *= 1 + GetCritDamageRate();
                finalDamage *= 1 + baseCritDamageRate + GetCritDamageRate();
            int deathCount = 0;
@@ -193,7 +200,7 @@
            {
                case 2:  // 减速.
                    SlowDown slowDown = (SlowDown)EndlessBuffManager.instance.GetBuffInstanceByType(EndlessBuffEffectType.SlowDown);
                    enemy.addSpeedSlowRate(0.25f + slowDown.GetSlowDownAdd(damager.TowerAttributeId));
                    enemy.addSpeedSlowRate(0.15f + slowDown.GetSlowDownAdd(TowerPtr.attributeId));
                    enemy.SetTargetableMatColor(Color.blue);
                    break;
                case 3:  // 中毒