Scripts/HoL: modernized object accessor data
This commit is contained in:
1 parent
40255922dc
commit
581b293164
3 files changed
+21
-50
No files matched your search
@@ -185,7 +185,7 @@ public:
|
||||
|
||||
SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_SHIELD, EQUIP_NO_CHANGE);
|
||||
|
||||
instance->SetBossState(DATA_BJARNGRIM, NOT_STARTED);
|
||||
instance->SetBossState(DATA_GENERAL_BJARNGRIM, NOT_STARTED);
|
||||
}
|
||||
|
||||
void EnterEvadeMode(EvadeReason why) override
|
||||
@@ -205,7 +205,7 @@ public:
|
||||
//must get both lieutenants here and make sure they are with him
|
||||
me->CallForHelp(30.0f);
|
||||
|
||||
instance->SetBossState(DATA_BJARNGRIM, IN_PROGRESS);
|
||||
instance->SetBossState(DATA_GENERAL_BJARNGRIM, IN_PROGRESS);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* /*victim*/) override
|
||||
@@ -217,7 +217,7 @@ public:
|
||||
{
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
instance->SetBossState(DATA_BJARNGRIM, DONE);
|
||||
instance->SetBossState(DATA_GENERAL_BJARNGRIM, DONE);
|
||||
}
|
||||
|
||||
/// @todo remove when removal is done by the core
|
||||
@@ -422,7 +422,7 @@ public:
|
||||
|
||||
void JustEngagedWith(Unit* who) override
|
||||
{
|
||||
if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BJARNGRIM)))
|
||||
if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GENERAL_BJARNGRIM)))
|
||||
{
|
||||
if (pBjarngrim->IsAlive() && !pBjarngrim->GetVictim())
|
||||
pBjarngrim->AI()->AttackStart(who);
|
||||
@@ -445,7 +445,7 @@ public:
|
||||
|
||||
if (m_uiRenewSteel_Timer <= uiDiff)
|
||||
{
|
||||
if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_BJARNGRIM)))
|
||||
if (Creature* pBjarngrim = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_GENERAL_BJARNGRIM)))
|
||||
{
|
||||
if (pBjarngrim->IsAlive())
|
||||
DoCast(pBjarngrim, SPELL_RENEW_STEEL_N);
|
||||
|
||||
@@ -28,7 +28,7 @@ uint32 const EncounterCount = 4;
|
||||
enum HOLDataTypes
|
||||
{
|
||||
// Encounter States/Boss GUIDs
|
||||
DATA_BJARNGRIM = 0,
|
||||
DATA_GENERAL_BJARNGRIM = 0,
|
||||
DATA_VOLKHAN = 1,
|
||||
DATA_IONAR = 2,
|
||||
DATA_LOKEN = 3,
|
||||
@@ -36,15 +36,18 @@ enum HOLDataTypes
|
||||
/*Volkhan*/
|
||||
DATA_VOLKHAN_TEMPER_VISUAL,
|
||||
DATA_VOLKHANS_ANVIL,
|
||||
|
||||
/*Loken*/
|
||||
DATA_LOKEN_THRONE
|
||||
};
|
||||
|
||||
enum HOLCreaturesIds
|
||||
{
|
||||
// Bosses
|
||||
NPC_BJARNGRIM = 28586,
|
||||
NPC_VOLKHAN = 28587,
|
||||
NPC_IONAR = 28546,
|
||||
NPC_LOKEN = 28923,
|
||||
BOSS_GENERAL_BJARNGRIM = 28586,
|
||||
BOSS_VOLKHAN = 28587,
|
||||
BOSS_IONAR = 28546,
|
||||
BOSS_LOKEN = 28923,
|
||||
|
||||
/*Volkhan*/
|
||||
NPC_VOLKHANS_ANVIL = 28823,
|
||||
|
||||
+8
-40
@@ -33,14 +33,18 @@ DoorData const doorData[] =
|
||||
|
||||
ObjectData const creatureData[] =
|
||||
{
|
||||
{ NPC_VOLKHAN, DATA_VOLKHAN },
|
||||
{ NPC_VOLKHANS_ANVIL, DATA_VOLKHANS_ANVIL },
|
||||
{ 0, 0 } // END
|
||||
{ BOSS_GENERAL_BJARNGRIM, DATA_GENERAL_BJARNGRIM },
|
||||
{ BOSS_VOLKHAN, DATA_VOLKHAN },
|
||||
{ BOSS_IONAR, DATA_IONAR },
|
||||
{ BOSS_LOKEN, DATA_LOKEN },
|
||||
{ NPC_VOLKHANS_ANVIL, DATA_VOLKHANS_ANVIL },
|
||||
{ 0, 0 } // END
|
||||
};
|
||||
|
||||
ObjectData const gameObjectData[] =
|
||||
{
|
||||
{ GO_VOLKHAN_TEMPER_VISUAL, DATA_VOLKHAN_TEMPER_VISUAL },
|
||||
{ GO_LOKEN_THRONE, DATA_LOKEN_THRONE },
|
||||
{ 0, 0 } // END
|
||||
};
|
||||
|
||||
@@ -65,15 +69,6 @@ class instance_halls_of_lightning : public InstanceMapScript
|
||||
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_BJARNGRIM:
|
||||
GeneralBjarngrimGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_IONAR:
|
||||
IonarGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_LOKEN:
|
||||
LokenGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_MOLTEN_GOLEM:
|
||||
if (GetBossState(DATA_VOLKHAN) == IN_PROGRESS)
|
||||
{
|
||||
@@ -92,15 +87,6 @@ class instance_halls_of_lightning : public InstanceMapScript
|
||||
void OnGameObjectCreate(GameObject* go) override
|
||||
{
|
||||
InstanceScript::OnGameObjectCreate(go);
|
||||
|
||||
switch (go->GetEntry())
|
||||
{
|
||||
case GO_LOKEN_THRONE:
|
||||
LokenGlobeGUID = go->GetGUID();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool SetBossState(uint32 type, EncounterState state) override
|
||||
@@ -112,7 +98,7 @@ class instance_halls_of_lightning : public InstanceMapScript
|
||||
{
|
||||
case DATA_LOKEN:
|
||||
if (state == DONE)
|
||||
if (GameObject* globe = instance->GetGameObject(LokenGlobeGUID))
|
||||
if (GameObject* globe = GetGameObject(DATA_LOKEN_THRONE))
|
||||
globe->SendCustomAnim(0);
|
||||
break;
|
||||
default:
|
||||
@@ -124,26 +110,8 @@ class instance_halls_of_lightning : public InstanceMapScript
|
||||
|
||||
ObjectGuid GetGuidData(uint32 type) const override
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case DATA_BJARNGRIM:
|
||||
return GeneralBjarngrimGUID;
|
||||
case DATA_IONAR:
|
||||
return IonarGUID;
|
||||
case DATA_LOKEN:
|
||||
return LokenGUID;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return InstanceScript::GetGuidData(type);
|
||||
}
|
||||
|
||||
protected:
|
||||
ObjectGuid GeneralBjarngrimGUID;
|
||||
ObjectGuid IonarGUID;
|
||||
ObjectGuid LokenGUID;
|
||||
|
||||
ObjectGuid LokenGlobeGUID;
|
||||
};
|
||||
|
||||
InstanceScript* GetInstanceScript(InstanceMap* map) const override
|
||||
|
||||
Reference in new issue
Block a user