Client LuaCsForBarotrauma
CharacterAbilityGiveTalentPointsToAllies.cs
1 #nullable enable
2 
3 namespace Barotrauma.Abilities
4 {
5  internal sealed class CharacterAbilityGiveTalentPointsToAllies : CharacterAbility
6  {
7  private readonly int amount;
8 
9  public CharacterAbilityGiveTalentPointsToAllies(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement) : base(characterAbilityGroup, abilityElement)
10  {
11  amount = abilityElement.GetAttributeInt("amount", 0);
12  if (amount == 0)
13  {
14  DebugConsole.ThrowError($"Error in talent {CharacterTalent.DebugIdentifier}, amount of talent points to give is 0.",
15  contentPackage: abilityElement.ContentPackage);
16  }
17  }
18 
19  public override void InitializeAbility(bool addingFirstTime)
20  {
21  if (!addingFirstTime) { return; }
22 
23  foreach (Character character in GameSession.GetSessionCrewCharacters(CharacterType.Both))
24  {
25  if (character.Info is null) { return; }
26  character.Info.AdditionalTalentPoints += amount;
27  }
28  }
29  }
30 }
CharacterType
Definition: Enums.cs:685