diff options
| author | treeston <treeston.mmoc@gmail.com> | 2016-02-14 19:53:17 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-04-08 18:07:34 +0200 |
| commit | c9b24515a5c66202ac42a3b93bae44867219f989 (patch) | |
| tree | 5cba83612997c12b1b9c78a3f6e8474f5a800dc1 /src/server/game/AI/ScriptedAI | |
| parent | 302bd9a981082f0481367a38cba2beeb5587377c (diff) | |
Merge remote-tracking branch 'sirikfoll/despawnAtEvade' into 3.3.5 (PR #16528)
(cherry picked from commit c70e3e31a7a0714b92a2a25f27fe3006f1e36caa)
Diffstat (limited to 'src/server/game/AI/ScriptedAI')
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.cpp | 13 | ||||
| -rw-r--r-- | src/server/game/AI/ScriptedAI/ScriptedCreature.h | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp index 87c7f2083af..1e6c0122f11 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.cpp @@ -536,18 +536,27 @@ void BossAI::UpdateAI(uint32 diff) DoMeleeAttackIfReady(); } -void BossAI::_DespawnAtEvade() +void BossAI::_DespawnAtEvade(uint32 delayToRespawn) { + if (delayToRespawn < 2) + { + TC_LOG_ERROR("scripts", "_DespawnAtEvade called with delay of %u seconds, defaulting to 2.", delayToRespawn); + delayToRespawn = 2; + } + uint32 corpseDelay = me->GetCorpseDelay(); uint32 respawnDelay = me->GetRespawnDelay(); me->SetCorpseDelay(1); - me->SetRespawnDelay(29); + me->SetRespawnDelay(delayToRespawn - 1); me->DespawnOrUnsummon(); me->SetCorpseDelay(corpseDelay); me->SetRespawnDelay(respawnDelay); + + if(instance) + instance->SetBossState(_bossId, FAIL); } // WorldBossAI - for non-instanced bosses diff --git a/src/server/game/AI/ScriptedAI/ScriptedCreature.h b/src/server/game/AI/ScriptedAI/ScriptedCreature.h index 427afd65c5b..4ae30b05b15 100644 --- a/src/server/game/AI/ScriptedAI/ScriptedCreature.h +++ b/src/server/game/AI/ScriptedAI/ScriptedCreature.h @@ -364,7 +364,7 @@ class TC_GAME_API BossAI : public ScriptedAI void _EnterCombat(); void _JustDied(); void _JustReachedHome() { me->setActive(false); } - void _DespawnAtEvade(); + void _DespawnAtEvade(uint32 delayToRespawn = 30); void TeleportCheaters(); |
