public LFGuildPlayer(LFGuildPlayer settings) { _comment = settings.GetComment(); _guid = settings.GetGUID(); _roles = settings.GetClassRoles(); _availability = settings.GetAvailability(); _interests = settings.GetInterests(); _level = settings.GetLevel(); }
void HandleGuildFinderBrowse(LFGuildBrowse lfGuildBrowse) { if (!lfGuildBrowse.ClassRoles.HasAnyFlag((uint)GuildFinderOptionsRoles.All) || lfGuildBrowse.ClassRoles > (uint)GuildFinderOptionsRoles.All) { return; } if (!lfGuildBrowse.Availability.HasAnyFlag((uint)GuildFinderOptionsAvailability.Always) || lfGuildBrowse.Availability > (uint)GuildFinderOptionsAvailability.Always) { return; } if (!lfGuildBrowse.PlayStyle.HasAnyFlag((uint)GuildFinderOptionsInterest.All) || lfGuildBrowse.PlayStyle > (uint)GuildFinderOptionsInterest.All) { return; } if (lfGuildBrowse.CharacterLevel > WorldConfig.GetIntValue(WorldCfg.MaxPlayerLevel) || lfGuildBrowse.CharacterLevel < 1) { return; } Player player = GetPlayer(); LFGuildPlayer settings = new LFGuildPlayer(player.GetGUID(), lfGuildBrowse.ClassRoles, lfGuildBrowse.Availability, lfGuildBrowse.PlayStyle, (uint)GuildFinderOptionsLevel.Any); var guildList = Global.GuildFinderMgr.GetGuildsMatchingSetting(settings, (uint)player.GetTeam()); LFGuildBrowseResult lfGuildBrowseResult = new LFGuildBrowseResult(); for (var i = 0; i < guildList.Count; ++i) { LFGuildSettings guildSettings = guildList[i]; LFGuildBrowseData guildData = new LFGuildBrowseData(); Guild guild = Global.GuildMgr.GetGuildByGuid(guildSettings.GetGUID()); guildData.GuildName = guild.GetName(); guildData.GuildGUID = guild.GetGUID(); guildData.GuildVirtualRealm = Global.WorldMgr.GetVirtualRealmAddress(); guildData.GuildMembers = guild.GetMembersCount(); guildData.GuildAchievementPoints = guild.GetAchievementMgr().GetAchievementPoints(); guildData.PlayStyle = guildSettings.GetInterests(); guildData.Availability = guildSettings.GetAvailability(); guildData.ClassRoles = guildSettings.GetClassRoles(); guildData.LevelRange = guildSettings.GetLevel(); guildData.EmblemStyle = guild.GetEmblemInfo().GetStyle(); guildData.EmblemColor = guild.GetEmblemInfo().GetColor(); guildData.BorderStyle = guild.GetEmblemInfo().GetBorderStyle(); guildData.BorderColor = guild.GetEmblemInfo().GetBorderColor(); guildData.Background = guild.GetEmblemInfo().GetBackgroundColor(); guildData.Comment = guildSettings.GetComment(); guildData.Cached = 0; guildData.MembershipRequested = (sbyte)(Global.GuildFinderMgr.HasRequest(player.GetGUID(), guild.GetGUID()) ? 1 : 0); lfGuildBrowseResult.Post.Add(guildData); } player.SendPacket(lfGuildBrowseResult); }