mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-16 18:40:28 +00:00
fix(Scripts/ZulAman): prevent early engaging of door guardians to skip timed event (#21177)
This commit is contained in:
@@ -65,7 +65,7 @@ ObjectData const creatureData[] =
|
||||
{ NPC_JANALAI, DATA_JANALAI },
|
||||
{ NPC_SPIRIT_LYNX, DATA_SPIRIT_LYNX },
|
||||
{ NPC_HARRISON_JONES, DATA_HARRISON_JONES },
|
||||
{ NPC_AMINISHI_LOOKOUT, DATA_LOOKOUT },
|
||||
{ NPC_AMANISHI_LOOKOUT, DATA_LOOKOUT },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
@@ -127,13 +127,18 @@ public:
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_AMANISHI_GUARDIAN:
|
||||
case NPC_AMANISHI_SAVAGE:
|
||||
if (creature->GetPositionY() >= 1500.0f) // gate
|
||||
creature->SetImmuneToAll(true);
|
||||
break;
|
||||
// Akil'zon gauntlet
|
||||
case NPC_AMINISHI_TEMPEST:
|
||||
case NPC_AMANISHI_TEMPEST:
|
||||
if (creature->GetPositionZ() >= 50.0f) // excludes Tempest in Hexlord Malacrass' trash
|
||||
AkilzonTrash.insert(creature->GetGUID());
|
||||
break;
|
||||
case NPC_AMINISHI_LOOKOUT:
|
||||
case NPC_AMINISHI_PROTECTOR:
|
||||
case NPC_AMANISHI_LOOKOUT:
|
||||
case NPC_AMANISHI_PROTECTOR:
|
||||
case NPC_EAGLE_TRASH_AGGRO_TRIGGER:
|
||||
AkilzonTrash.insert(creature->GetGUID());
|
||||
break;
|
||||
@@ -226,8 +231,8 @@ public:
|
||||
case NPC_EAGLE_TRASH_AGGRO_TRIGGER:
|
||||
creature->DisappearAndDie();
|
||||
break;
|
||||
case NPC_AMINISHI_LOOKOUT:
|
||||
case NPC_AMINISHI_TEMPEST:
|
||||
case NPC_AMANISHI_LOOKOUT:
|
||||
case NPC_AMANISHI_TEMPEST:
|
||||
creature->AI()->DoAction(ACTION_START_AKILZON_GAUNTLET);
|
||||
break;
|
||||
default:
|
||||
@@ -243,7 +248,7 @@ public:
|
||||
{
|
||||
if (!creature->IsAlive())
|
||||
creature->Respawn();
|
||||
else if (creature->GetEntry() == NPC_AMINISHI_TEMPEST)
|
||||
else if (creature->GetEntry() == NPC_AMANISHI_TEMPEST)
|
||||
creature->AI()->DoAction(ACTION_RESET_AKILZON_GAUNTLET);
|
||||
}
|
||||
if (Creature* creature = GetCreature(DATA_LOOKOUT))
|
||||
@@ -259,7 +264,7 @@ public:
|
||||
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_AMINISHI_PROTECTOR:
|
||||
case NPC_AMANISHI_PROTECTOR:
|
||||
case NPC_AMANISHI_WIND_WALKER:
|
||||
if (_akilzonGauntlet == NOT_STARTED && AkilzonTrash.contains(creature->GetGUID()))
|
||||
creature->DespawnOrUnsummon(30s, 1s);
|
||||
@@ -272,8 +277,8 @@ public:
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_AMINISHI_TEMPEST:
|
||||
case NPC_AMINISHI_PROTECTOR:
|
||||
case NPC_AMANISHI_TEMPEST:
|
||||
case NPC_AMANISHI_PROTECTOR:
|
||||
case NPC_AMANISHI_WIND_WALKER:
|
||||
if (AkilzonTrash.contains(creature->GetGUID()))
|
||||
ResetAkilzonGauntlet();
|
||||
|
||||
@@ -358,8 +358,7 @@ enum DisplayIds
|
||||
enum EntryIds
|
||||
{
|
||||
NPC_HARRISON_JONES_1 = 24375,
|
||||
NPC_HARRISON_JONES_2 = 24365,
|
||||
NPC_AMANISHI_GUARDIAN = 23597,
|
||||
NPC_HARRISON_JONES_2 = 24365
|
||||
};
|
||||
|
||||
enum Weapons
|
||||
@@ -417,7 +416,10 @@ struct npc_harrison_jones : public ScriptedAI
|
||||
std::list<Creature*> creatures;
|
||||
me->GetCreatureListWithEntryInGrid(creatures, NPC_AMANISHI_SAVAGE, 100.0f);
|
||||
for (Creature* creature : creatures)
|
||||
{
|
||||
creature->SetImmuneToAll(false);
|
||||
creature->SetInCombatWithZone();
|
||||
}
|
||||
});
|
||||
_instance->StorePersistentData(DATA_TIMED_RUN, 21);
|
||||
_instance->DoAction(ACTION_START_TIMED_RUN);
|
||||
|
||||
@@ -60,11 +60,12 @@ enum CreatureIds
|
||||
NPC_AMANISHI_MEDICINE_MAN = 23581,
|
||||
NPC_AMANISHI_AXE_THROWER = 23542,
|
||||
NPC_AMANI_HATCHLING = 23598, // 42493
|
||||
NPC_AMANISHI_GUARDIAN = 23597,
|
||||
// Akil'zon gauntlet
|
||||
NPC_AMANISHI_WIND_WALKER = 24179,
|
||||
NPC_AMINISHI_LOOKOUT = 24175,
|
||||
NPC_AMINISHI_PROTECTOR = 24180,
|
||||
NPC_AMINISHI_TEMPEST = 24549,
|
||||
NPC_AMANISHI_LOOKOUT = 24175,
|
||||
NPC_AMANISHI_PROTECTOR = 24180,
|
||||
NPC_AMANISHI_TEMPEST = 24549,
|
||||
NPC_EAGLE_TRASH_AGGRO_TRIGGER = 24223
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user