34 lines
1003 B
C#
34 lines
1003 B
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)
|
|
{
|
|
return abilityConditions.All(c => c.MatchesCondition(abilityData));
|
|
}
|
|
}
|
|
}
|