Level generation fix: voronoiCell collision is disabled if any of it's edges intersects with any part of an alien ruin

+ SalvageMission attempts to place artifacts in artifact holders
This commit is contained in:
Regalis
2016-12-01 16:13:37 +02:00
parent bf88e2b8de
commit fada49d277
3 changed files with 31 additions and 5 deletions
@@ -54,6 +54,24 @@ namespace Barotrauma
item = new Item(itemPrefab, position, null);
item.MoveWithLevel = true;
item.body.FarseerBody.IsKinematic = true;
if (item.HasTag("alien"))
{
//try to find a nearby artifact holder (or any alien itemcontainer) and place the artifact inside it
foreach (Item it in Item.ItemList)
{
if (it.Submarine != null || !it.HasTag("alien")) continue;
if (Math.Abs(item.WorldPosition.X - it.WorldPosition.X) > 2000.0f) continue;
if (Math.Abs(item.WorldPosition.Y - it.WorldPosition.Y) > 2000.0f) continue;
var itemContainer = it.GetComponent<Items.Components.ItemContainer>();
if (itemContainer == null) continue;
itemContainer.Combine(item);
break;
}
}
}
public override void Update(float deltaTime)