Scripts/VioletHold: rewrote the whole instance

thanks @MitchesD for help
This commit is contained in:
joschiwald
2015-08-23 14:43:11 +02:00
parent 68e6c95f16
commit df21162fe4
33 changed files with 3262 additions and 3276 deletions

View File

@@ -457,7 +457,13 @@ BossAI::BossAI(Creature* creature, uint32 bossId) : ScriptedAI(creature),
instance(creature->GetInstanceScript()),
summons(creature),
_boundary(instance ? instance->GetBossBoundary(bossId) : NULL),
_bossId(bossId) { }
_bossId(bossId)
{
scheduler.SetValidator([this]
{
return !me->HasUnitState(UNIT_STATE_CASTING);
});
}
void BossAI::_Reset()
{
@@ -467,6 +473,7 @@ void BossAI::_Reset()
me->ResetLootMode();
events.Reset();
summons.DespawnAll();
scheduler.CancelAll();
if (instance)
instance->SetBossState(_bossId, NOT_STARTED);
}
@@ -475,14 +482,13 @@ void BossAI::_JustDied()
{
events.Reset();
summons.DespawnAll();
scheduler.CancelAll();
if (instance)
instance->SetBossState(_bossId, DONE);
}
void BossAI::_EnterCombat()
{
me->setActive(true);
DoZoneInCombat();
if (instance)
{
// bosses do not respawn, check only on enter combat
@@ -493,6 +499,10 @@ void BossAI::_EnterCombat()
}
instance->SetBossState(_bossId, IN_PROGRESS);
}
me->setActive(true);
DoZoneInCombat();
ScheduleTasks();
}
void BossAI::TeleportCheaters()