Esempio n. 1
0
        public static void HandleGuildInvitationAnswerMessage(WorldClient client, GuildInvitationAnswerMessage message)
        {
            GuildInvitationRequest guildInvitationRequest = client.Character.RequestBox as GuildInvitationRequest;

            if (guildInvitationRequest != null)
            {
                if (client.Character == guildInvitationRequest.Source && !message.accept)
                {
                    guildInvitationRequest.Cancel();
                }
                else
                {
                    if (client.Character == guildInvitationRequest.Target)
                    {
                        if (message.accept)
                        {
                            guildInvitationRequest.Accept();
                        }
                        else
                        {
                            guildInvitationRequest.Deny();
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        public static void HandleGuildInvitationMessage(WorldClient client, GuildInvitationMessage message)
        {
            if (client.Character.Guild != null)
            {
                if (!client.Character.GuildMember.HasRight(GuildRightsBitEnum.GUILD_RIGHT_INVITE_NEW_MEMBERS))
                {
                    client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 207, new object[0]);
                }
                else
                {
                    Character character = Singleton <World> .Instance.GetCharacter((int)message.targetId);

                    if (character == null)
                    {
                        client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 208, new object[0]);
                    }
                    else
                    {
                        if (character.Guild != null)
                        {
                            client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 206, new object[0]);
                        }
                        else
                        {
                            if (character.IsBusy())
                            {
                                client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 209, new object[0]);
                            }
                            else
                            {
                                if (!client.Character.Guild.CanAddMember())
                                {
                                    client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 55, new object[]
                                    {
                                        Guild.MaxMembersNumber
                                    });
                                }
                                else
                                {
                                    GuildInvitationRequest guildInvitationRequest = new GuildInvitationRequest(client.Character, character);
                                    guildInvitationRequest.Open();
                                }
                            }
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        public static void HandleGuildInvitationMessage(WorldClient client, GuildInvitationMessage message)
        {
            if (client.Character.Guild == null)
            {
                return;
            }

            if (!client.Character.GuildMember.HasRight(GuildRightsBitEnum.GUILD_RIGHT_INVITE_NEW_MEMBERS))
            {
                // Vous n'avez pas le droit requis pour inviter des joueurs dans votre guilde.
                client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 207);
                return;
            }

            var target = World.Instance.GetCharacter((int)message.targetId);

            if (target == null)
            {
                // Impossible d'inviter, ce joueur est inconnu ou non connecté.
                client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 208);
                return;
            }

            if (target.Guild != null)
            {
                // Impossible, ce joueur est déjà dans une guilde
                client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 206);
                return;
            }

            if (target.IsBusy())
            {
                // Ce joueur est occupé. Impossible de l'inviter.
                client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 209);
                return;
            }

            if (!client.Character.Guild.CanAddMember())
            {
                client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 55, client.Character.Guild.MaxMembers);
                return;
            }

            var request = new GuildInvitationRequest(client.Character, target);

            request.Open();
        }