using Content.Server.GameObjects; using SS14.Shared.Interfaces.GameObjects; using System; namespace Content.Server.Interfaces.GameObjects { public interface IDamageableComponent : IComponent { event EventHandler DamageThresholdPassed; ResistanceSet Resistances { get; } /// /// The function that handles receiving damage. /// Converts damage via the resistance set then applies it /// and informs components of thresholds passed as necessary. /// /// Type of damage being received. /// Amount of damage being received. void TakeDamage(DamageType damageType, int amount); /// /// Handles receiving healing. /// Converts healing via the resistance set then applies it /// and informs components of thresholds passed as necessary. /// /// Type of damage being received. /// Amount of damage being received. void TakeHealing(DamageType damageType, int amount); } }