refactor(Scripts/GruulsLair): Clean up instance script (#17347)
This commit is contained in:
@@ -26,6 +26,12 @@ DoorData const doorData[] =
|
|||||||
{ 0, 0, DOOR_TYPE_ROOM } // END
|
{ 0, 0, DOOR_TYPE_ROOM } // END
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ObjectData const creatureData[] =
|
||||||
|
{
|
||||||
|
{ NPC_MAULGAR, DATA_MAULGAR },
|
||||||
|
{ 0, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
MinionData const minionData[] =
|
MinionData const minionData[] =
|
||||||
{
|
{
|
||||||
{ NPC_MAULGAR, DATA_MAULGAR },
|
{ NPC_MAULGAR, DATA_MAULGAR },
|
||||||
@@ -46,64 +52,13 @@ public:
|
|||||||
{
|
{
|
||||||
SetHeaders(DataHeader);
|
SetHeaders(DataHeader);
|
||||||
SetBossNumber(MAX_ENCOUNTER);
|
SetBossNumber(MAX_ENCOUNTER);
|
||||||
|
LoadObjectData(creatureData, nullptr);
|
||||||
LoadDoorData(doorData);
|
LoadDoorData(doorData);
|
||||||
LoadMinionData(minionData);
|
LoadMinionData(minionData);
|
||||||
|
|
||||||
_addsKilled = 0;
|
_addsKilled = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnCreatureCreate(Creature* creature) override
|
|
||||||
{
|
|
||||||
switch (creature->GetEntry())
|
|
||||||
{
|
|
||||||
case NPC_MAULGAR:
|
|
||||||
_maulgarGUID = creature->GetGUID();
|
|
||||||
[[fallthrough]];
|
|
||||||
case NPC_KROSH_FIREHAND:
|
|
||||||
case NPC_OLM_THE_SUMMONER:
|
|
||||||
case NPC_KIGGLER_THE_CRAZED:
|
|
||||||
case NPC_BLINDEYE_THE_SEER:
|
|
||||||
AddMinion(creature, true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnCreatureRemove(Creature* creature) override
|
|
||||||
{
|
|
||||||
switch (creature->GetEntry())
|
|
||||||
{
|
|
||||||
case NPC_MAULGAR:
|
|
||||||
case NPC_KROSH_FIREHAND:
|
|
||||||
case NPC_OLM_THE_SUMMONER:
|
|
||||||
case NPC_KIGGLER_THE_CRAZED:
|
|
||||||
case NPC_BLINDEYE_THE_SEER:
|
|
||||||
AddMinion(creature, false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnGameObjectCreate(GameObject* go) override
|
|
||||||
{
|
|
||||||
switch (go->GetEntry())
|
|
||||||
{
|
|
||||||
case GO_MAULGAR_DOOR:
|
|
||||||
case GO_GRUUL_DOOR:
|
|
||||||
AddDoor(go, true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnGameObjectRemove(GameObject* go) override
|
|
||||||
{
|
|
||||||
switch (go->GetEntry())
|
|
||||||
{
|
|
||||||
case GO_MAULGAR_DOOR:
|
|
||||||
case GO_GRUUL_DOOR:
|
|
||||||
AddDoor(go, false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SetBossState(uint32 id, EncounterState state) override
|
bool SetBossState(uint32 id, EncounterState state) override
|
||||||
{
|
{
|
||||||
if (!InstanceScript::SetBossState(id, state))
|
if (!InstanceScript::SetBossState(id, state))
|
||||||
@@ -117,8 +72,12 @@ public:
|
|||||||
void SetData(uint32 type, uint32 /*id*/) override
|
void SetData(uint32 type, uint32 /*id*/) override
|
||||||
{
|
{
|
||||||
if (type == DATA_ADDS_KILLED)
|
if (type == DATA_ADDS_KILLED)
|
||||||
if (Creature* maulgar = instance->GetCreature(_maulgarGUID))
|
{
|
||||||
|
if (Creature* maulgar = GetCreature(DATA_MAULGAR))
|
||||||
|
{
|
||||||
maulgar->AI()->DoAction(++_addsKilled);
|
maulgar->AI()->DoAction(++_addsKilled);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 GetData(uint32 type) const override
|
uint32 GetData(uint32 type) const override
|
||||||
@@ -130,7 +89,6 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
uint32 _addsKilled;
|
uint32 _addsKilled;
|
||||||
ObjectGuid _maulgarGUID;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
InstanceScript* GetInstanceScript(InstanceMap* map) const override
|
InstanceScript* GetInstanceScript(InstanceMap* map) const override
|
||||||
|
|||||||
Reference in New Issue
Block a user