Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/Characters/Talents/Abilities/CharacterAbilityModifyStat.cs
T
Markus Isberg ecb6d40b4b Build 0.20.7.0
2022-11-18 18:13:38 +02:00

26 lines
993 B
C#

namespace Barotrauma.Abilities
{
class CharacterAbilityModifyStat : CharacterAbility
{
private readonly StatTypes statType;
private readonly float value;
bool lastState;
public override bool AllowClientSimulation => true;
public CharacterAbilityModifyStat(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement) : base(characterAbilityGroup, abilityElement)
{
statType = CharacterAbilityGroup.ParseStatType(abilityElement.GetAttributeString("stattype", ""), CharacterTalent.DebugIdentifier);
value = abilityElement.GetAttributeFloat("value", 0f);
}
protected override void VerifyState(bool conditionsMatched, float timeSinceLastUpdate)
{
if (conditionsMatched != lastState)
{
Character.ChangeStat(statType, conditionsMatched ? value : -value);
lastState = conditionsMatched;
}
}
}
}