diff options
| author | UltraNix <80540499+UltraNix@users.noreply.github.com> | 2021-10-14 13:22:37 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-14 13:22:37 +0200 |
| commit | b8345a2f98bdc4413bd2bb5519e38047de991b1d (patch) | |
| tree | 3472a3dbbfad44cc5c1444dba50598377b332e5c /src/server/scripts/Events | |
| parent | 01d3747efd6105cee118083189f6f9912d92cf00 (diff) | |
fix(Core/DungeonFinder): Seasonal bosses are available only via Dunge… (#8056)
* fix(Core/DungeonFinder): Seasonal bosses are available only via Dungeon Finder tool.
Fixes #7889
* Update.
* Buildfix.
* Missing.
Diffstat (limited to 'src/server/scripts/Events')
| -rw-r--r-- | src/server/scripts/Events/brewfest.cpp | 11 | ||||
| -rw-r--r-- | src/server/scripts/Events/hallows_end.cpp | 24 | ||||
| -rw-r--r-- | src/server/scripts/Events/love_in_air.cpp | 24 |
3 files changed, 57 insertions, 2 deletions
diff --git a/src/server/scripts/Events/brewfest.cpp b/src/server/scripts/Events/brewfest.cpp index 32c0a55e68..4d63636eeb 100644 --- a/src/server/scripts/Events/brewfest.cpp +++ b/src/server/scripts/Events/brewfest.cpp @@ -1753,6 +1753,17 @@ public: } } + bool CanBeSeen(Player const* player) override + { + if (player->IsGameMaster()) + { + return true; + } + + Group const* group = player->GetGroup(); + return group && sLFGMgr->GetDungeon(group->GetGUID()) == lfg::LFG_DUNGEON_COREN_DIREBREW; + } + void Reset() override { _events.Reset(); diff --git a/src/server/scripts/Events/hallows_end.cpp b/src/server/scripts/Events/hallows_end.cpp index 93b298f7e3..2078a1105b 100644 --- a/src/server/scripts/Events/hallows_end.cpp +++ b/src/server/scripts/Events/hallows_end.cpp @@ -16,6 +16,7 @@ */ #include "CellImpl.h" +#include "GameObjectAI.h" #include "GossipDef.h" #include "GridNotifiers.h" #include "Group.h" @@ -987,7 +988,7 @@ public: Map::PlayerList const& players = me->GetMap()->GetPlayers(); if (!players.isEmpty() && players.begin()->GetSource() && players.begin()->GetSource()->GetGroup()) - sLFGMgr->FinishDungeon(players.begin()->GetSource()->GetGroup()->GetGUID(), 285, me->FindMap()); + sLFGMgr->FinishDungeon(players.begin()->GetSource()->GetGroup()->GetGUID(), lfg::LFG_DUNGEON_HEADLESS_HORSEMAN, me->FindMap()); } void KilledUnit(Unit* /*who*/) override @@ -1428,6 +1429,27 @@ public: return true; } + + struct go_loosely_turned_soilAI : public GameObjectAI + { + go_loosely_turned_soilAI(GameObject* gameObject) : GameObjectAI(gameObject) { } + + bool CanBeSeen(Player const* player) override + { + if (player->IsGameMaster()) + { + return true; + } + + Group const* group = player->GetGroup(); + return group && sLFGMgr->GetDungeon(group->GetGUID()) == lfg::LFG_DUNGEON_HEADLESS_HORSEMAN; + } + }; + + GameObjectAI* GetAI(GameObject* go) const override + { + return new go_loosely_turned_soilAI(go); + } }; void AddSC_event_hallows_end_scripts() diff --git a/src/server/scripts/Events/love_in_air.cpp b/src/server/scripts/Events/love_in_air.cpp index 4baa13e045..18d1d51ddd 100644 --- a/src/server/scripts/Events/love_in_air.cpp +++ b/src/server/scripts/Events/love_in_air.cpp @@ -345,6 +345,17 @@ public: EventMap events; uint32 speachTimer; + bool CanBeSeen(Player const* player) override + { + if (player->IsGameMaster()) + { + return true; + } + + Group const* group = player->GetGroup(); + return group && sLFGMgr->GetDungeon(group->GetGUID()) == lfg::LFG_DUNGEON_CROWN_CHEMICAL_CO; + } + void Reset() override { speachTimer = 0; @@ -366,7 +377,7 @@ public: me->AI()->Talk(SAY_HUMMEL_5); Map::PlayerList const& players = me->GetMap()->GetPlayers(); if (!players.isEmpty() && players.begin()->GetSource() && players.begin()->GetSource()->GetGroup()) - sLFGMgr->FinishDungeon(players.begin()->GetSource()->GetGroup()->GetGUID(), 288, me->FindMap()); + sLFGMgr->FinishDungeon(players.begin()->GetSource()->GetGroup()->GetGUID(), lfg::LFG_DUNGEON_CROWN_CHEMICAL_CO, me->FindMap()); } void JustSummoned(Creature* cr) override @@ -481,6 +492,17 @@ public: EventMap events; + bool CanBeSeen(Player const* player) override + { + if (player->IsGameMaster()) + { + return true; + } + + Group const* group = player->GetGroup(); + return group && sLFGMgr->GetDungeon(group->GetGUID()) == lfg::LFG_DUNGEON_CROWN_CHEMICAL_CO; + } + void Reset() override { } |
