diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-11-02 18:14:49 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-02 18:14:49 +0100 |
commit | edc94e8ae8c5ddd46b53c706161a5511b3a3bcc3 (patch) | |
tree | a213cd06b8d16b4714b5c0b2ef164fac7715078d /src/server/game/Handlers/GuildFinderHandler.cpp | |
parent | 6305b290c9cd3076437565356cb6307d35b5131f (diff) |
Core/GuildFinder: Remove as preparation for 9.1.5
Diffstat (limited to 'src/server/game/Handlers/GuildFinderHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/GuildFinderHandler.cpp | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/src/server/game/Handlers/GuildFinderHandler.cpp b/src/server/game/Handlers/GuildFinderHandler.cpp deleted file mode 100644 index b3aebf0b12d..00000000000 --- a/src/server/game/Handlers/GuildFinderHandler.cpp +++ /dev/null @@ -1,240 +0,0 @@ -/* - * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "CharacterCache.h" -#include "WorldSession.h" -#include "GameTime.h" -#include "Guild.h" -#include "GuildFinderMgr.h" -#include "GuildFinderPackets.h" -#include "GuildMgr.h" -#include "Object.h" -#include "Player.h" -#include "SharedDefines.h" -#include "World.h" -#include "WorldPacket.h" - -void WorldSession::HandleGuildFinderAddRecruit(WorldPackets::GuildFinder::LFGuildAddRecruit& lfGuildAddRecruit) -{ - if (sGuildFinderMgr->CountRequestsFromPlayer(GetPlayer()->GetGUID()) >= 10) - return; - - if (!lfGuildAddRecruit.GuildGUID.IsGuild()) - return; - if (!(lfGuildAddRecruit.ClassRoles & GUILDFINDER_ALL_ROLES) || lfGuildAddRecruit.ClassRoles > GUILDFINDER_ALL_ROLES) - return; - if (!(lfGuildAddRecruit.Availability & AVAILABILITY_ALWAYS) || lfGuildAddRecruit.Availability > AVAILABILITY_ALWAYS) - return; - if (!(lfGuildAddRecruit.PlayStyle & ALL_INTERESTS) || lfGuildAddRecruit.PlayStyle > ALL_INTERESTS) - return; - - MembershipRequest request = MembershipRequest(GetPlayer()->GetGUID(), lfGuildAddRecruit.GuildGUID, lfGuildAddRecruit.Availability, - lfGuildAddRecruit.ClassRoles, lfGuildAddRecruit.PlayStyle, lfGuildAddRecruit.Comment, GameTime::GetGameTime()); - sGuildFinderMgr->AddMembershipRequest(lfGuildAddRecruit.GuildGUID, request); -} - -void WorldSession::HandleGuildFinderBrowse(WorldPackets::GuildFinder::LFGuildBrowse& lfGuildBrowse) -{ - if (!(lfGuildBrowse.ClassRoles & GUILDFINDER_ALL_ROLES) || lfGuildBrowse.ClassRoles > GUILDFINDER_ALL_ROLES) - return; - if (!(lfGuildBrowse.Availability & AVAILABILITY_ALWAYS) || lfGuildBrowse.Availability > AVAILABILITY_ALWAYS) - return; - if (!(lfGuildBrowse.PlayStyle & ALL_INTERESTS) || lfGuildBrowse.PlayStyle > ALL_INTERESTS) - return; - if (lfGuildBrowse.CharacterLevel > int32(sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL)) || lfGuildBrowse.CharacterLevel < 1) - return; - - Player* player = GetPlayer(); - - LFGuildPlayer settings(player->GetGUID(), lfGuildBrowse.ClassRoles, lfGuildBrowse.Availability, lfGuildBrowse.PlayStyle, ANY_FINDER_LEVEL); - std::vector<LFGuildSettings const*> guildList = sGuildFinderMgr->GetGuildsMatchingSetting(settings, player->GetTeamId()); - - WorldPackets::GuildFinder::LFGuildBrowseResult lfGuildBrowseResult; - lfGuildBrowseResult.Post.resize(guildList.size()); - - for (std::size_t i = 0; i < guildList.size(); ++i) - { - LFGuildSettings const* guildSettings = guildList[i]; - WorldPackets::GuildFinder::LFGuildBrowseData& guildData = lfGuildBrowseResult.Post[i]; - Guild* guild = ASSERT_NOTNULL(sGuildMgr->GetGuildByGuid(guildSettings->GetGUID())); - - guildData.GuildName = guild->GetName(); - guildData.GuildGUID = guild->GetGUID(); - guildData.GuildVirtualRealm = 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 = sGuildFinderMgr->HasRequest(player->GetGUID(), guild->GetGUID()); - } - - player->SendDirectMessage(lfGuildBrowseResult.Write()); -} - -void WorldSession::HandleGuildFinderDeclineRecruit(WorldPackets::GuildFinder::LFGuildDeclineRecruit& lfGuildDeclineRecruit) -{ - if (!GetPlayer()->GetGuild()) - return; - - if (!lfGuildDeclineRecruit.RecruitGUID.IsPlayer()) - return; - - sGuildFinderMgr->RemoveMembershipRequest(lfGuildDeclineRecruit.RecruitGUID, GetPlayer()->GetGuild()->GetGUID()); -} - -void WorldSession::HandleGuildFinderGetApplications(WorldPackets::GuildFinder::LFGuildGetApplications& /*lfGuildGetApplications*/) -{ - std::vector<MembershipRequest const*> applicatedGuilds = sGuildFinderMgr->GetAllMembershipRequestsForPlayer(GetPlayer()->GetGUID()); - WorldPackets::GuildFinder::LFGuildApplications lfGuildApplications; - lfGuildApplications.Application.resize(applicatedGuilds.size()); - lfGuildApplications.NumRemaining = 10 - sGuildFinderMgr->CountRequestsFromPlayer(GetPlayer()->GetGUID()); - - for (std::size_t i = 0; i < applicatedGuilds.size(); ++i) - { - MembershipRequest const* application = applicatedGuilds[i]; - WorldPackets::GuildFinder::LFGuildApplicationData& applicationData = lfGuildApplications.Application[i]; - - Guild* guild = ASSERT_NOTNULL(sGuildMgr->GetGuildByGuid(application->GetGuildGuid())); - LFGuildSettings const& guildSettings = sGuildFinderMgr->GetGuildSettings(application->GetGuildGuid()); - - applicationData.GuildGUID = application->GetGuildGuid(); - applicationData.GuildVirtualRealm = GetVirtualRealmAddress(); - applicationData.GuildName = guild->GetName(); - applicationData.ClassRoles = guildSettings.GetClassRoles(); - applicationData.PlayStyle = guildSettings.GetInterests(); - applicationData.Availability = guildSettings.GetAvailability(); - applicationData.SecondsSinceCreated = GameTime::GetGameTime() - application->GetSubmitTime(); - applicationData.SecondsUntilExpiration = application->GetExpiryTime() - GameTime::GetGameTime(); - applicationData.Comment = application->GetComment(); - } - - GetPlayer()->SendDirectMessage(lfGuildApplications.Write()); -} - -void WorldSession::HandleGuildFinderGetGuildPost(WorldPackets::GuildFinder::LFGuildGetGuildPost& /*lfGuildGetGuildPost*/) -{ - Player* player = GetPlayer(); - - Guild* guild = player->GetGuild(); - if (!guild) // Player must be in guild - return; - - WorldPackets::GuildFinder::LFGuildPost lfGuildPost; - if (guild->GetLeaderGUID() == player->GetGUID()) - { - LFGuildSettings const& settings = sGuildFinderMgr->GetGuildSettings(guild->GetGUID()); - lfGuildPost.Post = boost::in_place(); - lfGuildPost.Post->Active = settings.IsListed(); - lfGuildPost.Post->PlayStyle = settings.GetInterests(); - lfGuildPost.Post->Availability = settings.GetAvailability(); - lfGuildPost.Post->ClassRoles = settings.GetClassRoles(); - lfGuildPost.Post->LevelRange = settings.GetLevel(); - lfGuildPost.Post->Comment = settings.GetComment(); - } - - player->SendDirectMessage(lfGuildPost.Write()); -} - -// Lists all recruits for a guild - Misses times -void WorldSession::HandleGuildFinderGetRecruits(WorldPackets::GuildFinder::LFGuildGetRecruits& /*lfGuildGetRecruits*/) -{ - Player* player = GetPlayer(); - Guild* guild = player->GetGuild(); - if (!guild) - return; - - time_t now = GameTime::GetGameTime(); - WorldPackets::GuildFinder::LFGuildRecruits lfGuildRecruits; - lfGuildRecruits.UpdateTime = now; - if (std::unordered_map<ObjectGuid, MembershipRequest> const* recruitsList = sGuildFinderMgr->GetAllMembershipRequestsForGuild(guild->GetGUID())) - { - lfGuildRecruits.Recruits.resize(recruitsList->size()); - std::size_t i = 0; - for (auto const& recruitRequestPair : *recruitsList) - { - WorldPackets::GuildFinder::LFGuildRecruitData& recruitData = lfGuildRecruits.Recruits[i++]; - recruitData.RecruitGUID = recruitRequestPair.first; - recruitData.RecruitVirtualRealm = GetVirtualRealmAddress(); - recruitData.Comment = recruitRequestPair.second.GetComment(); - recruitData.ClassRoles = recruitRequestPair.second.GetClassRoles(); - recruitData.PlayStyle = recruitRequestPair.second.GetInterests(); - recruitData.Availability = recruitRequestPair.second.GetAvailability(); - recruitData.SecondsSinceCreated = now - recruitRequestPair.second.GetSubmitTime(); - recruitData.SecondsUntilExpiration = recruitRequestPair.second.GetExpiryTime() - now; - if (CharacterCacheEntry const* charInfo = sCharacterCache->GetCharacterCacheByGuid(recruitRequestPair.first)) - { - recruitData.Name = charInfo->Name; - recruitData.CharacterClass = charInfo->Class; - recruitData.CharacterGender = charInfo->Sex; - recruitData.CharacterLevel = charInfo->Level; - } - } - } - - player->SendDirectMessage(lfGuildRecruits.Write()); -} - -void WorldSession::HandleGuildFinderRemoveRecruit(WorldPackets::GuildFinder::LFGuildRemoveRecruit& lfGuildRemoveRecruit) -{ - if (!lfGuildRemoveRecruit.GuildGUID.IsGuild()) - return; - - sGuildFinderMgr->RemoveMembershipRequest(GetPlayer()->GetGUID(), lfGuildRemoveRecruit.GuildGUID); -} - -// Sent any time a guild master sets an option in the interface and when listing / unlisting his guild -void WorldSession::HandleGuildFinderSetGuildPost(WorldPackets::GuildFinder::LFGuildSetGuildPost& lfGuildSetGuildPost) -{ - // Level sent is zero if untouched, force to any (from interface). Idk why - if (!lfGuildSetGuildPost.LevelRange) - lfGuildSetGuildPost.LevelRange = ANY_FINDER_LEVEL; - - if (!(lfGuildSetGuildPost.ClassRoles & GUILDFINDER_ALL_ROLES) || lfGuildSetGuildPost.ClassRoles > GUILDFINDER_ALL_ROLES) - return; - if (!(lfGuildSetGuildPost.Availability & AVAILABILITY_ALWAYS) || lfGuildSetGuildPost.Availability > AVAILABILITY_ALWAYS) - return; - if (!(lfGuildSetGuildPost.PlayStyle & ALL_INTERESTS) || lfGuildSetGuildPost.PlayStyle > ALL_INTERESTS) - return; - if (!(lfGuildSetGuildPost.LevelRange & ALL_GUILDFINDER_LEVELS) || lfGuildSetGuildPost.LevelRange > ALL_GUILDFINDER_LEVELS) - return; - - Player* player = GetPlayer(); - - if (!player->GetGuildId()) // Player must be in guild - return; - - Guild* guild = sGuildMgr->GetGuildById(player->GetGuildId()); - if (!guild) - return; - - // Player must be guild master - if (guild->GetLeaderGUID() != player->GetGUID()) - return; - - LFGuildSettings settings(lfGuildSetGuildPost.Active, player->GetTeamId(), guild->GetGUID(), lfGuildSetGuildPost.ClassRoles, - lfGuildSetGuildPost.Availability, lfGuildSetGuildPost.PlayStyle, lfGuildSetGuildPost.LevelRange, lfGuildSetGuildPost.Comment); - sGuildFinderMgr->SetGuildSettings(guild->GetGUID(), settings); -} |