wangguan
2020-12-26 88a0a33dc3ebc8c6cef149f99a5618b239573d03
Assets/Scripts/TowerDefense/Towers/Projectiles/BallisticAttack.cs
@@ -31,12 +31,12 @@
        /// </summary>
        /// <param name="enemy"></param>
        /// <param name="attributeId">子弹的属性id</param>
        public void DealDamage(Targetable enemy, bool isEnhancedBullet = false)
        public void DealDamage(Targetable enemy, Damager damager = null)
        {
            switch ((enemy as Agent).AgentType)
            {
                case SpawnAgentType.Normal:
                    HandleNormal(enemy, isEnhancedBullet);
                    HandleNormal(enemy, damager);
                    break;
                case SpawnAgentType.BubbleBomb:
                    HandleBubbleBomb(enemy);
@@ -115,8 +115,11 @@
        /// 处理普通小怪和boss收到的伤害
        /// </summary>
        /// <param name="enemy"></param>
        private void HandleNormal(Targetable enemy, bool isEnhancedBullet)
        private void HandleNormal(Targetable enemy, Damager damager)
        {
            // 保证强化子弹只会击退一个不会击退多个
            if (TowerPtr != null && damager.IsEnhancedBullet && damager.IsRepeled) return;
            // 基础伤害 = elf_info 基础攻击力 * elf_upgrade 攻击比率 / 1000f
            float basicDamage = ElfInfoData.GetBasicDamage(TowerPtr.ElfId, TowerPtr.currentLevel);
            elf_info info = ElfInfoData.GetDataById(TowerPtr.ElfId);
@@ -134,7 +137,7 @@
            }
            // 玉米强化子弹10倍伤害
            if (isEnhancedBullet)
            if (damager.IsEnhancedBullet)
                basicDamage *= 10f;
            bool needFrost = HandleWaterFrost(TowerPtr.ElfId, (enemy as Agent), ref basicDamage);
@@ -189,8 +192,11 @@
                (enemy as Agent).PlayOnHit();
                // 如果是玉米强化子弹的攻击,要处理击退的效果
                if (TowerPtr != null && isEnhancedBullet)
                if (TowerPtr != null && damager.IsEnhancedBullet && !damager.IsRepeled)
                {
                    damager.IsRepeled = true;
                    (enemy as Agent).AgentBeRepelled();
                }
            }
        }