Unstable 1.1.14.0

This commit is contained in:
Markus Isberg
2023-10-02 16:43:54 +03:00
parent 94f5a93a0c
commit cf8f0de659
606 changed files with 21906 additions and 11456 deletions
@@ -49,21 +49,35 @@ namespace Barotrauma.Items.Components
msg.WriteSingle(jointAxis.Y);
if (StickTarget.UserData is Structure structure)
{
msg.WriteByte((byte)StickTargetType.Structure);
msg.WriteUInt16(structure.ID);
int bodyIndex = structure.Bodies.IndexOf(StickTarget);
msg.WriteByte((byte)(bodyIndex == -1 ? 0 : bodyIndex));
}
else if (StickTarget.UserData is Entity entity)
else if (StickTarget.UserData is Item item)
{
msg.WriteUInt16(entity.ID);
msg.WriteByte((byte)StickTargetType.Item);
msg.WriteUInt16(item.ID);
}
else if (StickTarget.UserData is Submarine sub)
{
msg.WriteByte((byte)StickTargetType.Submarine);
msg.WriteUInt16(sub.ID);
}
else if (StickTarget.UserData is Limb limb)
{
msg.WriteByte((byte)StickTargetType.Limb);
msg.WriteUInt16(limb.character.ID);
msg.WriteByte((byte)Array.IndexOf(limb.character.AnimController.Limbs, limb));
}
else if (StickTarget.UserData is Voronoi2.VoronoiCell cell)
{
msg.WriteByte((byte)StickTargetType.LevelWall);
msg.WriteInt32(Level.Loaded.GetAllCells().IndexOf(cell));
}
else
{
msg.WriteByte((byte)StickTargetType.Unknown);
throw new NotImplementedException(StickTarget.UserData?.ToString() ?? "null" + " is not a valid projectile stick target.");
}
}