aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI/ScriptedAI
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2016-02-14 19:53:17 +0100
committerShauren <shauren.trinity@gmail.com>2016-04-08 18:07:34 +0200
commitc9b24515a5c66202ac42a3b93bae44867219f989 (patch)
tree5cba83612997c12b1b9c78a3f6e8474f5a800dc1 /src/server/game/AI/ScriptedAI
parent302bd9a981082f0481367a38cba2beeb5587377c (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.cpp13
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedCreature.h2
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();