Hotfix v0.18.12.0
This commit is contained in:
+1
-1
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ namespace Barotrauma.Networking
|
|||||||
{
|
{
|
||||||
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>
|
||||||
|
|||||||
+2
-1
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
---------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user