Exemplo 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();
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
 public static void HandleGuildInvitationAnswerMessage(GuildInvitationAnswerMessage message, WorldClient client)
 {
     if (!client.Character.HasGuild && client.Character.RequestBox is GuildInvitation)
     {
         if (message.accept)
         {
             client.Character.RequestBox.Accept();
         }
         else
         {
             client.Character.RequestBox.Deny();
         }
     }
 }
Exemplo n.º 3
0
        public void GuildInvitationAnswerMessageFrame(WorldClient client, GuildInvitationAnswerMessage guildInvitationAnswerMessage)
        {
            Console.WriteLine(guildInvitationAnswerMessage.accept);

            var invitation = GuildManager.Instance.GetGuildInvitation(client.ActiveCharacter);

            if (client.ActiveCharacter.Guild != null || invitation == null)
            {
                return;
            }

            var senderClient = WorldManager.Instance.GetClientFromCharacter(CharacterRepository.Instance.GetCharacterById(invitation.SenderId));

            if (guildInvitationAnswerMessage.accept)
            {
                var guildMember = new GuildMember(invitation.GuildId, client.ActiveCharacter.Id)
                {
                    Id                 = DatabaseManager.Instance.AutoIncrement <GuildMember>(GuildMemberRepository.Instance.Collection),
                    Role               = 0,
                    PossessedRight     = (int)GuildRightsBitEnum.GUILD_RIGHT_NONE,
                    PourcentageXpGiven = 5
                };

                GuildMemberRepository.Instance.Insert(guildMember);

                senderClient.SendPacket(new GuildInvitationStateRecrutedMessage((uint)SocialGroupInvitationStateEnum.SOCIAL_GROUP_INVITATION_OK));

                client.SendPacket(new GuildJoinedMessage(client.ActiveCharacter.Guild.GetGuildInformations(), (uint)guildMember.Role));
            }
            else
            {
                senderClient.SendPacket(new GuildInvitationStateRecrutedMessage((uint)SocialGroupInvitationStateEnum.SOCIAL_GROUP_INVITATION_CANCELED));
            }

            GuildManager.Instance.RemoveGuildInvitation(client.ActiveCharacter);

            //close panel
            senderClient.SendPacket(new LeaveDialogMessage(4));
            client.SendPacket(new LeaveDialogMessage(4));
        }
Exemplo n.º 4
0
 public static void HandleGuildInvitationAnswerMessage(GuildInvitationAnswerMessage message, WorldClient client)
 {
     client.Character.GuildInvitationDialog.Answer(message.accept);
 }