diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp index 8844c41e896..00d769cb880 100644 --- a/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp +++ b/src/bindings/scripts/scripts/northrend/naxxramas/boss_gothik.cpp @@ -106,8 +106,8 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI boss_gothikAI(Creature *c) : BossAI(c, BOSS_GOTHIK) {} uint32 waveCount; - std::vector<Creature*> liveTrigger; - std::vector<Creature*> deadTrigger; + typedef std::vector<Creature*> TriggerVct; + TriggerVct liveTrigger, deadTrigger; void Reset() { @@ -156,6 +156,20 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI summons.Summon(summon); } + void SummonedCreatureDespawn(Creature *summon) + { + if (summon->GetEntry() == WORLD_TRIGGER) + { + //for(TriggerVct::iterator itr = liveTrigger.begin(); itr != liveTrigger.end(); ++itr) + // if(*itr == summon) + error_log("boss_gothikAI: trigger is despawned!"); + EnterEvadeMode(); + return; + } + + summons.Despawn(summon); + } + void KilledUnit(Unit* victim) { if (!(rand()%5)) @@ -164,6 +178,8 @@ struct TRINITY_DLL_DECL boss_gothikAI : public BossAI void JustDied(Unit* Killer) { + liveTrigger.clear(); + deadTrigger.clear(); _JustDied(); DoScriptText(SAY_DEATH, me); } |