Vault of Archavon Phasing (#738)

the 4 bosses are now only visible if you have unlocked the progression for them
This commit is contained in:
Grimfeather
2025-09-12 17:54:52 +02:00
committed by GitHub
parent 1f64a18f33
commit 499b8f518d
4 changed files with 109 additions and 7 deletions

View File

@@ -551,6 +551,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -559,6 +560,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -567,6 +569,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -575,6 +578,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -583,12 +587,14 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE_II, false);
}
break;
@@ -597,12 +603,14 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE_II, false);
}
break;
@@ -611,12 +619,14 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE_II, false);
}
break;
@@ -625,12 +635,14 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE_II, false);
}
break;
@@ -639,6 +651,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -647,6 +660,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -655,6 +669,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -663,6 +678,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -671,6 +687,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -679,6 +696,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -687,6 +705,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -695,6 +714,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -703,6 +723,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -711,6 +732,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -719,6 +741,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -727,6 +750,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -735,6 +759,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -743,6 +768,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -751,6 +777,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -759,6 +786,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -767,6 +795,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -775,6 +804,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -783,6 +813,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -791,6 +822,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -799,6 +831,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -807,12 +840,14 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
else if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_PRE_TBC)))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE_II, false);
}
break;
@@ -821,6 +856,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -829,6 +865,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -837,6 +874,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -845,6 +883,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -853,6 +892,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -861,6 +901,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -869,6 +910,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -877,6 +919,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -885,6 +928,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -893,6 +937,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -901,6 +946,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -909,6 +955,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -917,6 +964,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -925,6 +973,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -933,6 +982,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -941,6 +991,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -949,6 +1000,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -957,6 +1009,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -965,6 +1018,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -973,12 +1027,14 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE_II, false);
}
break;
@@ -996,6 +1052,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
}
break;
@@ -1003,12 +1060,43 @@ public:
uint32 mapid = player->GetMapId();
if (mapid == MAP_SHADOWFANG_KEEP)
if (mapid == MAP_VAULT_OF_ARCHAVON)
{
if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_WOTLK_TIER_1) && sIndividualProgression->isBeforeProgression(player, PROGRESSION_WOTLK_TIER_2))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
break;
}
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_WOTLK_TIER_2) && sIndividualProgression->isBeforeProgression(player, PROGRESSION_WOTLK_TIER_3))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
player->CastSpell(player, IPP_PHASE_II, false);
break;
}
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_WOTLK_TIER_3))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
player->CastSpell(player, IPP_PHASE_II, false);
player->CastSpell(player, IPP_PHASE_III, false);
break;
}
}
if (mapid == MAP_SHADOWFANG_KEEP)
{
if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ) && sIndividualProgression->isBeforeProgression(player, PROGRESSION_NAXX40))
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
break;
}
@@ -1019,6 +1107,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
break;
}
@@ -1029,6 +1118,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
break;
}
@@ -1039,6 +1129,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
break;
}
@@ -1049,6 +1140,7 @@ public:
{
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
player->CastSpell(player, IPP_PHASE, false);
break;
}
@@ -1056,6 +1148,7 @@ public:
player->RemoveAura(IPP_PHASE);
player->RemoveAura(IPP_PHASE_II);
player->RemoveAura(IPP_PHASE_III);
}
}