Faction Test 100.13.0.0

This commit is contained in:
Markus Isberg
2023-01-11 15:36:23 +02:00
parent 1650735468
commit caa5a2f762
145 changed files with 2100 additions and 1111 deletions
@@ -14,8 +14,9 @@ namespace Barotrauma
{
}
public CampaignMetadata(XElement element)
public void Load(XElement element)
{
data.Clear();
foreach (var subElement in element.Elements())
{
if (string.Equals(subElement.Name.ToString(), "data", StringComparison.InvariantCultureIgnoreCase))
@@ -27,7 +27,7 @@ namespace Barotrauma
/// Get what kind of affiliation this faction has towards the player depending on who they chose to side with via talents
/// </summary>
/// <returns></returns>
public static FactionAffiliation GetPlayerAffiliationStatus(Identifier identifier, ImmutableHashSet<Character>? characterList = null)
public static FactionAffiliation GetPlayerAffiliationStatus(Faction faction, ImmutableHashSet<Character>? characterList = null)
{
if (GameMain.GameSession?.Campaign?.Factions is not { } factions) { return FactionAffiliation.Neutral; }
@@ -37,23 +37,20 @@ namespace Barotrauma
{
if (character.Info is not { } info) { continue; }
foreach (Faction faction in factions)
foreach (Faction otherFaction in factions)
{
Identifier factionIdentifier = faction.Prefab.Identifier;
Identifier factionIdentifier = otherFaction.Prefab.Identifier;
if (info.GetSavedStatValue(StatTypes.Affiliation, factionIdentifier) > 0f)
{
return factionIdentifier == identifier
return factionIdentifier == faction.Prefab.Identifier
? FactionAffiliation.Positive
: FactionAffiliation.Negative;
}
}
}
return FactionAffiliation.Neutral;
}
public static FactionAffiliation GetPlayerAffiliationStatus(Faction faction, ImmutableHashSet<Character>? characterList = null) => GetPlayerAffiliationStatus(faction.Prefab.Identifier, characterList);
public override string ToString()
{
return $"{base.ToString()} ({Prefab?.Identifier.ToString() ?? "null"})";