* WIP changes * Fix tests, merge conflict and trigger once behavior * Update yml * Change test strings to be consts * Fix total damage types and classes triggers * Simplify damage trigger logic, move state to Threshold * Update outdated code and docs * Change the name of IBehavior back to IThresholdBehavior * Change human gibbing to trigger at 400 brute damage * Change gibbing from brute to blunt damage * Fix one (1) typo * Add damage class trigger test * Add missing nullable enable to thresholds
22 lines
843 B
C#
22 lines
843 B
C#
#nullable enable
|
|
using Content.Server.GameObjects.EntitySystems;
|
|
using Content.Shared.GameObjects.Components.Damage;
|
|
using Robust.Shared.Interfaces.Serialization;
|
|
|
|
namespace Content.Server.GameObjects.Components.Destructible.Thresholds.Triggers
|
|
{
|
|
public interface IThresholdTrigger : IExposeData
|
|
{
|
|
/// <summary>
|
|
/// Checks if this trigger has been reached.
|
|
/// </summary>
|
|
/// <param name="damageable">The damageable component to check with.</param>
|
|
/// <param name="system">
|
|
/// An instance of <see cref="DestructibleSystem"/> to pull
|
|
/// dependencies from, if any.
|
|
/// </param>
|
|
/// <returns>true if this trigger has been reached, false otherwise.</returns>
|
|
bool Reached(IDamageableComponent damageable, DestructibleSystem system);
|
|
}
|
|
}
|