* Add prototype for temperature testing entity. * Add Damageable, Destructible, Temperature. Add a prototype based on those. * Works and cleaned up. * Nerf
31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
using Content.Server.GameObjects;
|
|
using SS14.Shared.Interfaces.GameObjects;
|
|
using System;
|
|
|
|
namespace Content.Server.Interfaces.GameObjects
|
|
{
|
|
public interface IDamageableComponent : IComponent
|
|
{
|
|
event EventHandler<DamageThresholdPassedEventArgs> DamageThresholdPassed;
|
|
ResistanceSet Resistances { get; }
|
|
|
|
/// <summary>
|
|
/// The function that handles receiving damage.
|
|
/// Converts damage via the resistance set then applies it
|
|
/// and informs components of thresholds passed as necessary.
|
|
/// </summary>
|
|
/// <param name="damageType">Type of damage being received.</param>
|
|
/// <param name="amount">Amount of damage being received.</param>
|
|
void TakeDamage(DamageType damageType, int amount);
|
|
|
|
/// <summary>
|
|
/// Handles receiving healing.
|
|
/// Converts healing via the resistance set then applies it
|
|
/// and informs components of thresholds passed as necessary.
|
|
/// </summary>
|
|
/// <param name="damageType">Type of damage being received.</param>
|
|
/// <param name="amount">Amount of damage being received.</param>
|
|
void TakeHealing(DamageType damageType, int amount);
|
|
}
|
|
}
|