35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
|
|
namespace Barotrauma.Abilities
|
|
{
|
|
class CharacterAbilityResetPermanentStat : CharacterAbility
|
|
{
|
|
private readonly Identifier statIdentifier;
|
|
public override bool AppliesEffectOnIntervalUpdate => true;
|
|
public override bool AllowClientSimulation => true;
|
|
|
|
public CharacterAbilityResetPermanentStat(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement) : base(characterAbilityGroup, abilityElement)
|
|
{
|
|
statIdentifier = abilityElement.GetAttributeIdentifier("statidentifier", Identifier.Empty);
|
|
if (statIdentifier.IsEmpty)
|
|
{
|
|
DebugConsole.ThrowError($"Error in talent {CharacterTalent.DebugIdentifier}, {nameof(CharacterAbilityResetPermanentStat)} - statIdentifier is empty.",
|
|
contentPackage: abilityElement.ContentPackage);
|
|
}
|
|
}
|
|
protected override void ApplyEffect(AbilityObject abilityObject)
|
|
{
|
|
ApplyEffectSpecific();
|
|
}
|
|
|
|
protected override void ApplyEffect()
|
|
{
|
|
ApplyEffectSpecific();
|
|
}
|
|
|
|
private void ApplyEffectSpecific()
|
|
{
|
|
Character?.Info.ResetSavedStatValue(statIdentifier);
|
|
}
|
|
}
|
|
}
|