summaryrefslogtreecommitdiff
path: root/src/server/scripts/Events
diff options
context:
space:
mode:
authorUltraNix <80540499+UltraNix@users.noreply.github.com>2021-10-14 13:22:37 +0200
committerGitHub <noreply@github.com>2021-10-14 13:22:37 +0200
commitb8345a2f98bdc4413bd2bb5519e38047de991b1d (patch)
tree3472a3dbbfad44cc5c1444dba50598377b332e5c /src/server/scripts/Events
parent01d3747efd6105cee118083189f6f9912d92cf00 (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.cpp11
-rw-r--r--src/server/scripts/Events/hallows_end.cpp24
-rw-r--r--src/server/scripts/Events/love_in_air.cpp24
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
{
}