Hotfix v0.18.12.0

This commit is contained in:
Regalis11
2022-06-17 16:10:25 +03:00
parent 41154b8bb3
commit 631e59e8b8
14 changed files with 56 additions and 17 deletions
@@ -251,7 +251,7 @@ namespace Barotrauma.Tutorials
yield return new WaitForSeconds(2.0f); yield return new WaitForSeconds(2.0f);
}*/ }*/
TriggerTutorialSegment(0, GameSettings.CurrentConfig.KeyMap.KeyBindText(InputType.Select), GameSettings.CurrentConfig.KeyMap.KeyBindText(InputType.Deselect)); // Medical supplies objective TriggerTutorialSegment(0, GameSettings.CurrentConfig.KeyMap.KeyBindText(InputType.Select), GameSettings.CurrentConfig.KeyMap.KeyBindText(InputType.Deselect), "None"); // Medical supplies objective
do do
{ {
@@ -405,13 +405,13 @@ namespace Barotrauma.Items.Components
float newVolume; float newVolume;
try try
{ {
newVolume = Math.Min(property.GetFloatValue(this), 1.0f); newVolume = property.GetFloatValue(this);
} }
catch catch
{ {
return 0.0f; return 0.0f;
} }
newVolume *= sound.VolumeMultiplier; newVolume = Math.Min(newVolume * sound.VolumeMultiplier, 1.0f);
if (!MathUtils.IsValid(newVolume)) if (!MathUtils.IsValid(newVolume))
{ {
@@ -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.18.11.0</Version> <Version>0.18.12.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>
+1 -1
View File
@@ -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.18.11.0</Version> <Version>0.18.12.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.18.11.0</Version> <Version>0.18.12.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.18.11.0</Version> <Version>0.18.12.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>
+1 -1
View File
@@ -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.18.11.0</Version> <Version>0.18.12.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>
@@ -19,7 +19,8 @@ namespace Barotrauma.Networking
if (Sender != null && c.InGame) if (Sender != null && c.InGame)
{ {
msg.Write(Sender.ID); msg.Write(Sender.ID);
} }
msg.Write(false); //text color (no custom text colors for order messages)
msg.WritePadBits(); msg.WritePadBits();
WriteOrder(msg); WriteOrder(msg);
} }
@@ -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.18.11.0</Version> <Version>0.18.12.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>
@@ -31,8 +31,9 @@ namespace Barotrauma
if (!pump.Item.IsInteractable(character)) { return false; } if (!pump.Item.IsInteractable(character)) { return false; }
if (pump.IsAutoControlled) { return false; } if (pump.IsAutoControlled) { return false; }
if (pump.Item.ConditionPercentage <= 0) { return false; } if (pump.Item.ConditionPercentage <= 0) { return false; }
if (pump.Item.CurrentHull == null) { return false; }
if (pump.Item.CurrentHull.FireSources.Count > 0) { return false; } if (pump.Item.CurrentHull.FireSources.Count > 0) { return false; }
if (character.Submarine != null) if (character.Submarine != null && pump.Item.Submarine != null)
{ {
if (!character.Submarine.IsConnectedTo(pump.Item.Submarine)) { return false; } if (!character.Submarine.IsConnectedTo(pump.Item.Submarine)) { return false; }
} }
@@ -1030,21 +1030,30 @@ namespace Barotrauma
/// <param name="hasAi">Is the character controlled by AI.</param> /// <param name="hasAi">Is the character controlled by AI.</param>
/// <param name="createNetworkEvent">Should clients receive a network event about the creation of this character?</param> /// <param name="createNetworkEvent">Should clients receive a network event about the creation of this character?</param>
/// <param name="ragdoll">Ragdoll configuration file. If null, will select the default.</param> /// <param name="ragdoll">Ragdoll configuration file. If null, will select the default.</param>
public static Character Create(string speciesName, Vector2 position, string seed, CharacterInfo characterInfo = null, ushort id = Entity.NullEntityID, bool isRemotePlayer = false, bool hasAi = true, bool createNetworkEvent = true, RagdollParams ragdoll = null) public static Character Create(string speciesName, Vector2 position, string seed, CharacterInfo characterInfo = null, ushort id = Entity.NullEntityID, bool isRemotePlayer = false, bool hasAi = true, bool createNetworkEvent = true, RagdollParams ragdoll = null, bool throwErrorIfNotFound = true)
{ {
if (speciesName.EndsWith(".xml", StringComparison.OrdinalIgnoreCase)) if (speciesName.EndsWith(".xml", StringComparison.OrdinalIgnoreCase))
{ {
speciesName = Path.GetFileNameWithoutExtension(speciesName); speciesName = Path.GetFileNameWithoutExtension(speciesName);
} }
return Create(speciesName.ToIdentifier(), position, seed, characterInfo, id, isRemotePlayer, hasAi, createNetworkEvent, ragdoll); return Create(speciesName.ToIdentifier(), position, seed, characterInfo, id, isRemotePlayer, hasAi, createNetworkEvent, ragdoll, throwErrorIfNotFound);
} }
public static Character Create(Identifier speciesName, Vector2 position, string seed, CharacterInfo characterInfo = null, ushort id = Entity.NullEntityID, bool isRemotePlayer = false, bool hasAi = true, bool createNetworkEvent = true, RagdollParams ragdoll = null) public static Character Create(Identifier speciesName, Vector2 position, string seed, CharacterInfo characterInfo = null, ushort id = Entity.NullEntityID, bool isRemotePlayer = false, bool hasAi = true, bool createNetworkEvent = true, RagdollParams ragdoll = null, bool throwErrorIfNotFound = true)
{ {
var prefab = CharacterPrefab.FindBySpeciesName(speciesName); var prefab = CharacterPrefab.FindBySpeciesName(speciesName);
if (prefab == null) if (prefab == null)
{ {
DebugConsole.ThrowError($"Failed to create character \"{speciesName}\". Matching prefab not found.\n" + Environment.StackTrace); string errorMsg = $"Failed to create character \"{speciesName}\". Matching prefab not found.\n" + Environment.StackTrace;
if (throwErrorIfNotFound)
{
DebugConsole.ThrowError(errorMsg);
}
else
{
DebugConsole.AddWarning(errorMsg);
}
return null; return null;
} }
return Create(prefab, position, seed, characterInfo, id, isRemotePlayer, hasAi, createNetworkEvent, ragdoll); return Create(prefab, position, seed, characterInfo, id, isRemotePlayer, hasAi, createNetworkEvent, ragdoll);
@@ -532,7 +532,13 @@ namespace Barotrauma
} }
} }
Character createdCharacter = Character.Create(SpeciesName, pos, seed, characterInfo: null, isRemotePlayer: false, hasAi: true, createNetworkEvent: true); Character createdCharacter = Character.Create(SpeciesName, pos, seed, characterInfo: null, isRemotePlayer: false, hasAi: true, createNetworkEvent: true, throwErrorIfNotFound: false);
if (createdCharacter == null)
{
disallowed = true;
return;
}
var eventManager = GameMain.GameSession.EventManager; var eventManager = GameMain.GameSession.EventManager;
if (eventManager != null) if (eventManager != null)
{ {
@@ -1,4 +1,5 @@
#nullable enable #nullable enable
using System;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Linq; using System.Linq;
@@ -18,7 +19,14 @@ namespace Barotrauma
public override void RetrieveValue() public override void RetrieveValue()
{ {
//TODO: possibly broken! //TODO: possibly broken!
cachedValue = string.Format(str.Value, subStrs.Select(s => s.Value as object).ToArray()); try
{
cachedValue = string.Format(str.Value, subStrs.Select(s => s.Value as object).ToArray());
}
catch (FormatException)
{
cachedValue = str.Value;
}
UpdateLanguage(); UpdateLanguage();
} }
} }
+14
View File
@@ -1,3 +1,17 @@
---------------------------------------------------------------------------------------------------------
v0.18.12.0
---------------------------------------------------------------------------------------------------------
- Fixed medical doctor tutorial throwing an error and freezing in most languages other than English.
- Fixed occasional disconnects with the error "the given key was not present in the dictionary" when giving orders or reporting things in multiplayer.
- Fixed occasional crashes caused by AIObjectivePumpWater.
- Fixed certain looping item sounds (oxygen generators, vents, reactor) being too quiet to hear.
- Fixed one of texts not appearing in the "captive souls" event.
- Fixed inability to fabricate rubber shells.
Modding:
- Fixed crashing when a MonsterEvent fails to find the character prefab.
--------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------
v0.18.11.0 v0.18.11.0
--------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------