Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/Abilities/CharacterAbilityModifyFlag.cs
T
Joonas Rikkonen 234fb6bc06 Release v0.15.12.0
2021-10-27 18:50:57 +03:00

35 lines
1.0 KiB
C#

using System;
using System.Xml.Linq;
namespace Barotrauma.Abilities
{
class CharacterAbilityModifyFlag : CharacterAbility
{
private readonly AbilityFlags abilityFlag;
private bool lastState;
public CharacterAbilityModifyFlag(CharacterAbilityGroup characterAbilityGroup, XElement abilityElement) : base(characterAbilityGroup, abilityElement)
{
abilityFlag = CharacterAbilityGroup.ParseFlagType(abilityElement.GetAttributeString("flagtype", ""), CharacterTalent.DebugIdentifier);
}
protected override void VerifyState(bool conditionsMatched, float timeSinceLastUpdate)
{
if (conditionsMatched != lastState)
{
if (conditionsMatched)
{
Character.AddAbilityFlag(abilityFlag);
}
else
{
Character.RemoveAbilityFlag(abilityFlag);
}
lastState = conditionsMatched;
}
}
}
}