public PlayedCharacter(Bot bot, CharacterBaseInformations informations) { InformationLevel = MessageLevel.All;// MessageLevel.Warning | MessageLevel.Error; if (informations == null) { throw new ArgumentNullException("informations"); } Bot = bot; Id = informations.id; Level = informations.level; Name = informations.name; Breed = new Breeds.Breed(ObjectDataManager.Instance.Get <Breed>(informations.breed)); Look = informations.entityLook; Sex = informations.sex; Inventory = new Inventory(this); Stats = new Stats.PlayerStats(this); SpellsBook = new SpellsBook(this); SpellShortcuts = new SpellShortcutBar(this); GeneralShortcuts = new GeneralShortcutBar(this); m_jobs = new ObservableCollectionMT <Job>(); m_readOnlyJobs = new ReadOnlyObservableCollectionMT <Job>(m_jobs); m_emotes = new ObservableCollectionMT <Emoticon>(); m_readOnlyEmotes = new ReadOnlyObservableCollectionMT <Emoticon>(m_emotes); }
private void BasicCharactersListMessageHandler(DofusClient Client, BasicCharactersListMessage Message) { CharacterBaseInformations c = Message.Characters[0]; Client.Logger.Log("Connexion sur le personnage " + c.Name); Client.Send(new CharacterSelectionMessage(c.ObjectID)); }
public void Deserialize(IDataReader reader) { Characters = new CharacterBaseInformations[reader.ReadShort()]; for (var i = 0; i < Characters.Length; i++) { (Characters[i] = new CharacterBaseInformations()).Deserialize(reader); } }
public CharacterSelectedSuccessMessage( CharacterBaseInformations infos, bool isCollectingStats ) { Infos = infos; IsCollectingStats = isCollectingStats; }
protected override void serializeContent(ICustomDataWriter writer) { var characterInfos = new CharacterBaseInformations(); characterInfos.Initialize(Entity); characterInfos.Serialize(writer); writer.WriteBool(false); // Is collecting stats }
private void generateRandom(int count) { for (int i = 0; i < count; i++) { var charaInfo = new CharacterBaseInformations(); charaInfo.Initialize(CharacterGenerator.Instance.Generate()); Characters.Add(charaInfo); } }
private void generateEachClass() { foreach (var breed in CharacterGenerator.Instance.Breeds) { var charaInfo = new CharacterBaseInformations(); charaInfo.Initialize(CharacterGenerator.Instance.Generate(breed.Id)); Characters.Add(charaInfo); } }
public CharactersListEntry(CharacterBaseInformations entry) { Id = entry.id; Name = entry.name; Level = entry.level; Look = entry.entityLook; Breed = (PlayableBreedEnum)entry.breed; Sex = entry.sex; }
public static void SendCharactersListMessage(GameClient client, bool tutorial) { CharacterBaseInformations[] characterBaseInformations = new CharacterBaseInformations[client.Account.Characters.Count]; for (int i = 0; i < client.Account.Characters.Count; i++) { characterBaseInformations[i] = new CharacterBaseInformations(client.Account.Characters[i].Id, client.Account.Characters[i].Name, client.Account.Characters[i].Level, Functions.BuildEntityLook(client.Account.Characters[i].EntityLookString), (sbyte)client.Account.Characters[i].Breed, client.Account.Characters[i].Sex); } client.Send(new CharactersListMessage(false, tutorial, characterBaseInformations)); }
public override void Deserialize(IDataReader reader) { uint num = (uint) reader.ReadUShort(); for (int index = 0; (long) index < (long) num; ++index) { CharacterBaseInformations instance = ProtocolTypeManager.GetInstance<CharacterBaseInformations>((uint) reader.ReadUShort()); instance.Deserialize(reader); this.characters.Add(instance); } }
internal void Update(CharacterSelectedSuccessMessage packet) { CharacterBaseInformations message = (CharacterBaseInformations)packet.infos; ContextualId = message.id; Name = message.name; Breed = (BreedEnum)message.breed; Level = message.level; Sex = (SexEnum)Convert.ToInt16(message.sex); }
public override void Serialize(IDataWriter writer) { writer.WriteShort((short)((int)this.characters.Length)); CharacterBaseInformations[] characterBaseInformationsArray = this.characters; for (int i = 0; i < (int)characterBaseInformationsArray.Length; i++) { CharacterBaseInformations characterBaseInformation = characterBaseInformationsArray[i]; writer.WriteShort(characterBaseInformation.TypeId); characterBaseInformation.Serialize(writer); } }
public override void Deserialize(IDataReader reader) { var limit = reader.ReadShort(); var characters_ = new CharacterBaseInformations[limit]; for (int i = 0; i < limit; i++) { characters_[i] = Types.ProtocolTypeManager.GetInstance <CharacterBaseInformations>(reader.ReadShort()); characters_[i].Deserialize(reader); } characters = characters_; }
public override void Serialize(IDataWriter writer) { writer.WriteShort(((short)(Characters.Count))); int charactersIndex; for (charactersIndex = 0; (charactersIndex < Characters.Count); charactersIndex = (charactersIndex + 1)) { CharacterBaseInformations objectToSend = Characters[charactersIndex]; writer.WriteUShort(((ushort)(objectToSend.TypeID))); objectToSend.Serialize(writer); } }
public override void Deserialize(IDataReader reader) { int charactersCount = reader.ReadUShort(); Characters = new List <CharacterBaseInformations>(); for (int i = 0; i < charactersCount; i++) { CharacterBaseInformations objectToAdd = ProtocolManager.GetTypeInstance <CharacterBaseInformations>(reader.ReadUShort()); objectToAdd.Deserialize(reader); Characters.Add(objectToAdd); } }
public override void Deserialize(ICustomDataInput reader) { var countCharacters = reader.ReadShort(); Characters = new List <CharacterBaseInformations>(); for (short i = 0; i < countCharacters; i++) { var characterstypeId = reader.ReadShort(); CharacterBaseInformations type = new CharacterBaseInformations(); type.Deserialize(reader); Characters.Add(type); } }
public PlayedCharacter(Bot bot, CharacterBaseInformations informations) { if (informations == null) { throw new ArgumentNullException("informations"); } Bot = bot; Id = informations.id; Level = informations.level; Name = informations.name; Breed = DataProvider.Instance.Get <Breed>(informations.breed); Look = informations.entityLook; Sex = informations.sex; Inventory = new Inventory(this); Stats = new Stats.PlayerStats(this); SpellsBook = new SpellsBook(this); Shortcuts = new ShortcutBar(this); Jobs = new List <Job>(); Emotes = new List <Emoticon>(); }
public static void HandleCharacterCreation(BigEndianReader reader, WorldClient client, WorldServer server) { try { CharacterCreationRequestMessage message = new CharacterCreationRequestMessage(); message.Unpack(reader); client.Send(new CharacterCreationResultMessage(0)); Thread.Sleep(1000); int y = 0; int[] colors = new int[5]; foreach (int x in message.colors) { if (y < 5 && x != -1) { colors[y] = (y + 1 & 255) << 24 | x & 16777215; //((nb & 255) << 24 | color & 16777215) y++; } else { break; } } for (int x = 0; x < colors.Length; x++) { Out.Debug(colors[x].ToString(), "Colors"); } //x => x.Key << 24 | x.Value.ToArgb() & 0xFFFFFF int style = message.breed * 10; if (message.sex) { style++; } Char = new CharacterBaseInformations( 1, 200, message.name, new EntityLook(1, new short[] { (short)style }, colors, new short[] { 125 }, new SubEntity[] { }), message.breed, message.sex); IEnumerable <CharacterBaseInformations> chars = new List <CharacterBaseInformations>() { Char }; client.Send(new CharactersListMessage(false, chars)); } catch (Exception e) { Out.Error(e.Message); } //var_character = //{ // Level = 1, // Name = message.name, // Breed = message.breed, // Sex = message.sex, // EntityLook = EntityManager.Instance.BuildEntityLook(message.breed, message.sex, message.colors.ToList()), // MapId = BreedManager.Instance.GetStartMap(message.breed), // CellId = BreedManager.Instance.GetStartCell(message.breed), // Direction = BreedManager.Instance.GetStartDirection(message.breed), // SpellsPoints = 1 //}; }
public CharacterSelectedSuccessMessage(CharacterBaseInformations Infos, bool IsCollectingStats) { this.Infos = Infos; this.IsCollectingStats = IsCollectingStats; }
public override void Deserialize(ICustomDataInput reader) { this.infos = new CharacterBaseInformations(); this.infos.Deserialize(reader); this.isCollectingStats = reader.ReadBoolean(); }
public static object GetInstance(uint typeId) { object obj = null; switch (typeId) { case 11: obj = new Types.Version(); break; case 25: obj = new GameServerInformations(); break; case 55: obj = new EntityLook(); break; case 54: obj = new SubEntity(); break; case 110: obj = new CharacterMinimalInformations(); break; case 163: obj = new CharacterMinimalPlusLookInformations(); break; case 193: obj = new CharacterMinimalPlusLookAndGradeInformations(); break; case 45: obj = new CharacterBaseInformations(); break; case 212: obj = new CharacterToRecolorInformation(); break; case 86: obj = new CharacterHardcoreInformations(); break; case 63: obj = new EntityMovementInformations(); break; case 60: obj = new EntityDispositionInformations(); break; case 107: obj = new IdentifiedEntityDispositionInformations(); break; case 217: obj = new FightEntityDispositionInformations(); break; case 127: obj = new GuildInformations(); break; case 204: obj = new ActorRestrictionsInformations(); break; case 201: obj = new ActorAlignmentInformations(); break; case 183: obj = new PaddockContentInformations(); break; case 184: obj = new MountInformationsForPaddock(); break; case 202: obj = new ActorExtendedAlignmentInformations(); break; case 135: obj = new AlignmentBonusInformations(); break; case 142: obj = new PrismSubAreaInformation(); break; case 152: obj = new PrismConquestInformation(); break; case 187: obj = new TaxCollectorName(); break; case 96: obj = new TaxCollectorBasicInformations(); break; case 4: obj = new CharacterBaseCharacteristic(); break; case 215: obj = new CharacterSpellModification(); break; case 8: obj = new CharacterCharacteristicsInformations(); break; case 117: obj = new FightExternalInformations(); break; case 43: obj = new FightCommonInformations(); break; case 44: obj = new FightTeamMemberInformations(); break; case 13: obj = new FightTeamMemberCharacterInformations(); break; case 6: obj = new FightTeamMemberMonsterInformations(); break; case 177: obj = new FightTeamMemberTaxCollectorInformations(); break; case 20: obj = new FightOptionsInformations(); break; case 116: obj = new AbstractFightTeamInformations(); break; case 33: obj = new FightTeamInformations(); break; case 115: obj = new FightTeamLightInformations(); break; case 31: obj = new GameFightMinimalStats(); break; case 41: obj = new FightLoot(); break; case 16: obj = new FightResultListEntry(); break; case 189: obj = new FightResultFighterListEntry(); break; case 191: obj = new FightResultAdditionalData(); break; case 192: obj = new FightResultExperienceData(); break; case 190: obj = new FightResultPvpData(); break; case 24: obj = new FightResultPlayerListEntry(); break; case 216: obj = new FightResultMutantListEntry(); break; case 84: obj = new FightResultTaxCollectorListEntry(); break; case 206: obj = new AbstractFightDispellableEffect(); break; case 208: obj = new FightDispellableEffectExtendedInformations(); break; case 209: obj = new FightTemporaryBoostEffect(); break; case 210: obj = new FightTriggeredEffect(); break; case 207: obj = new FightTemporarySpellBoostEffect(); break; case 211: obj = new FightTemporaryBoostWeaponDamagesEffect(); break; case 214: obj = new FightTemporaryBoostStateEffect(); break; case 205: obj = new GameFightSpellCooldown(); break; case 7: obj = new Item(); break; case 49: obj = new SpellItem(); break; case 76: obj = new ObjectEffect(); break; case 74: obj = new ObjectEffectString(); break; case 70: obj = new ObjectEffectInteger(); break; case 82: obj = new ObjectEffectMinMax(); break; case 73: obj = new ObjectEffectDice(); break; case 72: obj = new ObjectEffectDate(); break; case 75: obj = new ObjectEffectDuration(); break; case 71: obj = new ObjectEffectCreature(); break; case 81: obj = new ObjectEffectLadder(); break; case 179: obj = new ObjectEffectMount(); break; case 178: obj = new MountClientData(); break; case 168: obj = new ItemDurability(); break; case 85: obj = new GameActionMarkedCell(); break; case 123: obj = new GoldItem(); break; case 124: obj = new ObjectItemMinimalInformation(); break; case 119: obj = new ObjectItemQuantity(); break; case 134: obj = new ObjectItemNotInContainer(); break; case 37: obj = new ObjectItem(); break; case 120: obj = new ObjectItemToSell(); break; case 164: obj = new ObjectItemToSellInBid(); break; case 198: obj = new ObjectItemInRolePlay(); break; case 197: obj = new ObjectItemWithLookInRolePlay(); break; case 199: obj = new OrientedObjectItemWithLookInRolePlay(); break; case 185: obj = new PaddockItem(); break; case 121: obj = new SellerBuyerDescriptor(); break; case 122: obj = new BidExchangerObjectInfo(); break; case 52: obj = new StartupActionAddObject(); break; case 106: obj = new IgnoredInformations(); break; case 105: obj = new IgnoredOnlineInformations(); break; case 78: obj = new FriendInformations(); break; case 92: obj = new FriendOnlineInformations(); break; case 77: obj = new FriendSpouseInformations(); break; case 93: obj = new FriendSpouseOnlineInformations(); break; case 88: obj = new GuildMember(); break; case 87: obj = new GuildEmblem(); break; case 80: obj = new InteractiveElement(); break; case 108: obj = new StatedElement(); break; case 200: obj = new MapObstacle(); break; case 213: obj = new PartyUpdateCommonsInformations(); break; case 90: obj = new PartyMemberInformations(); break; case 97: obj = new JobCrafterDirectorySettings(); break; case 194: obj = new JobCrafterDirectoryEntryPlayerInfo(); break; case 195: obj = new JobCrafterDirectoryEntryJobInfo(); break; case 196: obj = new JobCrafterDirectoryListEntry(); break; case 101: obj = new JobDescription(); break; case 102: obj = new SkillActionDescription(); break; case 103: obj = new SkillActionDescriptionTimed(); break; case 99: obj = new SkillActionDescriptionCollect(); break; case 100: obj = new SkillActionDescriptionCraft(); break; case 104: obj = new SkillActionDescriptionCraftExtended(); break; case 98: obj = new JobExperience(); break; case 111: obj = new HouseInformations(); break; case 112: obj = new HouseInformationsExtended(); break; case 170: obj = new HouseInformationsForGuild(); break; case 132: obj = new PaddockInformations(); break; case 130: obj = new PaddockBuyableInformations(); break; case 133: obj = new PaddockAbandonnedInformations(); break; case 131: obj = new PaddockPrivateInformations(); break; case 150: obj = new GameContextActorInformations(); break; case 141: obj = new GameRolePlayActorInformations(); break; case 157: obj = new HumanInformations(); break; case 153: obj = new HumanWithGuildInformations(); break; case 154: obj = new GameRolePlayNamedActorInformations(); break; case 159: obj = new GameRolePlayHumanoidInformations(); break; case 36: obj = new GameRolePlayCharacterInformations(); break; case 3: obj = new GameRolePlayMutantInformations(); break; case 129: obj = new GameRolePlayMerchantInformations(); break; case 146: obj = new GameRolePlayMerchantWithGuildInformations(); break; case 180: obj = new GameRolePlayMountInformations(); break; case 147: obj = new TaxCollectorStaticInformations(); break; case 148: obj = new GameRolePlayTaxCollectorInformations(); break; case 167: obj = new TaxCollectorInformations(); break; case 166: obj = new TaxCollectorInformationsInWaitForHelpState(); break; case 186: obj = new ProtectedEntityWaitingForHelpInfo(); break; case 169: obj = new TaxCollectorFightersInformation(); break; case 165: obj = new AdditionalTaxCollectorInformations(); break; case 144: obj = new MonsterInGroupInformations(); break; case 140: obj = new GroupMonsterStaticInformations(); break; case 160: obj = new GameRolePlayGroupMonsterInformations(); break; case 155: obj = new NpcStaticInformations(); break; case 156: obj = new GameRolePlayNpcInformations(); break; case 161: obj = new GameRolePlayPrismInformations(); break; case 143: obj = new GameFightFighterInformations(); break; case 158: obj = new GameFightFighterNamedInformations(); break; case 46: obj = new GameFightCharacterInformations(); break; case 50: obj = new GameFightMutantInformations(); break; case 151: obj = new GameFightAIInformations(); break; case 29: obj = new GameFightMonsterInformations(); break; case 203: obj = new GameFightMonsterWithAlignmentInformations(); break; case 48: obj = new GameFightTaxCollectorInformations(); break; case 174: obj = new MapCoordinates(); break; case 176: obj = new MapCoordinatesExtended(); break; case 175: obj = new AtlasPointsInformations(); break; default: throw new Exception("Type with id " + typeId + " is unknown."); } return(obj); }
public override void Deserialize(IDataReader reader) { m_infos = new CharacterBaseInformations(); m_infos.Deserialize(reader); m_isCollectingStats = reader.ReadBoolean(); }
public static void HandleCharacterRemove(BigEndianReader reader, WorldClient client, WorldServer server) { Char = null; client.Send(new CharactersListMessage(false, new List <CharacterBaseInformations>())); }
public CharacterSelectedSuccessMessage(CharacterBaseInformations infos = null) { Infos = infos; }
public void Deserialize(IDataReader reader) { Infos = new CharacterBaseInformations(); Infos.Deserialize(reader); IsCollectingStats = reader.ReadBoolean(); }
public override void Deserialize(IDataReader reader) { infos = new CharacterBaseInformations(); infos.Deserialize(reader); }
public CharacterSelectedSuccessMessage(CharacterBaseInformations infos) { this.infos = infos; }
public void OnReceivedPacket(object source, PacketEventArg e) { ServerPacketEnum PacketType = (ServerPacketEnum)e.Packet.MessageID; switch (PacketType) { case ServerPacketEnum.ProtocolRequired: break; case ServerPacketEnum.CredentialsAcknowledgementMessage: break; case ServerPacketEnum.BasicAckMessage: break; case ServerPacketEnum.TextInformationMessage: TextInformationMessage text = (TextInformationMessage)e.Packet; Log(LogMessageType.Arena, ((TextInformationTypeEnum)text.MsgType).ToString() + "ID = " + text.MsgId); for (int i = 0; i < text.Parameters.Count; i++) { string t = text.Parameters[i]; Log(LogMessageType.Arena, "Parameter[" + i + "] " + t); } break; case ServerPacketEnum.HelloGameMessage: Log(LogMessageType.Info, "Connecté au serveur de jeu."); HelloGameMessage helloGame = (HelloGameMessage)e.Packet; AuthenticationTicketMessage ATM = new AuthenticationTicketMessage("fr", _ticket.ToString()); _GameSocket.Send(ATM); break; case ServerPacketEnum.RawDataMessage: List <int> tt = new List <int>(); for (int i = 0; i <= 255; i++) { Random random = new Random(); int test = random.Next(-127, 127); } CheckIntegrityMessage rawData = new CheckIntegrityMessage(tt); _GameSocket.Send(rawData); break; case ServerPacketEnum.HelloConnectMessage: Log(LogMessageType.Info, "Connecté au serveur d'authentification."); HelloConnectMessage helloConnectMessage = (HelloConnectMessage)e.Packet; sbyte[] credentials = RSA.RSAKey.Encrypt(helloConnectMessage.key, accountNameTextField.Text, accountPasswordTextField.Text, helloConnectMessage.salt); VersionExtended version = new VersionExtended(2, 41, 1, 120264, 1, (sbyte)BuildTypeEnum.RELEASE, 1, 1); IdentificationMessage idm = new IdentificationMessage(autoConnectCheckBox.Checked, false, false, version, "fr", credentials, 0, 0, new ushort[0]); Log(LogMessageType.Info, "Envois des informations d'identification..."); _ServerSocket.Send(idm); break; case ServerPacketEnum.LoginQueueStatusMessage: LoginQueueStatusMessage loginQueueStatusMessage = (LoginQueueStatusMessage)e.Packet; if (loginQueueStatusMessage.Position != 0 && loginQueueStatusMessage.Total != 0) { Log(LogMessageType.Info, "Vous êtes en position " + loginQueueStatusMessage.Position + " sur " + loginQueueStatusMessage.Total + " dans la file d'attente."); } break; case ServerPacketEnum.CurrentMapMessage: CurrentMapMessage currentMap = (CurrentMapMessage)e.Packet; _GameSocket.Send(new MapInformationsRequestMessage(currentMap.MapId)); break; case ServerPacketEnum.QueueStatusMessage: QueueStatusMessage queueStatusMessage = (QueueStatusMessage)e.Packet; if (queueStatusMessage.Position != 0 && queueStatusMessage.Total != 0) { Log(LogMessageType.Info, "Vous êtes en position " + queueStatusMessage.Position + " sur " + queueStatusMessage.Total + " dans la file d'attente."); } break; case ServerPacketEnum.IdentificationFailedMessage: IdentificationFailedMessage msg = (IdentificationFailedMessage)e.Packet; Log(LogMessageType.Public, "Identification échouée !"); Log(LogMessageType.Public, ((IdentificationFailureReasonEnum)msg.Reason).ToString()); DisconnectHandler(); break; case ServerPacketEnum.IdentificationSuccessMessage: break; case ServerPacketEnum.ServerListMessage: ServersListMessage servers = (ServersListMessage)e.Packet; foreach (GameServerInformations i in servers.Servers) { if (i.CharactersCount > 0 && i.IsSelectable && (ServerStatusEnum)i.Status == ServerStatusEnum.ONLINE) { _ServerSocket.Send(new ServerSelectionMessage(i.ObjectID)); break; } } break; case ServerPacketEnum.SelectedServerDataMessage: SelectedServerDataMessage selected = (SelectedServerDataMessage)e.Packet; Log(LogMessageType.Info, "Connexion au serveur " + (ServerNameEnum)selected.ServerId + "..."); _ticket = AES.AES.TicketTrans(selected.Ticket); _GameSocket = new DofusBotSocket(_deserializer, new IPEndPoint(IPAddress.Parse(selected.Address), selected.Port)); Log(LogMessageType.Info, "Connexion en cours <" + selected.Address + ":" + selected.Port + ">"); _GameSocket.ConnectEndListen(); _ServerSocket.CloseSocket(); _ServerSocket = null; break; case ServerPacketEnum.SelectedServerDataExtendedMessage: SelectedServerDataExtendedMessage selectedExtended = (SelectedServerDataExtendedMessage)e.Packet; Log(LogMessageType.Info, "Connecté au serveur : " + (ServerNameEnum)selectedExtended.ServerId + "..."); _ticket = AES.AES.TicketTrans(selectedExtended.Ticket); _GameSocket = new DofusBotSocket(_deserializer, new IPEndPoint(IPAddress.Parse(selectedExtended.Address), selectedExtended.Port)); Log(LogMessageType.Info, "Connexion en cours <" + selectedExtended.Address + ":" + selectedExtended.Port + ">"); _GameSocket.ConnectEndListen(); _ServerSocket.CloseSocket(); _ServerSocket = null; break; case ServerPacketEnum.AuthenticationTicketAcceptedMessage: AuthenticationTicketAcceptedMessage accepted = (AuthenticationTicketAcceptedMessage)e.Packet; Thread.Sleep(500); _GameSocket.Send(new CharactersListRequestMessage()); break; case ServerPacketEnum.AuthenticationTicketRefusedMessage: break; case ServerPacketEnum.GameContextCreateMessage: break; case ServerPacketEnum.SetCharacterRestrictionsMessage: break; case ServerPacketEnum.BasicNoOperationMessage: break; case ServerPacketEnum.NotificationListMessage: break; case ServerPacketEnum.CharacterSelectedSuccessMessage: break; case ServerPacketEnum.InventoryContentMessage: InventoryContentMessage inventory = (InventoryContentMessage)e.Packet; Invoke((MethodInvoker) delegate { kamasLabel.Text = inventory.Kamas.ToString(); }); break; case ServerPacketEnum.SetUpdateMessage: break; case ServerPacketEnum.ShortcutBarContentMessage: break; case ServerPacketEnum.RoomAvailableUpdateMessage: break; case ServerPacketEnum.HavenBagPackListMessage: break; case ServerPacketEnum.EmoteListMessage: break; case ServerPacketEnum.JobDescriptionMessage: JobDescriptionMessage jobs = (JobDescriptionMessage)e.Packet; foreach (JobDescription j in jobs.JobsDescription) { foreach (SkillActionDescription s in j.Skills) { //Log(LogMessageType.Noob, "Métier: " + j.JobId + " | Skill: " + s.SkillId); } } break; case ServerPacketEnum.JobExperienceMultiUpdateMessage: break; case ServerPacketEnum.JobCrafterDirectorySettingsMessage: break; case ServerPacketEnum.AlignmentRankUpdateMessage: break; case ServerPacketEnum.ServerExperienceModificatorMessage: break; case ServerPacketEnum.DareCreatedListMessage: break; case ServerPacketEnum.AlmanachCalendarDateMessage: break; case ServerPacketEnum.CharacterCapabilitiesMessage: break; case ServerPacketEnum.GameRolePlayArenaUpdatePlayerInfosAllQueuesMessage: break; case ServerPacketEnum.AchievementListMessage: break; case ServerPacketEnum.BasicLatencyStatsRequestMessage: break; case ServerPacketEnum.GameContextRemoveElementMessage: break; case ServerPacketEnum.GameMapChangeOrientationMessage: break; case ServerPacketEnum.GameRolePlayShowActorMessage: break; case ServerPacketEnum.SpouseStatusMessage: break; case ServerPacketEnum.SequenceNumberRequestMessage: break; case ServerPacketEnum.GuildMemberWarnOnConnectionStateMessage: break; case ServerPacketEnum.WarnOnPermaDeathStateMessage: break; case ServerPacketEnum.FriendGuildWarnOnAchievementCompleteStateMessage: break; case ServerPacketEnum.FriendWarnOnLevelGainStateMessage: break; case ServerPacketEnum.FriendWarnOnConnectionStateMessage: break; case ServerPacketEnum.BasicTimeMessage: break; case ServerPacketEnum.ServerSettingsMessage: break; case ServerPacketEnum.ServerOptionalFeaturesMessage: break; case ServerPacketEnum.ServerSessionConstantsMessage: break; case ServerPacketEnum.StatedElementUpdatedMessage: break; case ServerPacketEnum.InteractiveElementUpdatedMessage: break; case ServerPacketEnum.InteractiveUsedMessage: break; case ServerPacketEnum.AccountCapabilitiesMessage: break; case ServerPacketEnum.TrustStatusMessage: break; case ServerPacketEnum.PrismsListMessage: break; case ServerPacketEnum.CharacterExperienceGainMessage: break; case ServerPacketEnum.IdolListMessage: break; case ServerPacketEnum.SpellListMessage: break; break; case ServerPacketEnum.EnabledChannelsMessage: break; case ServerPacketEnum.GameMapMovementMessage: break; case ServerPacketEnum.DareSubscribedListMessage: break; case ServerPacketEnum.UpdateMapPlayersAgressableStatusMessage: break; case ServerPacketEnum.CharacterStatsListMessage: break; case ServerPacketEnum.MapComplementaryInformationsDataMessage: MapComplementaryInformationsDataMessage mapInfos = (MapComplementaryInformationsDataMessage)e.Packet; Invoke((MethodInvoker) delegate { currentMapIdLabel.Text = mapInfos.MapId.ToString(); }); break; case ServerPacketEnum.LifePointsRegenBeginMessage: break; case ServerPacketEnum.GameContextDestroyMessage: break; case ServerPacketEnum.IgnoredListMessage: break; case ServerPacketEnum.FriendsListMessage: FriendsListMessage friendsList = (FriendsListMessage)e.Packet; foreach (FriendInformations f in friendsList.FriendsList) { Log(LogMessageType.Noob, "Amis: " + f.AccountName + " | Dernière Connexion: " + DateExtensions.UnixTimestampToDateTime(f.LastConnection).ToLongDateString() + " | Points de Succès: " + f.AchievementPoints); } break; case ServerPacketEnum.AccountHouseMessage: break; case ServerPacketEnum.StartupActionsListMessage: break; case ServerPacketEnum.ChatCommunityChannelCommunityMessage: break; case ServerPacketEnum.DareRewardsListMessage: break; case ServerPacketEnum.DareWonListMessage: break; case ServerPacketEnum.MailStatusMessage: break; case ServerPacketEnum.ChannelEnablingChangeMessage: break; case ServerPacketEnum.InventoryWeightMessage: InventoryWeightMessage IWM = (InventoryWeightMessage)e.Packet; Invoke((MethodInvoker) delegate { PodsProgressValue = IWM.Weight; PodsProgressMaximum = IWM.WeightMax; PodsProgress.Refresh(); }); break; case ServerPacketEnum.CharacterLoadingCompleteMessage: _GameSocket.Send(new FriendsGetListMessage()); _GameSocket.Send(new IgnoredGetListMessage()); _GameSocket.Send(new SpouseGetInformationsMessage()); _GameSocket.Send(new ClientKeyMessage(FlashKeyGenerator.GetRandomFlashKey(accountNameTextField.Text))); _GameSocket.Send(new GameContextCreateRequestMessage()); _GameSocket.Send(new ChannelEnablingMessage(7, false)); break; case ServerPacketEnum.CharactersListMessage: CharactersListMessage charactersList = (CharactersListMessage)e.Packet; List <CharacterBaseInformations> characters = charactersList.Characters; for (int i = 0; i < characters.Count; i++) { CharacterBaseInformations c = characters[i]; Log(LogMessageType.Info, "Connexion sur le personnage " + c.Name); _GameSocket.Send(new CharacterSelectionMessage((ulong)c.ObjectID)); break; } break; default: Log(LogMessageType.Admin, "Packet: [" + (ServerPacketEnum)e.Packet.MessageID + "] is not handled."); break; } }