public static Packet AddConditions(this Packet packet, CreatureConditions conditions) { packet.PutULong((ulong)conditions.A); packet.PutULong((ulong)conditions.B); packet.PutULong((ulong)conditions.C); // [150100] New conditions list { packet.PutULong((ulong)conditions.D); } // [180300, NA169 (23.10.2013)] New conditions list { packet.PutULong((ulong)conditions.E); } // [190100, NA201 (14.02.2015)] New conditions list { packet.PutULong((ulong)conditions.F); } // [200100, NA229 (2016-06-16)] New conditions list { packet.PutULong((ulong)conditions.G); } // List of additional values for the conditions var extra = conditions.GetExtraList(); packet.PutInt(extra.Count); foreach (var e in extra) { packet.PutInt(e.Key); packet.PutString(e.Value.ToString()); } // [180100] ? (old: Zero Talent?) { // This might not be part of the conditions, but we need that // long in both cases (5209 and update). packet.PutLong(0); } return packet; }