protected virtual void OnGuildAdded(Guild guild)
 {
     foreach (var member in guild.Members)
     {
         if (member.IsConnected)
         {
             AllianceHandler.SendAllianceJoinedMessage(member.Character.Client, this);
         }
     }
 }
        public void CreateAlliance(string allianceName, string allianceTag, Stump.DofusProtocol.Types.GuildEmblem emblem)
        {
            var result = Singleton <AllianceManager> .Instance.CreateAlliance(this.Character, allianceName, allianceTag, emblem);

            AllianceHandler.SendAllianceCreationResultMessage(this.Character.Client, result);

            if (result == SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_OK)
            {
                this.Close();
            }
        }
        // METHODS
        public void Open()
        {
            if (this.Character.Guild == null ||
                this.Character.Guild.Alliance != null ||
                this.Character.Guild.Boss.Character != this.Character)
            {
                AllianceHandler.SendAllianceCreationResultMessage(this.Character.Client, SocialGroupCreationResultEnum.SOCIAL_GROUP_CREATE_ERROR_REQUIREMENT_UNMET);
            }
            else
            {
                this.Character.SetDialog(this);

                AllianceHandler.SendAllianceCreationStartedMessage(this.Character.Client);
            }
        }
        public static void CommonCharacterBasicInformations(WorldClient client)
        {
            CharacterHandler.SendCharacterSelectedSuccessMessage(client);
            ContextHandler.SendNotificationListMessage(client, new int[] { 2147483647 });
            InventoryHandler.SendInventoryContentMessage(client);
            ShortcutHandler.SendShortcutBarContentMessage(client, ShortcutBarEnum.GENERAL_SHORTCUT_BAR);
            ShortcutHandler.SendShortcutBarContentMessage(client, ShortcutBarEnum.SPELL_SHORTCUT_BAR);
            ContextRoleplayHandler.SendEmoteListMessage(client, (
                                                            from entry in Enumerable.Range(0, 21)
                                                            select(byte) entry).ToList <byte>());

            PvPHandler.SendAlignmentRankUpdateMessage(client);
            if (client.Character.Guild != null)
            {
                GuildHandler.SendGuildMembershipMessage(client, client.Character.GuildMember);
                GuildHandler.SendGuildInformationsGeneralMessage(client, client.Character.Guild);
                GuildHandler.SendGuildInformationsMembersMessage(client, client.Character.Guild);
                if (client.Character.Guild.Alliance != null)
                {
                    AllianceHandler.SendAllianceMembershipMessage(client, client.Character.Guild.Alliance);
                    AllianceHandler.SendAllianceInsiderInfoMessage(client, client.Character.Guild.Alliance);
                }
            }
            ChatHandler.SendEnabledChannelsMessage(client, new sbyte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13 }, new sbyte[0]);
            InventoryHandler.SendSpellListMessage(client, true);
            InitializationHandler.SendSetCharacterRestrictionsMessage(client);
            InventoryHandler.SendInventoryWeightMessage(client);
            FriendHandler.SendFriendWarnOnConnectionStateMessage(client, client.Character.FriendsBook.WarnOnConnection);
            FriendHandler.SendFriendWarnOnLevelGainStateMessage(client, client.Character.FriendsBook.WarnOnLevel);
            GuildHandler.SendGuildMemberWarnOnConnectionStateMessage(client, client.Character.WarnOnGuildConnection);
            AchievementHandler.SendAchievementListMessage(client, client.Character.Record.FinishedAchievements, client.Character.Achievement.GetRewardableAchievements());
            client.Character.SendConnectionMessages();
            ContextRoleplayHandler.SendGameRolePlayArenaUpdatePlayerInfosMessage(client);
            CharacterHandler.SendCharacterCapabilitiesMessage(client);

            client.WorldAccount.LastConnection     = new System.DateTime?(System.DateTime.Now);
            client.WorldAccount.LastIp             = client.IP;
            client.WorldAccount.ConnectedCharacter = new int?(client.Character.Id);

            client.Character.Record.LastUsage = new System.DateTime?(System.DateTime.Now);
            ServerBase <WorldServer> .Instance.DBAccessor.Database.Update(client.WorldAccount);

            ServerBase <WorldServer> .Instance.DBAccessor.Database.Update(client.Character.Record);
        }