diff options
| author | Spp <none@none> | 2010-10-25 07:29:53 +0200 |
|---|---|---|
| committer | Spp <none@none> | 2010-10-25 07:29:53 +0200 |
| commit | 3fc2d414b1f70c23ebc540972c136ee08f278a13 (patch) | |
| tree | 68bcf6ebf5624219a63f3c50ccdfa7a106cfae8c /src/server/game | |
| parent | 4cd2431cd764b0a584fe68efd441dc8482fcaa33 (diff) | |
Core/Dungeon Finder: Use scripts to interact between groups and LFG
--HG--
branch : trunk
Diffstat (limited to 'src/server/game')
| -rwxr-xr-x | src/server/game/Groups/Group.cpp | 24 | ||||
| -rwxr-xr-x | src/server/game/Scripting/ScriptLoader.cpp | 2 | ||||
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/GroupHandler.cpp | 10 | ||||
| -rwxr-xr-x | src/server/game/Server/WorldSession.cpp | 6 |
4 files changed, 2 insertions, 40 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 43d80d024aa..2620b0512c6 100755 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -32,7 +32,6 @@ #include "InstanceSaveMgr.h" #include "MapInstanced.h" #include "Util.h" -#include "LFGMgr.h" Group::Group() { @@ -307,9 +306,6 @@ Player* Group::GetInvited(const std::string& name) const bool Group::AddMember(const uint64 &guid, const char* name) { - if (isLfgQueued()) - sLFGMgr.Leave(NULL, this); - if (!_addMember(guid, name)) return false; @@ -319,8 +315,6 @@ bool Group::AddMember(const uint64 &guid, const char* name) Player *player = sObjectMgr.GetPlayer(guid); if (player) { - if (player->isUsingLfg()) - sLFGMgr.Leave(player); if (!IsLeader(player->GetGUID()) && !isBGGroup()) { // reset the new member's instances, unless he is currently in one of them @@ -360,11 +354,6 @@ uint32 Group::RemoveMember(const uint64 &guid, const RemoveMethod &method) { BroadcastGroupUpdate(); - if (isLfgQueued()) - sLFGMgr.Leave(NULL, this); - else if (isLFGGroup() && !isLfgDungeonComplete()) - sLFGMgr.OfferContinue(this); - sScriptMgr.OnGroupRemoveMember(this, guid, method); // remove member and change leader (if need) only if strong more 2 members _before_ member remove @@ -387,15 +376,9 @@ uint32 Group::RemoveMember(const uint64 &guid, const RemoveMethod &method) player->GetSession()->SendPacket(&data); } - player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); - if (isLFGGroup() && player->GetMap()->IsDungeon()) - player->TeleportToBGEntryPoint(); - //we already removed player from group and in player->GetGroup() is his original group! if (Group* group = player->GetGroup()) - { group->SendUpdate(); - } else { data.Initialize(SMSG_GROUP_LIST, 1+1+1+1+8+4+4+8); @@ -461,11 +444,6 @@ void Group::Disband(bool hideDestroy /* = false */) player->SetOriginalGroup(NULL); else player->SetGroup(NULL); - - if (isLFGGroup() && player->GetMap()->IsDungeon()) - player->TeleportToBGEntryPoint(); - player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_GROUP_DISBAND); - player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); } // quest related GO state dependent from raid membership @@ -1298,8 +1276,6 @@ bool Group::_removeMember(const uint64 &guid) player->SetOriginalGroup(NULL); else player->SetGroup(NULL); - - player->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_LEADER); } } diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index 3fe0cde699c..6d4b4431060 100755 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -56,6 +56,7 @@ void AddSC_npc_innkeeper(); void AddSC_npcs_special(); void AddSC_npc_taxi(); void AddSC_achievement_scripts(); +void AddSC_dungeon_finder(); //eastern kingdoms void AddSC_alterac_valley(); //Alterac Valley @@ -619,6 +620,7 @@ void AddWorldScripts() AddSC_npc_taxi(); AddSC_achievement_scripts(); AddSC_chat_log(); + AddSC_dungeon_finder(); #endif } diff --git a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp index 0c93909ea1d..1817953bd2c 100755 --- a/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/GroupHandler.cpp @@ -186,8 +186,6 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket & recv_data) data << uint32(0); // unk player->GetSession()->SendPacket(&data); - SendLfgUpdatePlayer(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); - SendLfgUpdateParty(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); SendPartyResult(PARTY_OP_INVITE, membername, ERR_PARTY_RESULT_OK); } @@ -230,14 +228,6 @@ void WorldSession::HandleGroupAcceptOpcode(WorldPacket & /*recv_data*/) if (!group->AddMember(GetPlayer()->GetGUID(), GetPlayer()->GetName())) return; - SendLfgUpdatePlayer(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); - for (GroupReference *itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) - if (Player *plrg = itr->getSource()) - { - plrg->GetSession()->SendLfgUpdatePlayer(LFG_UPDATETYPE_CLEAR_LOCK_LIST); - plrg->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_CLEAR_LOCK_LIST); - } - group->BroadcastGroupUpdate(); } diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index ab269f58204..a03c3570b43 100755 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -40,7 +40,6 @@ #include "SocialMgr.h" #include "zlib.h" #include "ScriptMgr.h" -#include "LFGMgr.h" #include "Transport.h" /// WorldSession constructor @@ -324,11 +323,6 @@ void WorldSession::LogoutPlayer(bool Save) if (_player) { - sLFGMgr.Leave(_player); - GetPlayer()->GetSession()->SendLfgUpdateParty(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); - GetPlayer()->GetSession()->SendLfgUpdatePlayer(LFG_UPDATETYPE_REMOVED_FROM_QUEUE); - GetPlayer()->GetSession()->SendLfgUpdateSearch(false); - if (uint64 lguid = GetPlayer()->GetLootGUID()) DoLootRelease(lguid); |
