Unstable 0.17.0.0

This commit is contained in:
Markus Isberg
2022-02-26 02:43:01 +09:00
parent a83f375681
commit 3974067915
913 changed files with 32472 additions and 32364 deletions
@@ -6,32 +6,31 @@ namespace Barotrauma.Abilities
{
class CharacterAbilityUnlockTree : CharacterAbility
{
public CharacterAbilityUnlockTree(CharacterAbilityGroup characterAbilityGroup, XElement abilityElement) : base(characterAbilityGroup, abilityElement)
public CharacterAbilityUnlockTree(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement) : base(characterAbilityGroup, abilityElement)
{
}
public override void InitializeAbility(bool addingFirstTime)
{
if (!addingFirstTime) { return; }
if (!TalentTree.JobTalentTrees.TryGetValue(Character.Info.Job.Prefab.Identifier, out TalentTree talentTree)) { return; }
if (!TalentTree.JobTalentTrees.TryGet(Character.Info.Job.Prefab.Identifier, out TalentTree talentTree)) { return; }
var subTree = talentTree.TalentSubTrees.Find(t => t.TalentOptionStages.Any(ts => ts.Talents.Contains(CharacterTalent.Prefab)));
if (subTree == null) { return; }
subTree.ForceUnlock = true;
if (!addingFirstTime) { return; }
if (subTree != null)
foreach (var talentOption in subTree.TalentOptionStages)
{
subTree.ForceUnlock = true;
foreach (var talentOption in subTree.TalentOptionStages)
foreach (var talent in talentOption.Talents)
{
foreach (var talent in talentOption.Talents)
if (talent == CharacterTalent.Prefab) { continue; }
if (Character.GiveTalent(talent))
{
if (talent == CharacterTalent.Prefab) { continue; }
if (Character.GiveTalent(talent))
{
Character.Info.AdditionalTalentPoints++;
}
Character.Info.AdditionalTalentPoints++;
}
}
}
}
}
}
}