(7341d33ff) Fixed nullref exception if a fabricator finishes creating an item after the user has been removed.

This commit is contained in:
Joonas Rikkonen
2019-04-03 16:20:37 +03:00
parent b75db42253
commit 03f2444968
2 changed files with 5 additions and 10 deletions
@@ -110,7 +110,7 @@ namespace Barotrauma
{ {
get get
{ {
return collider[colliderIndex]; return collider == null ? null : collider[colliderIndex];
} }
} }
@@ -122,10 +122,10 @@ namespace Barotrauma
} }
set set
{ {
if (value == colliderIndex) return; if (value == colliderIndex || collider == null) return;
if (value >= collider.Count || value < 0) return; if (value >= collider.Count || value < 0) return;
if (collider[colliderIndex].height<collider[value].height) if (collider[colliderIndex].height < collider[value].height)
{ {
Vector2 pos1 = collider[colliderIndex].SimPosition; Vector2 pos1 = collider[colliderIndex].SimPosition;
pos1.Y -= collider[colliderIndex].height * ColliderHeightFromFloor; pos1.Y -= collider[colliderIndex].height * ColliderHeightFromFloor;
@@ -210,13 +210,8 @@ namespace Barotrauma.Items.Components
{ {
Entity.Spawner.AddToSpawnQueue(fabricatedItem.TargetItem, outputContainer.Inventory, fabricatedItem.TargetItem.Health * fabricatedItem.OutCondition); Entity.Spawner.AddToSpawnQueue(fabricatedItem.TargetItem, outputContainer.Inventory, fabricatedItem.TargetItem.Health * fabricatedItem.OutCondition);
} }
bool isNotClient = true; if ((GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer) && user != null && !user.Removed)
#if CLIENT
isNotClient = GameMain.Client == null;
#endif
if (isNotClient && user != null)
{ {
foreach (Skill skill in fabricatedItem.RequiredSkills) foreach (Skill skill in fabricatedItem.RequiredSkills)
{ {