Fixed monster/artifact events being out of sync between the server and the clients
This commit is contained in:
@@ -64,14 +64,14 @@ namespace Barotrauma
|
|||||||
var wayPoints = WayPoint.WayPointList.FindAll(wp => wp.Submarine==null);
|
var wayPoints = WayPoint.WayPointList.FindAll(wp => wp.Submarine==null);
|
||||||
if (wayPoints.Any())
|
if (wayPoints.Any())
|
||||||
{
|
{
|
||||||
WayPoint wp = wayPoints[Rand.Int(wayPoints.Count)];
|
WayPoint wp = wayPoints[Rand.Int(wayPoints.Count, false)];
|
||||||
|
|
||||||
pos = new Vector2(wp.Rect.X, wp.Rect.Y);
|
pos = new Vector2(wp.Rect.X, wp.Rect.Y);
|
||||||
pos += Rand.Vector(200.0f);
|
pos += Rand.Vector(200.0f, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pos = Rand.Vector(2000.0f);
|
pos = Rand.Vector(2000.0f, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -80,9 +80,9 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var prefab = prefabs[Rand.Int(prefabs.Count)];
|
var prefab = prefabs[Rand.Int(prefabs.Count, false)];
|
||||||
|
|
||||||
int amount = Rand.Range(prefab.SwarmMin, prefab.SwarmMax);
|
int amount = Rand.Range(prefab.SwarmMin, prefab.SwarmMax, false);
|
||||||
List<BackgroundCreature> swarmMembers = new List<BackgroundCreature>();
|
List<BackgroundCreature> swarmMembers = new List<BackgroundCreature>();
|
||||||
|
|
||||||
for (int n = 0; n < amount; n++)
|
for (int n = 0; n < amount; n++)
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ namespace Barotrauma
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WayPoint cargoSpawnPos = WayPoint.GetRandom(SpawnType.Cargo, null, Submarine.MainSub);
|
WayPoint cargoSpawnPos = WayPoint.GetRandom(SpawnType.Cargo, null, Submarine.MainSub, true);
|
||||||
if (cargoSpawnPos==null)
|
if (cargoSpawnPos==null)
|
||||||
{
|
{
|
||||||
DebugConsole.ThrowError("Couldn't spawn items for cargo mission, cargo spawnpoint not found");
|
DebugConsole.ThrowError("Couldn't spawn items for cargo mission, cargo spawnpoint not found");
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
rect = rectangle;
|
rect = rectangle;
|
||||||
|
|
||||||
OxygenPercentage = Rand.Range(90.0f, 100.0f, false);
|
OxygenPercentage = 100.0f;
|
||||||
|
|
||||||
fireSources = new List<FireSource>();
|
fireSources = new List<FireSource>();
|
||||||
|
|
||||||
|
|||||||
@@ -636,7 +636,7 @@ namespace Barotrauma
|
|||||||
if (!wayPoint2.linkedTo.Contains(this)) wayPoint2.linkedTo.Add(this);
|
if (!wayPoint2.linkedTo.Contains(this)) wayPoint2.linkedTo.Add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static WayPoint GetRandom(SpawnType spawnType = SpawnType.Human, Job assignedJob = null, Submarine sub = null)
|
public static WayPoint GetRandom(SpawnType spawnType = SpawnType.Human, Job assignedJob = null, Submarine sub = null, bool useSyncedRand = false)
|
||||||
{
|
{
|
||||||
List<WayPoint> wayPoints = new List<WayPoint>();
|
List<WayPoint> wayPoints = new List<WayPoint>();
|
||||||
|
|
||||||
@@ -651,7 +651,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (!wayPoints.Any()) return null;
|
if (!wayPoints.Any()) return null;
|
||||||
|
|
||||||
return wayPoints[Rand.Int(wayPoints.Count(), false)];
|
return wayPoints[Rand.Int(wayPoints.Count, !useSyncedRand)];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static WayPoint[] SelectCrewSpawnPoints(List<CharacterInfo> crew, Submarine submarine)
|
public static WayPoint[] SelectCrewSpawnPoints(List<CharacterInfo> crew, Submarine submarine)
|
||||||
|
|||||||
@@ -976,7 +976,7 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
var cargoRoom = cargoSpawnPos.CurrentHull;
|
var cargoRoom = cargoSpawnPos.CurrentHull;
|
||||||
Vector2 position = new Vector2(
|
Vector2 position = new Vector2(
|
||||||
cargoSpawnPos.Position.X + Rand.Range(-20.0f, 20.0f, false),
|
cargoSpawnPos.Position.X + Rand.Range(-20.0f, 20.0f),
|
||||||
cargoRoom.Rect.Y - cargoRoom.Rect.Height);
|
cargoRoom.Rect.Y - cargoRoom.Rect.Height);
|
||||||
|
|
||||||
foreach (string s in extraCargo.Keys)
|
foreach (string s in extraCargo.Keys)
|
||||||
|
|||||||
Reference in New Issue
Block a user