private async Task HandleCharacterList(CharacterListRequest request)
        {
            var response      = new CharacterListResponse();
            var characterList = await ShardSession.GetCharacterList();

            // TODO: this equipment list obviously needs revisited once items are implemented
            var equipmentCount          = Enum.GetValues(typeof(EquipmentSlot)).Length;
            var equipmentDisplayIds     = new int[equipmentCount];
            var equipmentInventoryTypes = new byte[equipmentCount];

            foreach (var character in characterList)
            {
                response.AddCharacter(character.Id, character.Name, character.Race, character.Class, character.Sex, character.Skin, character.Face, character.HairStyle,
                                      character.HairColor, character.FacialHair, character.Level, character.ZoneId, character.MapId, character.Position, 0, 0, true, 0, 0, 0, 0, 0, equipmentDisplayIds, equipmentInventoryTypes);
            }

            ForwardPacket(response);
        }