aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/ZoneScript.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-07-12 12:29:22 +0200
committerOvahlord <dreadkiller@gmx.de>2024-07-14 19:02:57 +0200
commitcdfe0f21f720d189e8c8dd680b6b0327548cff1b (patch)
tree973b805fd038cfdac0230b51cee807e7478dafe4 /src/server/game/Maps/ZoneScript.h
parentdb2d4c484baa07bdd9456b46cb1adb8dee9f2d78 (diff)
Core/Instances: New ZoneScript hook - OnCreatureGroupDepleted
* Triggers when the CreatureGroup no longer has any alive members (either last alive member dies or is removed from the group) (cherry picked from commit ec2631eca3a397dffd2e525b34c131c283beb167)
Diffstat (limited to 'src/server/game/Maps/ZoneScript.h')
-rw-r--r--src/server/game/Maps/ZoneScript.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/game/Maps/ZoneScript.h b/src/server/game/Maps/ZoneScript.h
index 3fd9e85aa19..8f37b2a3cf5 100644
--- a/src/server/game/Maps/ZoneScript.h
+++ b/src/server/game/Maps/ZoneScript.h
@@ -23,6 +23,7 @@
class AreaTrigger;
class Creature;
+class CreatureGroup;
class GameObject;
class Player;
class Unit;
@@ -41,8 +42,12 @@ enum class EncounterType : uint8
class TC_GAME_API ControlZoneHandler
{
public:
- explicit ControlZoneHandler() = default;
- virtual ~ControlZoneHandler() = default;
+ explicit ControlZoneHandler();
+ ControlZoneHandler(ControlZoneHandler const& right);
+ ControlZoneHandler(ControlZoneHandler&& right) noexcept;
+ ControlZoneHandler& operator=(ControlZoneHandler const& right);
+ ControlZoneHandler& operator=(ControlZoneHandler&& right) noexcept;
+ virtual ~ControlZoneHandler();
virtual void HandleCaptureEventHorde([[maybe_unused]] GameObject* controlZone) { }
virtual void HandleCaptureEventAlliance([[maybe_unused]] GameObject* controlZone) { }
@@ -79,6 +84,9 @@ class TC_GAME_API ZoneScript
virtual void OnUnitDeath([[maybe_unused]] Unit* unit) { }
+ // Triggers when the CreatureGroup no longer has any alive members (either last alive member dies or is removed from the group)
+ virtual void OnCreatureGroupDepleted([[maybe_unused]] CreatureGroup const* creatureGroup) { }
+
//All-purpose data storage ObjectGuid
virtual ObjectGuid GetGuidData(uint32 /*DataId*/) const { return ObjectGuid::Empty; }
virtual void SetGuidData(uint32 /*DataId*/, ObjectGuid /*Value*/) { }