Пример #1
0
 public LFGuildPlayer(LFGuildPlayer settings)
 {
     _comment      = settings.GetComment();
     _guid         = settings.GetGUID();
     _roles        = settings.GetClassRoles();
     _availability = settings.GetAvailability();
     _interests    = settings.GetInterests();
     _level        = settings.GetLevel();
 }
Пример #2
0
        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);
        }