public override void Attack(GameUnit targetUnit) { if (CanDoSpecialAbility()) { if (SpecialCombatAbility.HasUnit) { CombatAbilityUnit abilityUnit = Instantiate(SpecialCombatAbility.AbilityPrefab); abilityUnit.Begin(behaviourOwner); //abilityUnit.BeginWithMovement(behaviourOwner.AttackSource.transform.position, targetUnit.HitTarget.position, behaviourOwner); } RestartSpecialAbilityCooldown(); } else { if (!BasicCombatAbility.HasUnit) { targetUnit.Hit(BasicCombatAbility.Stats.CurrentStatsLevel.Damage); } else { CombatAbilityUnit abilityUnit = Instantiate(BasicCombatAbility.AbilityPrefab); abilityUnit.BeginWithMovement(behaviourOwner.AttackSource.transform.position, targetUnit.HitTarget.position, behaviourOwner); } } }