Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/Abilities/CharacterAbilityApplyStatusEffectToNonHumans.cs
T
2022-11-14 18:28:28 +02:00

35 lines
1.1 KiB
C#

#nullable enable
using Microsoft.Xna.Framework;
namespace Barotrauma.Abilities
{
internal sealed class CharacterAbilityApplyStatusEffectToNonHumans : CharacterAbilityApplyStatusEffects
{
private readonly float maxDistance;
public CharacterAbilityApplyStatusEffectToNonHumans(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement) : base(characterAbilityGroup, abilityElement)
{
maxDistance = abilityElement.GetAttributeFloat("maxdistance", float.MaxValue);
}
protected override void ApplyEffect()
{
foreach (Character character in Character.CharacterList)
{
if (character.IsHuman) { continue; }
if (maxDistance < float.MaxValue)
{
if (Vector2.DistanceSquared(character.WorldPosition, Character.WorldPosition) > maxDistance * maxDistance) { continue; }
}
ApplyEffectSpecific(character);
}
}
protected override void ApplyEffect(AbilityObject abilityObject)
{
ApplyEffect();
}
}
}