Scripts/HallsOfStone: Set the Tribunal of Ages encounter state to IN_PROGRESS once it starts, instead of when Brann's escort starts

This commit is contained in:
Nyeriah
2015-04-23 23:51:40 -03:00
parent 6645af4b3c
commit 335cceb26e
3 changed files with 13 additions and 12 deletions

View File

@@ -330,7 +330,7 @@ public:
DespawnDwarf();
instance->SetBossState(DATA_BRANN_EVENT, NOT_STARTED);
instance->SetBossState(DATA_TRIBUNAL_OF_AGES, NOT_STARTED);
}
}
@@ -362,8 +362,10 @@ public:
break;
case 13:
Talk(SAY_EVENT_INTRO_1);
instance->SetBossState(DATA_TRIBUNAL_OF_AGES, IN_PROGRESS);
SetEscortPaused(true);
JumpToNextStep(20000);
// @todo: There should be a pause here and a gossip should start the next step.
break;
case 17:
Talk(SAY_EVENT_INTRO_2);
@@ -421,9 +423,9 @@ public:
Start();
}
void DamageTaken(Unit* /*done_by*/, uint32 & /*damage*/) override
void DamageTaken(Unit* /*done_by*/, uint32& /*damage*/) override
{
if (instance->GetBossState(DATA_BRANN_EVENT) == IN_PROGRESS)
if (instance->GetBossState(DATA_TRIBUNAL_OF_AGES) == IN_PROGRESS)
brannSparklinNews = false;
}
@@ -442,9 +444,8 @@ public:
switch (uiStep)
{
case 1:
if (instance->GetBossState(DATA_BRANN_EVENT) != NOT_STARTED)
if (instance->GetBossState(DATA_TRIBUNAL_OF_AGES) != NOT_STARTED)
return;
instance->SetBossState(DATA_BRANN_EVENT, IN_PROGRESS);
bIsBattle = false;
Talk(SAY_ESCORT_START);
SetRun(true);
@@ -582,7 +583,7 @@ public:
break;
case 29:
Talk(SAY_EVENT_END_02);
instance->SetBossState(DATA_BRANN_EVENT, DONE);
instance->SetBossState(DATA_TRIBUNAL_OF_AGES, DONE);
me->CastSpell(me, SPELL_REWARD_ACHIEVEMENT, true);
JumpToNextStep(5500);
break;

View File

@@ -28,7 +28,7 @@ enum DataTypes
// Encounter States/Boss GUIDs
DATA_KRYSTALLUS = 0,
DATA_MAIDEN_OF_GRIEF = 1,
DATA_BRANN_EVENT = 2,
DATA_TRIBUNAL_OF_AGES = 2,
DATA_SJONNIR = 3,
// Additional data

View File

@@ -23,8 +23,8 @@
DoorData const doorData[] =
{
{ GO_SJONNIR_DOOR, DATA_BRANN_EVENT, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
{ 0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE } // END
{ GO_SJONNIR_DOOR, DATA_TRIBUNAL_OF_AGES, DOOR_TYPE_PASSAGE, BOUNDARY_NONE },
{ 0, 0, DOOR_TYPE_ROOM, BOUNDARY_NONE } // END
};
class instance_halls_of_stone : public InstanceMapScript
@@ -90,7 +90,7 @@ class instance_halls_of_stone : public InstanceMapScript
case GO_TRIBUNAL_CHEST:
case GO_TRIBUNAL_CHEST_HERO:
TribunalChestGUID = go->GetGUID();
if (GetBossState(DATA_BRANN_EVENT) == DONE)
if (GetBossState(DATA_TRIBUNAL_OF_AGES) == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
case GO_TRIBUNAL_SKY_FLOOR:
@@ -156,7 +156,7 @@ class instance_halls_of_stone : public InstanceMapScript
switch (type)
{
case DATA_BRANN_EVENT:
case DATA_TRIBUNAL_OF_AGES:
if (state == DONE)
{
if (GameObject* go = instance->GetGameObject(TribunalChestGUID))
@@ -178,7 +178,7 @@ class instance_halls_of_stone : public InstanceMapScript
switch (bossId)
{
case DATA_SJONNIR:
if (GetBossState(DATA_BRANN_EVENT) != DONE)
if (GetBossState(DATA_TRIBUNAL_OF_AGES) != DONE)
return false;
break;
default: