Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/Abilities/CharacterAbilityModifyFlag.cs
T
Joonas Rikkonen 3a35dbfe6c Release v0.15.13.0
2021-11-02 13:19:59 +02:00

36 lines
1.1 KiB
C#

using System;
using System.Xml.Linq;
namespace Barotrauma.Abilities
{
class CharacterAbilityModifyFlag : CharacterAbility
{
private readonly AbilityFlags abilityFlag;
private bool lastState;
public override bool AllowClientSimulation => true;
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;
}
}
}
}