Build 0.17.15.0
This commit is contained in:
@@ -56,10 +56,9 @@ namespace Barotrauma.Items.Components
|
|||||||
ContentXElement spriteElement = limbElement.GetChildElement("sprite");
|
ContentXElement spriteElement = limbElement.GetChildElement("sprite");
|
||||||
if (spriteElement == null) { continue; }
|
if (spriteElement == null) { continue; }
|
||||||
|
|
||||||
string spritePath = spriteElement.GetAttribute("texture").Value;
|
ContentPath contentPath = spriteElement.GetAttributeContentPath("texture");
|
||||||
|
|
||||||
spritePath = characterInfo.ReplaceVars(spritePath);
|
|
||||||
|
|
||||||
|
string spritePath = characterInfo.ReplaceVars(contentPath.Value);
|
||||||
string fileName = Path.GetFileNameWithoutExtension(spritePath);
|
string fileName = Path.GetFileNameWithoutExtension(spritePath);
|
||||||
|
|
||||||
//go through the files in the directory to find a matching sprite
|
//go through the files in the directory to find a matching sprite
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ namespace Barotrauma
|
|||||||
visibleSubs.Clear();
|
visibleSubs.Clear();
|
||||||
foreach (Submarine sub in Loaded)
|
foreach (Submarine sub in Loaded)
|
||||||
{
|
{
|
||||||
if (sub.WorldPosition.Y < Level.MaxEntityDepth) { continue; }
|
if (Level.Loaded != null && sub.WorldPosition.Y < Level.MaxEntityDepth) { continue; }
|
||||||
|
|
||||||
int margin = 500;
|
int margin = 500;
|
||||||
Rectangle worldBorders = new Rectangle(
|
Rectangle worldBorders = new Rectangle(
|
||||||
|
|||||||
@@ -807,7 +807,7 @@ namespace Barotrauma
|
|||||||
float balanceContainerWidth = GameMain.IsSingleplayer ? 1 : 1 / 3f;
|
float balanceContainerWidth = GameMain.IsSingleplayer ? 1 : 1 / 3f;
|
||||||
var rt = new RectTransform(new Vector2(balanceContainerWidth, 1.0f), parent.RectTransform)
|
var rt = new RectTransform(new Vector2(balanceContainerWidth, 1.0f), parent.RectTransform)
|
||||||
{
|
{
|
||||||
MaxSize = new Point(120, int.MaxValue)
|
MaxSize = new Point(GUI.IntScale(GUI.AdjustForTextScale(120)), int.MaxValue)
|
||||||
};
|
};
|
||||||
var balanceContainer = new GUILayoutGroup(rt, childAnchor: Anchor.TopRight)
|
var balanceContainer = new GUILayoutGroup(rt, childAnchor: Anchor.TopRight)
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-2
@@ -73,11 +73,11 @@ namespace Barotrauma.Steam
|
|||||||
{
|
{
|
||||||
if (!SteamManager.IsInitialized) { return; }
|
if (!SteamManager.IsInitialized) { return; }
|
||||||
|
|
||||||
uint numSubscribedMods = Steamworks.SteamUGC.NumSubscribedItems;
|
uint numSubscribedMods = SteamManager.GetNumSubscribedItems();
|
||||||
if (numSubscribedMods == memSubscribedModCount) { return; }
|
if (numSubscribedMods == memSubscribedModCount) { return; }
|
||||||
memSubscribedModCount = numSubscribedMods;
|
memSubscribedModCount = numSubscribedMods;
|
||||||
|
|
||||||
var subscribedIds = Steamworks.SteamUGC.GetSubscribedItems().ToHashSet();
|
var subscribedIds = SteamManager.GetSubscribedItems().ToHashSet();
|
||||||
var installedIds = ContentPackageManager.WorkshopPackages.Select(p => p.SteamWorkshopId).ToHashSet();
|
var installedIds = ContentPackageManager.WorkshopPackages.Select(p => p.SteamWorkshopId).ToHashSet();
|
||||||
foreach (var id in subscribedIds.Where(id2 => !installedIds.Contains(id2)))
|
foreach (var id in subscribedIds.Where(id2 => !installedIds.Contains(id2)))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<RootNamespace>Barotrauma</RootNamespace>
|
<RootNamespace>Barotrauma</RootNamespace>
|
||||||
<Authors>FakeFish, Undertow Games</Authors>
|
<Authors>FakeFish, Undertow Games</Authors>
|
||||||
<Product>Barotrauma</Product>
|
<Product>Barotrauma</Product>
|
||||||
<Version>0.17.14.0</Version>
|
<Version>0.17.15.0</Version>
|
||||||
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<AssemblyName>Barotrauma</AssemblyName>
|
<AssemblyName>Barotrauma</AssemblyName>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<RootNamespace>Barotrauma</RootNamespace>
|
<RootNamespace>Barotrauma</RootNamespace>
|
||||||
<Authors>FakeFish, Undertow Games</Authors>
|
<Authors>FakeFish, Undertow Games</Authors>
|
||||||
<Product>Barotrauma</Product>
|
<Product>Barotrauma</Product>
|
||||||
<Version>0.17.14.0</Version>
|
<Version>0.17.15.0</Version>
|
||||||
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<AssemblyName>Barotrauma</AssemblyName>
|
<AssemblyName>Barotrauma</AssemblyName>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<RootNamespace>Barotrauma</RootNamespace>
|
<RootNamespace>Barotrauma</RootNamespace>
|
||||||
<Authors>FakeFish, Undertow Games</Authors>
|
<Authors>FakeFish, Undertow Games</Authors>
|
||||||
<Product>Barotrauma</Product>
|
<Product>Barotrauma</Product>
|
||||||
<Version>0.17.14.0</Version>
|
<Version>0.17.15.0</Version>
|
||||||
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<AssemblyName>Barotrauma</AssemblyName>
|
<AssemblyName>Barotrauma</AssemblyName>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<RootNamespace>Barotrauma</RootNamespace>
|
<RootNamespace>Barotrauma</RootNamespace>
|
||||||
<Authors>FakeFish, Undertow Games</Authors>
|
<Authors>FakeFish, Undertow Games</Authors>
|
||||||
<Product>Barotrauma Dedicated Server</Product>
|
<Product>Barotrauma Dedicated Server</Product>
|
||||||
<Version>0.17.14.0</Version>
|
<Version>0.17.15.0</Version>
|
||||||
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<AssemblyName>DedicatedServer</AssemblyName>
|
<AssemblyName>DedicatedServer</AssemblyName>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<RootNamespace>Barotrauma</RootNamespace>
|
<RootNamespace>Barotrauma</RootNamespace>
|
||||||
<Authors>FakeFish, Undertow Games</Authors>
|
<Authors>FakeFish, Undertow Games</Authors>
|
||||||
<Product>Barotrauma Dedicated Server</Product>
|
<Product>Barotrauma Dedicated Server</Product>
|
||||||
<Version>0.17.14.0</Version>
|
<Version>0.17.15.0</Version>
|
||||||
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<AssemblyName>DedicatedServer</AssemblyName>
|
<AssemblyName>DedicatedServer</AssemblyName>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<RootNamespace>Barotrauma</RootNamespace>
|
<RootNamespace>Barotrauma</RootNamespace>
|
||||||
<Authors>FakeFish, Undertow Games</Authors>
|
<Authors>FakeFish, Undertow Games</Authors>
|
||||||
<Product>Barotrauma Dedicated Server</Product>
|
<Product>Barotrauma Dedicated Server</Product>
|
||||||
<Version>0.17.14.0</Version>
|
<Version>0.17.15.0</Version>
|
||||||
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
<Copyright>Copyright © FakeFish 2018-2022</Copyright>
|
||||||
<Platforms>AnyCPU;x64</Platforms>
|
<Platforms>AnyCPU;x64</Platforms>
|
||||||
<AssemblyName>DedicatedServer</AssemblyName>
|
<AssemblyName>DedicatedServer</AssemblyName>
|
||||||
|
|||||||
@@ -57,8 +57,6 @@ namespace Barotrauma
|
|||||||
private readonly int speakerIndex;
|
private readonly int speakerIndex;
|
||||||
private readonly ImmutableHashSet<Identifier> allowedSpeakerTags;
|
private readonly ImmutableHashSet<Identifier> allowedSpeakerTags;
|
||||||
private readonly bool requireNextLine;
|
private readonly bool requireNextLine;
|
||||||
// used primarily for team1 characters interacting with escorted personnel (TODO: not used anywhere)
|
|
||||||
private readonly bool requireSight;
|
|
||||||
|
|
||||||
public NPCConversation(XElement element)
|
public NPCConversation(XElement element)
|
||||||
{
|
{
|
||||||
@@ -75,7 +73,6 @@ namespace Barotrauma
|
|||||||
|
|
||||||
Responses = element.Elements().Select(s => new NPCConversation(s)).ToImmutableArray();
|
Responses = element.Elements().Select(s => new NPCConversation(s)).ToImmutableArray();
|
||||||
requireNextLine = element.GetAttributeBool("requirenextline", false);
|
requireNextLine = element.GetAttributeBool("requirenextline", false);
|
||||||
requireSight = element.GetAttributeBool("requiresight", false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<Identifier> GetCurrentFlags(Character speaker)
|
private static List<Identifier> GetCurrentFlags(Character speaker)
|
||||||
@@ -162,23 +159,38 @@ namespace Barotrauma
|
|||||||
return currentFlags;
|
return currentFlags;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<NPCConversation> previousConversations = new List<NPCConversation>();
|
private static readonly List<NPCConversation> previousConversations = new List<NPCConversation>();
|
||||||
|
|
||||||
public static List<Pair<Character, string>> CreateRandom(List<Character> availableSpeakers)
|
public static List<(Character speaker, string line)> CreateRandom(List<Character> availableSpeakers)
|
||||||
{
|
{
|
||||||
Dictionary<int, Character> assignedSpeakers = new Dictionary<int, Character>();
|
Dictionary<int, Character> assignedSpeakers = new Dictionary<int, Character>();
|
||||||
List<Pair<Character, string>> lines = new List<Pair<Character, string>>();
|
List<(Character speaker, string line)> lines = new List<(Character speaker, string line)>();
|
||||||
|
|
||||||
|
var language = GameSettings.CurrentConfig.Language;
|
||||||
|
if (language != TextManager.DefaultLanguage && !NPCConversationCollection.Collections.ContainsKey(language))
|
||||||
|
{
|
||||||
|
DebugConsole.AddWarning($"Could not find NPC conversations for the language \"{language}\". Using \"{TextManager.DefaultLanguage}\" instead..");
|
||||||
|
language = TextManager.DefaultLanguage;
|
||||||
|
}
|
||||||
|
|
||||||
CreateConversation(availableSpeakers, assignedSpeakers, null, lines,
|
CreateConversation(availableSpeakers, assignedSpeakers, null, lines,
|
||||||
availableConversations: NPCConversationCollection.Collections[GameSettings.CurrentConfig.Language].SelectMany(cc => cc.Conversations).ToList());
|
availableConversations: NPCConversationCollection.Collections[language].SelectMany(cc => cc.Conversations).ToList());
|
||||||
return lines;
|
return lines;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Pair<Character, string>> CreateRandom(List<Character> availableSpeakers, IEnumerable<Identifier> requiredFlags)
|
public static List<(Character speaker, string line)> CreateRandom(List<Character> availableSpeakers, IEnumerable<Identifier> requiredFlags)
|
||||||
{
|
{
|
||||||
Dictionary<int, Character> assignedSpeakers = new Dictionary<int, Character>();
|
Dictionary<int, Character> assignedSpeakers = new Dictionary<int, Character>();
|
||||||
List<Pair<Character, string>> lines = new List<Pair<Character, string>>();
|
List<(Character speaker, string line)> lines = new List<(Character speaker, string line)>();
|
||||||
var availableConversations = NPCConversationCollection.Collections[GameSettings.CurrentConfig.Language]
|
|
||||||
|
var language = GameSettings.CurrentConfig.Language;
|
||||||
|
if (language != TextManager.DefaultLanguage && !NPCConversationCollection.Collections.ContainsKey(language))
|
||||||
|
{
|
||||||
|
DebugConsole.AddWarning($"Could not find NPC conversations for the language \"{language}\". Using \"{TextManager.DefaultLanguage}\" instead..");
|
||||||
|
language = TextManager.DefaultLanguage;
|
||||||
|
}
|
||||||
|
|
||||||
|
var availableConversations = NPCConversationCollection.Collections[language]
|
||||||
.SelectMany(cc => cc.Conversations.Where(c => requiredFlags.All(f => c.Flags.Contains(f)))).ToList();
|
.SelectMany(cc => cc.Conversations.Where(c => requiredFlags.All(f => c.Flags.Contains(f)))).ToList();
|
||||||
if (availableConversations.Count > 0)
|
if (availableConversations.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -191,7 +203,7 @@ namespace Barotrauma
|
|||||||
List<Character> availableSpeakers,
|
List<Character> availableSpeakers,
|
||||||
Dictionary<int, Character> assignedSpeakers,
|
Dictionary<int, Character> assignedSpeakers,
|
||||||
NPCConversation baseConversation,
|
NPCConversation baseConversation,
|
||||||
IList<Pair<Character, string>> lineList,
|
IList<(Character speaker, string line)> lineList,
|
||||||
IList<NPCConversation> availableConversations,
|
IList<NPCConversation> availableConversations,
|
||||||
bool ignoreFlags = false)
|
bool ignoreFlags = false)
|
||||||
{
|
{
|
||||||
@@ -271,7 +283,7 @@ namespace Barotrauma
|
|||||||
previousConversations.Insert(0, selectedConversation);
|
previousConversations.Insert(0, selectedConversation);
|
||||||
if (previousConversations.Count > MaxPreviousConversations) previousConversations.RemoveAt(MaxPreviousConversations);
|
if (previousConversations.Count > MaxPreviousConversations) previousConversations.RemoveAt(MaxPreviousConversations);
|
||||||
}
|
}
|
||||||
lineList.Add(new Pair<Character, string>(speaker, selectedConversation.Line));
|
lineList.Add((speaker, selectedConversation.Line));
|
||||||
CreateConversation(availableSpeakers, assignedSpeakers, selectedConversation, lineList, availableConversations);
|
CreateConversation(availableSpeakers, assignedSpeakers, selectedConversation, lineList, availableConversations);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2729,12 +2729,15 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (!Enabled) { return; }
|
if (!Enabled) { return; }
|
||||||
|
|
||||||
if (Level.Loaded != null && WorldPosition.Y < Level.MaxEntityDepth ||
|
if (Level.Loaded != null)
|
||||||
(Submarine != null && Submarine.WorldPosition.Y < Level.MaxEntityDepth))
|
|
||||||
{
|
{
|
||||||
Enabled = false;
|
if (WorldPosition.Y < Level.MaxEntityDepth ||
|
||||||
Kill(CauseOfDeathType.Pressure, null);
|
(Submarine != null && Submarine.WorldPosition.Y < Level.MaxEntityDepth))
|
||||||
return;
|
{
|
||||||
|
Enabled = false;
|
||||||
|
Kill(CauseOfDeathType.Pressure, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ApplyStatusEffects(ActionType.Always, deltaTime);
|
ApplyStatusEffects(ActionType.Always, deltaTime);
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace Barotrauma
|
namespace Barotrauma
|
||||||
@@ -12,7 +11,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public readonly List<string> AllowedDialogTags;
|
public readonly List<string> AllowedDialogTags;
|
||||||
|
|
||||||
private float commonness;
|
private readonly float commonness;
|
||||||
public float Commonness
|
public float Commonness
|
||||||
{
|
{
|
||||||
get { return commonness; }
|
get { return commonness; }
|
||||||
@@ -20,12 +19,22 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public static IEnumerable<NPCPersonalityTrait> GetAll(LanguageIdentifier language)
|
public static IEnumerable<NPCPersonalityTrait> GetAll(LanguageIdentifier language)
|
||||||
{
|
{
|
||||||
|
if (language != TextManager.DefaultLanguage && !NPCConversationCollection.Collections.ContainsKey(language))
|
||||||
|
{
|
||||||
|
DebugConsole.AddWarning($"Could not find NPC personality traits for the language \"{language}\". Using \"{TextManager.DefaultLanguage}\" instead..");
|
||||||
|
language = TextManager.DefaultLanguage;
|
||||||
|
}
|
||||||
return NPCConversationCollection.Collections[language]
|
return NPCConversationCollection.Collections[language]
|
||||||
.SelectMany(cc => cc.PersonalityTraits.Values);
|
.SelectMany(cc => cc.PersonalityTraits.Values);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static NPCPersonalityTrait Get(LanguageIdentifier language, Identifier traitName)
|
public static NPCPersonalityTrait Get(LanguageIdentifier language, Identifier traitName)
|
||||||
{
|
{
|
||||||
|
if (language != TextManager.DefaultLanguage && !NPCConversationCollection.Collections.ContainsKey(language))
|
||||||
|
{
|
||||||
|
DebugConsole.AddWarning($"Could not find NPC personality traits for the language \"{language}\". Using \"{TextManager.DefaultLanguage}\" instead..");
|
||||||
|
language = TextManager.DefaultLanguage;
|
||||||
|
}
|
||||||
return NPCConversationCollection.Collections[language]
|
return NPCConversationCollection.Collections[language]
|
||||||
.FirstOrDefault(cc => cc.PersonalityTraits.ContainsKey(traitName))
|
.FirstOrDefault(cc => cc.PersonalityTraits.ContainsKey(traitName))
|
||||||
.PersonalityTraits[traitName];
|
.PersonalityTraits[traitName];
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace Barotrauma
|
|||||||
const float ConversationIntervalMax = 180.0f;
|
const float ConversationIntervalMax = 180.0f;
|
||||||
const float ConversationIntervalMultiplierMultiplayer = 5.0f;
|
const float ConversationIntervalMultiplierMultiplayer = 5.0f;
|
||||||
private float conversationTimer, conversationLineTimer;
|
private float conversationTimer, conversationLineTimer;
|
||||||
private readonly List<Pair<Character, string>> pendingConversationLines = new List<Pair<Character, string>>();
|
private readonly List<(Character speaker, string line)> pendingConversationLines = new List<(Character speaker, string line)>();
|
||||||
|
|
||||||
public const int MaxCrewSize = 16;
|
public const int MaxCrewSize = 16;
|
||||||
|
|
||||||
@@ -339,7 +339,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
#region Dialog
|
#region Dialog
|
||||||
|
|
||||||
public void AddConversation(List<Pair<Character, string>> conversationLines)
|
public void AddConversation(List<(Character speaker, string line)> conversationLines)
|
||||||
{
|
{
|
||||||
if (conversationLines == null || conversationLines.Count == 0) { return; }
|
if (conversationLines == null || conversationLines.Count == 0) { return; }
|
||||||
pendingConversationLines.AddRange(conversationLines);
|
pendingConversationLines.AddRange(conversationLines);
|
||||||
@@ -428,16 +428,16 @@ namespace Barotrauma
|
|||||||
if (conversationLineTimer <= 0.0f)
|
if (conversationLineTimer <= 0.0f)
|
||||||
{
|
{
|
||||||
//speaker of the next line can't speak, interrupt the conversation
|
//speaker of the next line can't speak, interrupt the conversation
|
||||||
if (pendingConversationLines[0].First.SpeechImpediment >= 100.0f)
|
if (pendingConversationLines[0].speaker.SpeechImpediment >= 100.0f)
|
||||||
{
|
{
|
||||||
pendingConversationLines.Clear();
|
pendingConversationLines.Clear();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pendingConversationLines[0].First.Speak(pendingConversationLines[0].Second, null);
|
pendingConversationLines[0].speaker.Speak(pendingConversationLines[0].line, null);
|
||||||
if (pendingConversationLines.Count > 1)
|
if (pendingConversationLines.Count > 1)
|
||||||
{
|
{
|
||||||
conversationLineTimer = MathHelper.Clamp(pendingConversationLines[0].Second.Length * 0.1f, 1.0f, 5.0f);
|
conversationLineTimer = MathHelper.Clamp(pendingConversationLines[0].line.Length * 0.1f, 1.0f, 5.0f);
|
||||||
}
|
}
|
||||||
pendingConversationLines.RemoveAt(0);
|
pendingConversationLines.RemoveAt(0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1789,7 +1789,7 @@ namespace Barotrauma
|
|||||||
if (Math.Abs(body.LinearVelocity.X) > 0.01f || Math.Abs(body.LinearVelocity.Y) > 0.01f || transformDirty)
|
if (Math.Abs(body.LinearVelocity.X) > 0.01f || Math.Abs(body.LinearVelocity.Y) > 0.01f || transformDirty)
|
||||||
{
|
{
|
||||||
UpdateTransform();
|
UpdateTransform();
|
||||||
if (CurrentHull == null && body.SimPosition.Y < ConvertUnits.ToSimUnits(Level.MaxEntityDepth))
|
if (CurrentHull == null && Level.Loaded != null && body.SimPosition.Y < ConvertUnits.ToSimUnits(Level.MaxEntityDepth))
|
||||||
{
|
{
|
||||||
Spawner?.AddItemToRemoveQueue(this);
|
Spawner?.AddItemToRemoveQueue(this);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -8,10 +8,7 @@ using Microsoft.Xna.Framework;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Globalization;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Xml.Linq;
|
|
||||||
using Barotrauma.IO;
|
|
||||||
using Voronoi2;
|
using Voronoi2;
|
||||||
|
|
||||||
namespace Barotrauma
|
namespace Barotrauma
|
||||||
@@ -25,7 +22,7 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
|
|
||||||
//all entities are disabled after they reach this depth
|
//all entities are disabled after they reach this depth
|
||||||
public const int MaxEntityDepth = -300000;
|
public const int MaxEntityDepth = -1000000;
|
||||||
public const float ShaftHeight = 1000.0f;
|
public const float ShaftHeight = 1000.0f;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The level generator won't try to adjust the width of the main path above this limit.
|
/// The level generator won't try to adjust the width of the main path above this limit.
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
using Steamworks.Data;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -74,6 +75,24 @@ namespace Barotrauma.Steam
|
|||||||
return Steamworks.SteamClient.Name;
|
return Steamworks.SteamClient.Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static uint GetNumSubscribedItems()
|
||||||
|
{
|
||||||
|
if (!IsInitialized || !Steamworks.SteamClient.IsValid)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return Steamworks.SteamUGC.NumSubscribedItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PublishedFileId[] GetSubscribedItems()
|
||||||
|
{
|
||||||
|
if (!IsInitialized || !Steamworks.SteamClient.IsValid)
|
||||||
|
{
|
||||||
|
return new PublishedFileId[0];
|
||||||
|
}
|
||||||
|
return Steamworks.SteamUGC.GetSubscribedItems();
|
||||||
|
}
|
||||||
|
|
||||||
public static bool UnlockAchievement(string achievementIdentifier) =>
|
public static bool UnlockAchievement(string achievementIdentifier) =>
|
||||||
UnlockAchievement(achievementIdentifier.ToIdentifier());
|
UnlockAchievement(achievementIdentifier.ToIdentifier());
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ namespace Barotrauma
|
|||||||
#if DEBUG
|
#if DEBUG
|
||||||
if (!lStr.IsNullOrEmpty() && lStr.Contains("‖"))
|
if (!lStr.IsNullOrEmpty() && lStr.Contains("‖"))
|
||||||
{
|
{
|
||||||
if (Debugger.IsAttached) { Debugger.Break(); }
|
//if (Debugger.IsAttached) { Debugger.Break(); }
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return Plain(lStr ?? string.Empty);
|
return Plain(lStr ?? string.Empty);
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
v0.17.15.0
|
||||||
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Fixes:
|
||||||
|
- Fixed crashing if a custom language doesn't configure NPC personality traits or conversations.
|
||||||
|
- Fixed crashing when you try to disguise as someone else when using a mod that overrides the vanilla human config.
|
||||||
|
- Fixed characters getting instakilled if you dive too deep in the sub editor test mode.
|
||||||
|
|
||||||
---------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------
|
||||||
v0.17.14.0
|
v0.17.14.0
|
||||||
---------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user