v0.11.0.9

This commit is contained in:
Joonas Rikkonen
2020-12-09 16:34:16 +02:00
parent bbf06f0984
commit f433a7ba10
325 changed files with 13947 additions and 3652 deletions
@@ -107,7 +107,13 @@ namespace Barotrauma
if (initialEventSet != null)
{
pendingEventSets.Add(initialEventSet);
CreateEvents(initialEventSet);
int seed = ToolBox.StringToInt(level.Seed);
foreach (var previousEvent in level.LevelData.EventHistory)
{
seed ^= ToolBox.StringToInt(previousEvent.Identifier);
}
MTRandom rand = new MTRandom(seed);
CreateEvents(initialEventSet, rand);
}
if (level?.LevelData?.Type == LevelData.LevelType.Outpost)
@@ -325,7 +331,7 @@ namespace Barotrauma
return retVal;
}
private void CreateEvents(EventSet eventSet)
private void CreateEvents(EventSet eventSet, Random rand)
{
if (level == null) { return; }
int applyCount = 1;
@@ -343,13 +349,6 @@ namespace Barotrauma
{
if (eventSet.EventPrefabs.Count > 0)
{
int seed = ToolBox.StringToInt(level.Seed);
foreach (var previousEvent in level.LevelData.EventHistory)
{
seed |= ToolBox.StringToInt(previousEvent.Identifier);
}
MTRandom rand = new MTRandom(seed);
List<Pair<EventPrefab, float>> unusedEvents = new List<Pair<EventPrefab, float>>(eventSet.EventPrefabs);
for (int j = 0; j < eventSet.EventCount; j++)
{
@@ -357,6 +356,7 @@ namespace Barotrauma
if (eventPrefab != null)
{
var newEvent = eventPrefab.First.CreateInstance();
if (newEvent == null) { continue; }
newEvent.Init(true);
DebugConsole.Log("Initialized event " + newEvent.ToString());
if (!selectedEvents.ContainsKey(eventSet))
@@ -371,7 +371,7 @@ namespace Barotrauma
if (eventSet.ChildSets.Count > 0)
{
var newEventSet = SelectRandomEvents(eventSet.ChildSets);
if (newEventSet != null) { CreateEvents(newEventSet); }
if (newEventSet != null) { CreateEvents(newEventSet, rand); }
}
}
else
@@ -379,6 +379,7 @@ namespace Barotrauma
foreach (Pair<EventPrefab, float> eventPrefab in eventSet.EventPrefabs)
{
var newEvent = eventPrefab.First.CreateInstance();
if (newEvent == null) { continue; }
newEvent.Init(true);
DebugConsole.Log("Initialized event " + newEvent.ToString());
if (!selectedEvents.ContainsKey(eventSet))
@@ -390,7 +391,7 @@ namespace Barotrauma
foreach (EventSet childEventSet in eventSet.ChildSets)
{
CreateEvents(childEventSet);
CreateEvents(childEventSet, rand);
}
}
}