[DataField]
public SoundSpecifier BloodHealedSound = new SoundPathSpecifier("/Audio/Effects/lightburn.ogg");
+ /// <summary>
+ /// The minimum amount damage reduction needed to play the healing sound/popup.
+ /// This prevents tiny amounts of heat damage from spamming the sound, e.g. spacing.
+ /// </summary>
+ [DataField]
+ public float BloodHealedSoundThreshold = -0.1f;
+
// TODO probably damage bleed thresholds.
/// <summary>
}
// Heat damage will cauterize, causing the bleed rate to be reduced.
- else if (totalFloat < 0 && oldBleedAmount > 0)
+ else if (totalFloat <= ent.Comp.BloodHealedSoundThreshold && oldBleedAmount > 0)
{
// Magically, this damage has healed some bleeding, likely
// because it's burn damage that cauterized their wounds.