From 6034992dffbbd511f59e77c13285da282d9c737d Mon Sep 17 00:00:00 2001 From: jackpoz Date: Fri, 24 May 2019 20:52:54 +0200 Subject: Core/SmartAI: Implement SMART_EVENT_SUMMONED_UNIT and SMART_EVENT_SUMMON_DESPAWNED for GameObject owners (cherry picked from commit 507a56d62764f63113d35dfcca9273b8d0b16cc5) --- src/server/game/AI/SmartScripts/SmartAI.cpp | 10 ++++++++++ src/server/game/AI/SmartScripts/SmartAI.h | 6 ++++++ 2 files changed, 16 insertions(+) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartAI.cpp b/src/server/game/AI/SmartScripts/SmartAI.cpp index 06e8fd994cf..6aee503e82c 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.cpp +++ b/src/server/game/AI/SmartScripts/SmartAI.cpp @@ -1083,6 +1083,16 @@ void SmartGameObjectAI::SpellHit(Unit* unit, SpellInfo const* spellInfo) GetScript()->ProcessEventsFor(SMART_EVENT_SPELLHIT, unit, 0, 0, false, spellInfo); } +void SmartGameObjectAI::JustSummoned(Creature* creature) +{ + GetScript()->ProcessEventsFor(SMART_EVENT_SUMMONED_UNIT, creature); +} + +void SmartGameObjectAI::SummonedCreatureDespawn(Creature* unit) +{ + GetScript()->ProcessEventsFor(SMART_EVENT_SUMMON_DESPAWNED, unit, unit->GetEntry()); +} + class SmartTrigger : public AreaTriggerScript { public: diff --git a/src/server/game/AI/SmartScripts/SmartAI.h b/src/server/game/AI/SmartScripts/SmartAI.h index 4acb1488a53..0baa87ec5a3 100644 --- a/src/server/game/AI/SmartScripts/SmartAI.h +++ b/src/server/game/AI/SmartScripts/SmartAI.h @@ -267,6 +267,12 @@ class TC_GAME_API SmartGameObjectAI : public GameObjectAI void EventInform(uint32 eventId) override; void SpellHit(Unit* unit, SpellInfo const* spellInfo) override; + // Called when the gameobject summon successfully other creature + void JustSummoned(Creature* creature) override; + + // Called when a summoned creature dissapears (UnSommoned) + void SummonedCreatureDespawn(Creature* unit) override; + void SetGossipReturn(bool val) { _gossipReturn = val; } private: -- cgit v1.2.3