fix(Scripts/BlackwingLair): Prevent Chromaggus cage from looking (#11603)
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
--
|
||||||
|
UPDATE `gameobject_template_addon` SET `flags` = `flags` |16 WHERE `entry` = 179116;
|
||||||
+2
-2
@@ -237,14 +237,14 @@ class go_chromaggus_lever : public GameObjectScript
|
|||||||
{
|
{
|
||||||
if (_instance->GetBossState(DATA_CHROMAGGUS) != DONE && _instance->GetBossState(DATA_CHROMAGGUS) != IN_PROGRESS)
|
if (_instance->GetBossState(DATA_CHROMAGGUS) != DONE && _instance->GetBossState(DATA_CHROMAGGUS) != IN_PROGRESS)
|
||||||
{
|
{
|
||||||
if (Creature* creature = _instance->instance->GetCreature(_instance->GetGuidData(DATA_CHROMAGGUS)))
|
if (Creature* creature = _instance->GetCreature(DATA_CHROMAGGUS))
|
||||||
{
|
{
|
||||||
creature->SetHomePosition(homePos);
|
creature->SetHomePosition(homePos);
|
||||||
creature->GetMotionMaster()->MovePath(creature->GetEntry() * 10, false);
|
creature->GetMotionMaster()->MovePath(creature->GetEntry() * 10, false);
|
||||||
creature->AI()->SetGUID(player->GetGUID(), GUID_LEVER_USER);
|
creature->AI()->SetGUID(player->GetGUID(), GUID_LEVER_USER);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GameObject* go = _instance->instance->GetGameObject(_instance->GetGuidData(DATA_GO_CHROMAGGUS_DOOR)))
|
if (GameObject* go = _instance->GetGameObject(DATA_GO_CHROMAGGUS_DOOR))
|
||||||
_instance->HandleGameObject(ObjectGuid::Empty, true, go);
|
_instance->HandleGameObject(ObjectGuid::Empty, true, go);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+11
-31
@@ -35,7 +35,7 @@ DoorData const doorData[] =
|
|||||||
{ GO_PORTCULLIS_RAZORGORE_ROOM, DATA_RAZORGORE_THE_UNTAMED, DOOR_TYPE_ROOM, }, // ID 176964 || GUID 75158
|
{ GO_PORTCULLIS_RAZORGORE_ROOM, DATA_RAZORGORE_THE_UNTAMED, DOOR_TYPE_ROOM, }, // ID 176964 || GUID 75158
|
||||||
{ GO_PORTCULLIS_VAELASTRASZ, DATA_VAELASTRAZ_THE_CORRUPT, DOOR_TYPE_PASSAGE }, // ID 175185 || GUID 7229
|
{ GO_PORTCULLIS_VAELASTRASZ, DATA_VAELASTRAZ_THE_CORRUPT, DOOR_TYPE_PASSAGE }, // ID 175185 || GUID 7229
|
||||||
{ GO_PORTCULLIS_BROODLORD, DATA_BROODLORD_LASHLAYER, DOOR_TYPE_PASSAGE }, // ID 179365 || GUID 75159
|
{ GO_PORTCULLIS_BROODLORD, DATA_BROODLORD_LASHLAYER, DOOR_TYPE_PASSAGE }, // ID 179365 || GUID 75159
|
||||||
{ GO_PORTCULLIS_CHROMAGGUS, DATA_CHROMAGGUS, DOOR_TYPE_PASSAGE }, // ID 179116 || GUID 75161
|
{ GO_PORTCULLIS_NEFARIAN, DATA_CHROMAGGUS, DOOR_TYPE_PASSAGE }, // ID 179116 || GUID 75161
|
||||||
{ GO_PORTCULLIS_NEFARIAN, DATA_NEFARIAN, DOOR_TYPE_ROOM }, // ID 179117 || GUID 75164
|
{ GO_PORTCULLIS_NEFARIAN, DATA_NEFARIAN, DOOR_TYPE_ROOM }, // ID 179117 || GUID 75164
|
||||||
{ 0, 0, DOOR_TYPE_ROOM } // END
|
{ 0, 0, DOOR_TYPE_ROOM } // END
|
||||||
};
|
};
|
||||||
@@ -44,7 +44,13 @@ ObjectData const creatureData[] =
|
|||||||
{
|
{
|
||||||
{ NPC_GRETHOK, DATA_GRETHOK },
|
{ NPC_GRETHOK, DATA_GRETHOK },
|
||||||
{ NPC_NEFARIAN_TROOPS, DATA_NEFARIAN_TROOPS },
|
{ NPC_NEFARIAN_TROOPS, DATA_NEFARIAN_TROOPS },
|
||||||
{ NPC_VICTOR_NEFARIUS, DATA_LORD_VICTOR_NEFARIUS }
|
{ NPC_VICTOR_NEFARIUS, DATA_LORD_VICTOR_NEFARIUS },
|
||||||
|
{ NPC_CHROMAGGUS, DATA_CHROMAGGUS }
|
||||||
|
};
|
||||||
|
|
||||||
|
ObjectData const objectData[] =
|
||||||
|
{
|
||||||
|
{ GO_PORTCULLIS_CHROMAGGUS, DATA_GO_CHROMAGGUS_DOOR }
|
||||||
};
|
};
|
||||||
|
|
||||||
Position const SummonPosition[8] =
|
Position const SummonPosition[8] =
|
||||||
@@ -73,7 +79,7 @@ public:
|
|||||||
//SetHeaders(DataHeader);
|
//SetHeaders(DataHeader);
|
||||||
SetBossNumber(EncounterCount);
|
SetBossNumber(EncounterCount);
|
||||||
LoadDoorData(doorData);
|
LoadDoorData(doorData);
|
||||||
LoadObjectData(creatureData, nullptr);
|
LoadObjectData(creatureData, objectData);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Initialize() override
|
void Initialize() override
|
||||||
@@ -101,9 +107,6 @@ public:
|
|||||||
case NPC_RAZORGORE:
|
case NPC_RAZORGORE:
|
||||||
razorgoreGUID = creature->GetGUID();
|
razorgoreGUID = creature->GetGUID();
|
||||||
break;
|
break;
|
||||||
case NPC_CHROMAGGUS:
|
|
||||||
chromaggusGUID = creature->GetGUID();
|
|
||||||
break;
|
|
||||||
case NPC_BLACKWING_DRAGON:
|
case NPC_BLACKWING_DRAGON:
|
||||||
++addsCount[0];
|
++addsCount[0];
|
||||||
if (Creature* razor = instance->GetCreature(razorgoreGUID))
|
if (Creature* razor = instance->GetCreature(razorgoreGUID))
|
||||||
@@ -166,19 +169,6 @@ public:
|
|||||||
EggList.push_back(go->GetGUID());
|
EggList.push_back(go->GetGUID());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GO_PORTCULLIS_NEFARIAN:
|
|
||||||
AddDoor(go, true);
|
|
||||||
nefarianDoorGUID = go->GetGUID();
|
|
||||||
if (GetBossState(DATA_CHROMAGGUS) != DONE)
|
|
||||||
{
|
|
||||||
HandleGameObject(ObjectGuid::Empty, false, go);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case GO_PORTCULLIS_CHROMAGGUS:
|
|
||||||
AddDoor(go, true);
|
|
||||||
chromaggusDoorGUID = go->GetGUID();
|
|
||||||
go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -245,12 +235,6 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DATA_CHROMAGGUS:
|
|
||||||
if (state == DONE)
|
|
||||||
{
|
|
||||||
HandleGameObject(nefarianDoorGUID, true);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case DATA_NEFARIAN:
|
case DATA_NEFARIAN:
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
@@ -259,7 +243,9 @@ public:
|
|||||||
[[fallthrough]];
|
[[fallthrough]];
|
||||||
case NOT_STARTED:
|
case NOT_STARTED:
|
||||||
if (Creature* nefarian = instance->GetCreature(nefarianGUID))
|
if (Creature* nefarian = instance->GetCreature(nefarianGUID))
|
||||||
|
{
|
||||||
nefarian->DespawnOrUnsummon();
|
nefarian->DespawnOrUnsummon();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -341,10 +327,6 @@ public:
|
|||||||
{
|
{
|
||||||
case DATA_RAZORGORE_THE_UNTAMED:
|
case DATA_RAZORGORE_THE_UNTAMED:
|
||||||
return razorgoreGUID;
|
return razorgoreGUID;
|
||||||
case DATA_CHROMAGGUS:
|
|
||||||
return chromaggusGUID;
|
|
||||||
case DATA_GO_CHROMAGGUS_DOOR:
|
|
||||||
return chromaggusDoorGUID;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -498,8 +480,6 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
ObjectGuid razorgoreGUID;
|
ObjectGuid razorgoreGUID;
|
||||||
ObjectGuid chromaggusGUID;
|
|
||||||
ObjectGuid chromaggusDoorGUID;
|
|
||||||
ObjectGuid nefarianGUID;
|
ObjectGuid nefarianGUID;
|
||||||
ObjectGuid nefarianDoorGUID;
|
ObjectGuid nefarianDoorGUID;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user