33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
namespace Barotrauma.Abilities
|
|
{
|
|
class CharacterAbilityModifyFlag : CharacterAbility
|
|
{
|
|
private readonly AbilityFlags abilityFlag;
|
|
|
|
private bool lastState;
|
|
public override bool AllowClientSimulation => true;
|
|
|
|
public CharacterAbilityModifyFlag(CharacterAbilityGroup characterAbilityGroup, ContentXElement 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;
|
|
}
|
|
}
|
|
}
|
|
}
|