diff options
| author | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-02-04 22:14:56 +0100 |
|---|---|---|
| committer | Vincent_Michael <Vincent_Michael@gmx.de> | 2013-02-04 22:14:56 +0100 |
| commit | 12c8cdc26c9e307c4ae475d6021349f8a5603f14 (patch) | |
| tree | 8033cd6f537cd7ac49e9a556f581d985ba04e8ff /src/server/game/DungeonFinding/LFGScripts.cpp | |
| parent | 1537de5b39d032b0d560db23fc4330f313dda67d (diff) | |
| parent | 8f6e9dc85ccda388bc5ced1921cd4e30cb5fe2e0 (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
sql/base/auth_database.sql
sql/base/characters_database.sql
src/server/game/Entities/Player/Player.cpp
src/server/game/Handlers/LFGHandler.cpp
src/server/game/Server/WorldSession.cpp
src/server/game/Server/WorldSession.h
src/server/game/Server/WorldSocket.cpp
src/server/game/World/World.cpp
src/server/scripts/Spells/spell_generic.cpp
Diffstat (limited to 'src/server/game/DungeonFinding/LFGScripts.cpp')
| -rw-r--r-- | src/server/game/DungeonFinding/LFGScripts.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp index 568b61eef2f..a4716de9524 100644 --- a/src/server/game/DungeonFinding/LFGScripts.cpp +++ b/src/server/game/DungeonFinding/LFGScripts.cpp @@ -29,6 +29,9 @@ #include "ObjectAccessor.h" #include "WorldSession.h" +namespace lfg +{ + LFGPlayerScript::LFGPlayerScript() : PlayerScript("LFGPlayerScript") { } @@ -85,6 +88,24 @@ void LFGPlayerScript::OnBindToInstance(Player* player, Difficulty difficulty, ui sLFGMgr->InitializeLockedDungeons(player); } +void LFGPlayerScript::OnMapChanged(Player* player) +{ + Map const* map = player->GetMap(); + + if (sLFGMgr->inLfgDungeonMap(player->GetGUID(), map->GetId(), map->GetDifficulty())) + { + Group* group = player->GetGroup(); + for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next()) + if (Player* member = itr->getSource()) + player->GetSession()->SendNameQueryOpcode(member->GetGUID()); + + if (sLFGMgr->selectedRandomLfgDungeon(player->GetGUID())) + player->CastSpell(player, LFG_SPELL_LUCK_OF_THE_DRAW, true); + } + else + player->RemoveAurasDueToSpell(LFG_SPELL_LUCK_OF_THE_DRAW); +} + LFGGroupScript::LFGGroupScript() : GroupScript("LFGGroupScript") { } @@ -208,3 +229,5 @@ void LFGGroupScript::OnInviteMember(Group* group, uint64 guid) if (leader && !gguid) sLFGMgr->LeaveLfg(leader); } + +} // namespace lfg |
