aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-04-24 13:58:18 +0200
committerShauren <shauren.trinity@gmail.com>2022-04-24 13:58:18 +0200
commit1c62b0b90f879e5df6c6785c12e9a5bddd65cb48 (patch)
tree685fae412c39a62e7c789e05329637afda19e4be /src/server/game/Maps
parente1abd8256be38c299156264424999c0108613198 (diff)
Scripts/Instances: Replace manual criteria timer starts in instances with new GameEvents api
Diffstat (limited to 'src/server/game/Maps')
-rw-r--r--src/server/game/Maps/ZoneScript.cpp9
-rw-r--r--src/server/game/Maps/ZoneScript.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Maps/ZoneScript.cpp b/src/server/game/Maps/ZoneScript.cpp
index 974a6c7661f..9dce551910c 100644
--- a/src/server/game/Maps/ZoneScript.cpp
+++ b/src/server/game/Maps/ZoneScript.cpp
@@ -17,6 +17,7 @@
#include "ZoneScript.h"
#include "Creature.h"
+#include "GameEventSender.h"
ZoneScript::ZoneScript()
{
@@ -30,3 +31,11 @@ uint32 ZoneScript::GetCreatureEntry(ObjectGuid::LowType /*guidLow*/, CreatureDat
{
return data->id;
}
+
+void ZoneScript::TriggerGameEvent(uint32 gameEventId, WorldObject* source /*= nullptr*/, WorldObject* target /*= nullptr*/)
+{
+ if (source)
+ GameEvents::Trigger(gameEventId, source, target);
+ else
+ ProcessEvent(nullptr, gameEventId, nullptr);
+}
diff --git a/src/server/game/Maps/ZoneScript.h b/src/server/game/Maps/ZoneScript.h
index 8d3bb397a07..d9bb1b417d9 100644
--- a/src/server/game/Maps/ZoneScript.h
+++ b/src/server/game/Maps/ZoneScript.h
@@ -61,6 +61,7 @@ class TC_GAME_API ZoneScript
virtual uint32 GetData(uint32 /*DataId*/) const { return 0; }
virtual void SetData(uint32 /*DataId*/, uint32 /*Value*/) { }
+ virtual void TriggerGameEvent(uint32 gameEventId, WorldObject* source = nullptr, WorldObject* target = nullptr);
virtual void ProcessEvent(WorldObject* /*obj*/, uint32 /*eventId*/, WorldObject* /*invoker*/) { }
};