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(); } } } } }
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(); } } }
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)); }
public static void HandleGuildInvitationAnswerMessage(GuildInvitationAnswerMessage message, WorldClient client) { client.Character.GuildInvitationDialog.Answer(message.accept); }