/// <summary> /// Attack something /// </summary> /// <param name="defender">The thing that may or may not defend itself</param> public void Attack(IAttackable defender) { _combatData = GetComponent <CombatData>(); var damage = CombatData.ComputeDamage(_combatData.ToTemporaryCombatData(), defender.ToTemporaryCombatData()); Debug.Log(String.Format("player inflicts {0} damage on penguin", damage.DefenderDamage.HealthDamage)); defender.TakeDamage(damage.DefenderDamage); TakeDamage(damage.AttackerDamage); }
/// <summary> /// Attack something /// </summary> /// <param name="defender">The thing that may or may not defend itself</param> public void Attack(IAttackable defender) { // TODO this code is currently copypasta from the Player. That definitely needs to be changed. _combatData = GetComponent <CombatData>(); var damage = CombatData.ComputeDamage(_combatData.ToTemporaryCombatData(), defender.ToTemporaryCombatData()); Debug.Log(string.Format("penguin inflicts {0} damage on player", damage.DefenderDamage.HealthDamage)); defender.TakeDamage(damage.DefenderDamage); TakeDamage(damage.AttackerDamage); }