Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/AbilityGroups/CharacterAbilityGroupEffect.cs
T
2021-09-03 21:56:31 +09:00

35 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Xml.Linq;
namespace Barotrauma.Abilities
{
class CharacterAbilityGroupEffect : CharacterAbilityGroup
{
public CharacterAbilityGroupEffect(CharacterTalent characterTalent, XElement abilityElementGroup) : base(characterTalent, abilityElementGroup) { }
public void CheckAbilityGroup(object abilityData)
{
if (!IsActive) { return; }
if (IsApplicable(abilityData))
{
foreach (var characterAbility in characterAbilities)
{
if (characterAbility.IsViable())
{
characterAbility.ApplyAbilityEffect(abilityData);
}
}
}
}
private bool IsApplicable(object abilityData)
{
if (timesTriggered >= maxTriggerCount) { return false; }
return abilityConditions.All(c => c.MatchesCondition(abilityData));
}
}
}