v0.13.0.11
This commit is contained in:
@@ -490,6 +490,7 @@ namespace Barotrauma
|
||||
if (Level.Loaded.StartOutpost.DockedTo.Any())
|
||||
{
|
||||
var dockedSub = Level.Loaded.StartOutpost.DockedTo.FirstOrDefault();
|
||||
if (dockedSub == GameMain.NetworkMember?.RespawnManager?.RespawnShuttle) { return null; }
|
||||
return dockedSub.DockedTo.Contains(Submarine.MainSub) ? Submarine.MainSub : dockedSub;
|
||||
}
|
||||
|
||||
@@ -517,6 +518,7 @@ namespace Barotrauma
|
||||
if (Level.Loaded.EndOutpost.DockedTo.Any())
|
||||
{
|
||||
var dockedSub = Level.Loaded.EndOutpost.DockedTo.FirstOrDefault();
|
||||
if (dockedSub == GameMain.NetworkMember?.RespawnManager?.RespawnShuttle) { return null; }
|
||||
return dockedSub.DockedTo.Contains(Submarine.MainSub) ? Submarine.MainSub : dockedSub;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,6 +62,8 @@ namespace Barotrauma
|
||||
private string baseName;
|
||||
private int nameFormatIndex;
|
||||
|
||||
private LocationType addInitialMissionsForType;
|
||||
|
||||
public bool Discovered;
|
||||
|
||||
public readonly Dictionary<LocationTypeChange.Requirement, int> ProximityTimer = new Dictionary<LocationTypeChange.Requirement, int>();
|
||||
@@ -266,6 +268,7 @@ namespace Barotrauma
|
||||
if (locationType.Equals("lair", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
Type ??= LocationType.List.Find(lt => lt.Identifier.Equals("Abandoned", StringComparison.OrdinalIgnoreCase));
|
||||
addInitialMissionsForType = Type;
|
||||
}
|
||||
if (Type == null)
|
||||
{
|
||||
@@ -554,23 +557,37 @@ namespace Barotrauma
|
||||
public void InstantiateLoadedMissions(Map map)
|
||||
{
|
||||
availableMissions.Clear();
|
||||
if (loadedMissions == null || loadedMissions.None()) { return; }
|
||||
foreach (LoadedMission loadedMission in loadedMissions)
|
||||
{
|
||||
Location destination;
|
||||
if (loadedMission.DestinationIndex >= 0 && loadedMission.DestinationIndex < map.Locations.Count)
|
||||
if (loadedMissions != null && loadedMissions.Any())
|
||||
{
|
||||
foreach (LoadedMission loadedMission in loadedMissions)
|
||||
{
|
||||
destination = map.Locations[loadedMission.DestinationIndex];
|
||||
Location destination;
|
||||
if (loadedMission.DestinationIndex >= 0 && loadedMission.DestinationIndex < map.Locations.Count)
|
||||
{
|
||||
destination = map.Locations[loadedMission.DestinationIndex];
|
||||
}
|
||||
else
|
||||
{
|
||||
destination = Connections.First().OtherLocation(this);
|
||||
}
|
||||
var mission = loadedMission.MissionPrefab.Instantiate(new Location[] { this, destination });
|
||||
availableMissions.Add(mission);
|
||||
if (loadedMission.SelectedMission) { SelectedMission = mission; }
|
||||
}
|
||||
else
|
||||
{
|
||||
destination = Connections.First().OtherLocation(this);
|
||||
}
|
||||
var mission = loadedMission.MissionPrefab.Instantiate(new Location[] { this, destination });
|
||||
availableMissions.Add(mission);
|
||||
if (loadedMission.SelectedMission) { SelectedMission = mission; }
|
||||
loadedMissions = null;
|
||||
}
|
||||
if (addInitialMissionsForType != null)
|
||||
{
|
||||
if (addInitialMissionsForType.MissionIdentifiers.Any())
|
||||
{
|
||||
UnlockMissionByIdentifier(addInitialMissionsForType.MissionIdentifiers.GetRandom());
|
||||
}
|
||||
if (addInitialMissionsForType.MissionTags.Any())
|
||||
{
|
||||
UnlockMissionByTag(addInitialMissionsForType.MissionTags.GetRandom());
|
||||
}
|
||||
addInitialMissionsForType = null;
|
||||
}
|
||||
loadedMissions = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -522,7 +522,7 @@ namespace Barotrauma
|
||||
{
|
||||
allowedBiomes.Clear();
|
||||
allowedBiomes.AddRange(biomes.Where(b => b.AllowedZones.Contains(generationParams.DifficultyZones - i)));
|
||||
float zoneX = Width - zoneWidth * i;
|
||||
float zoneX = zoneWidth * (generationParams.DifficultyZones - i);
|
||||
|
||||
foreach (Location location in Locations)
|
||||
{
|
||||
|
||||
@@ -303,10 +303,10 @@ namespace Barotrauma.Networking
|
||||
RespawnShuttle.Velocity = Vector2.Zero;
|
||||
}
|
||||
|
||||
partial void RespawnCharactersProjSpecific();
|
||||
public void RespawnCharacters()
|
||||
partial void RespawnCharactersProjSpecific(Vector2? shuttlePos);
|
||||
public void RespawnCharacters(Vector2? shuttlePos)
|
||||
{
|
||||
RespawnCharactersProjSpecific();
|
||||
RespawnCharactersProjSpecific(shuttlePos);
|
||||
}
|
||||
|
||||
public Vector2 FindSpawnPos()
|
||||
|
||||
@@ -139,7 +139,21 @@ namespace Barotrauma.Steam
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
public static bool StoreStats()
|
||||
{
|
||||
if (!isInitialized || !Steamworks.SteamClient.IsValid) { return false; }
|
||||
DebugConsole.Log("Storing Steam stats...");
|
||||
bool success = Steamworks.SteamUserStats.StoreStats();
|
||||
if (!success)
|
||||
{
|
||||
#if DEBUG
|
||||
DebugConsole.NewMessage("Failed to store Steam stats.");
|
||||
#endif
|
||||
}
|
||||
return success;
|
||||
}
|
||||
|
||||
public static void Update(float deltaTime)
|
||||
{
|
||||
if (!isInitialized) { return; }
|
||||
|
||||
@@ -331,6 +331,9 @@ namespace Barotrauma
|
||||
}
|
||||
}
|
||||
|
||||
//make sure changed stats (kill count, kms traveled) get stored
|
||||
SteamManager.StoreStats();
|
||||
|
||||
if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return; }
|
||||
|
||||
foreach (Mission mission in gameSession.Missions)
|
||||
|
||||
@@ -87,6 +87,8 @@ namespace Barotrauma
|
||||
|
||||
public List<string> GetAll(string textTag)
|
||||
{
|
||||
if (textTag is null) { return null; }
|
||||
|
||||
if (!texts.TryGetValue(textTag.ToLowerInvariant(), out List<string> textList) || !textList.Any())
|
||||
{
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user