aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2017-05-27 00:39:32 -0300
committerariel- <ariel-@users.noreply.github.com>2017-05-27 00:39:32 -0300
commitd9a1c82ab44254c280083e6297b8aec6350ab363 (patch)
tree7aa61a5c9bb5aa201c36289c4b0f06f6f6be9c07 /src
parent44381a78736f4e1b852e24b7a5766fa97a24881a (diff)
Scripts/VioletHold: fix stack overflow when reflecting 'Splash'
Closes #19514
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/VioletHold/boss_ichoron.cpp9
1 files changed, 8 insertions, 1 deletions
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