public override void finishCast() { List <GameObject> targets = null; if (parent.tag.Equals("Player")) { targets = UnitList.getHostileUnitsInArea(parent.transform.position, areaRadius); } else { targets = UnitList.getPlayerUnitsInArea(parent.transform.position, areaRadius); } foreach (GameObject target in targets) { //Check for line of sight before dealing damage if (UnitMovement.lineOfSight(parent.transform.position, target.transform.position, false)) { target.GetComponent <UnitCombat>().takeDamage(parent.GetComponent <UnitCombat>().calculateDamage(Tuner.DamageType.melee, Tuner.BASE_WHIRLWIND_DAMAGE_MULTIPLIER), parent, Tuner.DamageType.melee); } } currentCooldown = maxCooldown; }