From f8a222aab912eae92fa1b634aa7c6fea500b90f7 Mon Sep 17 00:00:00 2001 From: ariel- Date: Sat, 27 May 2017 00:39:32 -0300 Subject: [PATCH] Scripts/VioletHold: fix stack overflow when reflecting 'Splash' Closes #19514 --- src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp index 6054b5d4573..3ce72ebd74f 100644 --- a/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp +++ b/src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp @@ -240,7 +240,7 @@ class npc_ichor_globule : public CreatureScript struct npc_ichor_globuleAI : public ScriptedAI { - npc_ichor_globuleAI(Creature* creature) : ScriptedAI(creature) + npc_ichor_globuleAI(Creature* creature) : ScriptedAI(creature), _splashTriggered(false) { _instance = creature->GetInstanceScript(); creature->SetReactState(REACT_PASSIVE); @@ -272,14 +272,21 @@ class npc_ichor_globule : public CreatureScript // this feature should be still implemented void DamageTaken(Unit* /*attacker*/, uint32& damage) override { + if (_splashTriggered) + return; + if (damage >= me->GetHealth()) + { + _splashTriggered = true; DoCastAOE(SPELL_SPLASH); + } } void UpdateAI(uint32 /*diff*/) override { } private: InstanceScript* _instance; + bool _splashTriggered; }; CreatureAI* GetAI(Creature* creature) const override