Client LuaCsForBarotrauma
BarotraumaClient/ClientSource/Events/Missions/PirateMission.cs
2 
3 namespace Barotrauma
4 {
5  partial class PirateMission : Mission
6  {
7  public override bool DisplayAsCompleted => State > 1;
8  public override bool DisplayAsFailed => false;
9 
10  public override void ClientReadInitial(IReadMessage msg)
11  {
12  base.ClientReadInitial(msg);
13  // duplicate code from escortmission, should possibly be combined, though additional loot items might be added so maybe not
14  byte characterCount = msg.ReadByte();
15 
16  for (int i = 0; i < characterCount; i++)
17  {
18  characters.Add(Character.ReadSpawnData(msg));
19  ushort itemCount = msg.ReadUInt16();
20  for (int j = 0; j < itemCount; j++)
21  {
22  Item.ReadSpawnData(msg);
23  }
24  }
25  if (characters.Contains(null))
26  {
27  throw new System.Exception("Error in PirateMission.ClientReadInitial: character list contains null (mission: " + Prefab.Identifier + ")");
28  }
29 
30  if (characters.Count != characterCount)
31  {
32  throw new System.Exception("Error in PirateMission.ClientReadInitial: character count does not match the server count (" + characterCount + " != " + characters.Count + "mission: " + Prefab.Identifier + ")");
33  }
34  }
35  }
36 }
static Item ReadSpawnData(IReadMessage msg, bool spawn=true)
readonly Identifier Identifier
Definition: Prefab.cs:34