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
committerShauren <shauren.trinity@gmail.com>2024-07-12 12:29:22 +0200
commitec2631eca3a397dffd2e525b34c131c283beb167 (patch)
treecd3fafd70074bf29af3e507b7e9dbd879fe9a2a4 /src/server/game/Maps/ZoneScript.h
parent9a7a83ef3074faaad037cfb4c098784695f49d30 (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)
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*/) { }