fix(Scripts/ZulAman): prevent early engaging of door guardians to skip timed event (#21177)
This commit is contained in:
parent
a37e0c9717
commit
aefd3a5a3f
@ -0,0 +1,5 @@
|
||||
--
|
||||
DELETE FROM `smart_scripts` WHERE (`entryorguid` = 23597) AND (`source_type` = 0) AND (`id` IN (12, 18));
|
||||
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
|
||||
(23597, 0, 12, 0, 1, 1, 100, 515, 6200, 6200, 6200, 6200, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Guardian - Out of Combat - Remove Flags Immune To Players & Immune To NPC\'s (Phase 1) (No Repeat) (Normal Dungeon)'),
|
||||
(23597, 0, 18, 0, 1, 2, 100, 515, 7600, 7600, 7600, 7600, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Amani\'shi Guardian - Out of Combat - Remove Flags Immune To Players & Immune To NPC\'s (Phase 2) (No Repeat) (Normal Dungeon)');
|
||||
@ -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
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user