public static async void OnCreateCharacter(WorldClient client, IPacketStream packet) { var createCharacterPacket = new CreateCharacterPacket(packet); using var database = DependencyContainer.Instance.Resolve <IDatabase>(); // Get number of user characters. var count = (byte)database.Charaters.Count(x => x.UserId == client.UserID); if (count == Constants.MaxCharacters - 1) { // Max number is reached. WorldPacketFactory.SendCreatedCharacter(client, false); } DbCharacter character = new DbCharacter() { Name = createCharacterPacket.CharacterName, Race = createCharacterPacket.Race, Mode = createCharacterPacket.Mode, Hair = createCharacterPacket.Hair, Face = createCharacterPacket.Face, Height = createCharacterPacket.Height, Class = createCharacterPacket.Class, Gender = createCharacterPacket.Gender, Level = 1, Slot = count, UserId = client.UserID }; await database.Charaters.CreateAsync(character); await database.CompleteAsync(); WorldPacketFactory.SendCreatedCharacter(client, true); }