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

@@ -1,5 +1,6 @@
SET @IPPPHASE := 65536;
SET @IPPPHASE_II := 131072;
SET @IPPPHASE := 65536;
SET @IPPPHASE_II := 131072;
SET @IPPPHASE_III := 262144;
DELETE FROM `spell_dbc` WHERE `ID` IN (89501, 89505, 89507, 89509, 89511);
@@ -14,4 +15,5 @@ INSERT INTO spell_dbc (`ID`,`Category`,`DispelType`,`Mechanic`,`Attributes`,`Att
INSERT INTO spell_dbc (`ID`,`Category`,`DispelType`,`Mechanic`,`Attributes`,`AttributesEx`,`AttributesEx2`,`AttributesEx3`,`AttributesEx4`,`AttributesEx5`,`AttributesEx6`,`AttributesEx7`,`ShapeshiftMask`,`unk_320_2`,`ShapeshiftExclude`,`unk_320_3`,`Targets`,`TargetCreatureType`,`RequiresSpellFocus`,`FacingCasterFlags`,`CasterAuraState`,`TargetAuraState`,`ExcludeCasterAuraState`,`ExcludeTargetAuraState`,`CasterAuraSpell`,`TargetAuraSpell`,`ExcludeCasterAuraSpell`,`ExcludeTargetAuraSpell`,`CastingTimeIndex`,`RecoveryTime`,`CategoryRecoveryTime`,`InterruptFlags`,`AuraInterruptFlags`,`ChannelInterruptFlags`,`ProcTypeMask`,`ProcChance`,`ProcCharges`,`MaxLevel`,`BaseLevel`,`SpellLevel`,`DurationIndex`,`PowerType`,`ManaCost`,`ManaCostPerLevel`,`ManaPerSecond`,`ManaPerSecondPerLevel`,`RangeIndex`,`Speed`,`ModalNextSpell`,`CumulativeAura`,`Totem_1`,`Totem_2`,`Reagent_1`,`Reagent_2`,`Reagent_3`,`Reagent_4`,`Reagent_5`,`Reagent_6`,`Reagent_7`,`Reagent_8`,`ReagentCount_1`,`ReagentCount_2`,`ReagentCount_3`,`ReagentCount_4`,`ReagentCount_5`,`ReagentCount_6`,`ReagentCount_7`,`ReagentCount_8`,`EquippedItemClass`,`EquippedItemSubclass`,`EquippedItemInvTypes`,`Effect_1`,`Effect_2`,`Effect_3`,`EffectDieSides_1`,`EffectDieSides_2`,`EffectDieSides_3`,`EffectRealPointsPerLevel_1`,`EffectRealPointsPerLevel_2`,`EffectRealPointsPerLevel_3`,`EffectBasePoints_1`,`EffectBasePoints_2`,`EffectBasePoints_3`,`EffectMechanic_1`,`EffectMechanic_2`,`EffectMechanic_3`,`ImplicitTargetA_1`,`ImplicitTargetA_2`,`ImplicitTargetA_3`,`ImplicitTargetB_1`,`ImplicitTargetB_2`,`ImplicitTargetB_3`,`EffectRadiusIndex_1`,`EffectRadiusIndex_2`,`EffectRadiusIndex_3`,`EffectAura_1`,`EffectAura_2`,`EffectAura_3`,`EffectAuraPeriod_1`,`EffectAuraPeriod_2`,`EffectAuraPeriod_3`,`EffectMultipleValue_1`,`EffectMultipleValue_2`,`EffectMultipleValue_3`,`EffectChainTargets_1`,`EffectChainTargets_2`,`EffectChainTargets_3`,`EffectItemType_1`,`EffectItemType_2`,`EffectItemType_3`,`EffectMiscValue_1`,`EffectMiscValue_2`,`EffectMiscValue_3`,`EffectMiscValueB_1`,`EffectMiscValueB_2`,`EffectMiscValueB_3`,`EffectTriggerSpell_1`,`EffectTriggerSpell_2`,`EffectTriggerSpell_3`,`EffectPointsPerCombo_1`,`EffectPointsPerCombo_2`,`EffectPointsPerCombo_3`,`EffectSpellClassMaskA_1`,`EffectSpellClassMaskA_2`,`EffectSpellClassMaskA_3`,`EffectSpellClassMaskB_1`,`EffectSpellClassMaskB_2`,`EffectSpellClassMaskB_3`,`EffectSpellClassMaskC_1`,`EffectSpellClassMaskC_2`,`EffectSpellClassMaskC_3`,`SpellVisualID_1`,`SpellVisualID_2`,`SpellIconID`,`ActiveIconID`,`SpellPriority`,`Name_Lang_enUS`,`Name_Lang_enGB`,`Name_Lang_koKR`,`Name_Lang_frFR`,`Name_Lang_deDE`,`Name_Lang_enCN`,`Name_Lang_zhCN`,`Name_Lang_enTW`,`Name_Lang_zhTW`,`Name_Lang_esES`,`Name_Lang_esMX`,`Name_Lang_ruRU`,`Name_Lang_ptPT`,`Name_Lang_ptBR`,`Name_Lang_itIT`,`Name_Lang_Unk`,`Name_Lang_Mask`,`NameSubtext_Lang_enUS`,`NameSubtext_Lang_enGB`,`NameSubtext_Lang_koKR`,`NameSubtext_Lang_frFR`,`NameSubtext_Lang_deDE`,`NameSubtext_Lang_enCN`,`NameSubtext_Lang_zhCN`,`NameSubtext_Lang_enTW`,`NameSubtext_Lang_zhTW`,`NameSubtext_Lang_esES`,`NameSubtext_Lang_esMX`,`NameSubtext_Lang_ruRU`,`NameSubtext_Lang_ptPT`,`NameSubtext_Lang_ptBR`,`NameSubtext_Lang_itIT`,`NameSubtext_Lang_Unk`,`NameSubtext_Lang_Mask`,`Description_Lang_enUS`,`Description_Lang_enGB`,`Description_Lang_koKR`,`Description_Lang_frFR`,`Description_Lang_deDE`,`Description_Lang_enCN`,`Description_Lang_zhCN`,`Description_Lang_enTW`,`Description_Lang_zhTW`,`Description_Lang_esES`,`Description_Lang_esMX`,`Description_Lang_ruRU`,`Description_Lang_ptPT`,`Description_Lang_ptBR`,`Description_Lang_itIT`,`Description_Lang_Unk`,`Description_Lang_Mask`,`AuraDescription_Lang_enUS`,`AuraDescription_Lang_enGB`,`AuraDescription_Lang_koKR`,`AuraDescription_Lang_frFR`,`AuraDescription_Lang_deDE`,`AuraDescription_Lang_enCN`,`AuraDescription_Lang_zhCN`,`AuraDescription_Lang_enTW`,`AuraDescription_Lang_zhTW`,`AuraDescription_Lang_esES`,`AuraDescription_Lang_esMX`,`AuraDescription_Lang_ruRU`,`AuraDescription_Lang_ptPT`,`AuraDescription_Lang_ptBR`,`AuraDescription_Lang_itIT`,`AuraDescription_Lang_Unk`,`AuraDescription_Lang_Mask`,`ManaCostPct`,`StartRecoveryCategory`,`StartRecoveryTime`,`MaxTargetLevel`,`SpellClassSet`,`SpellClassMask_1`,`SpellClassMask_2`,`SpellClassMask_3`,`MaxTargets`,`DefenseType`,`PreventionType`,`StanceBarOrder`,`EffectChainAmplitude_1`,`EffectChainAmplitude_2`,`EffectChainAmplitude_3`,`MinFactionID`,`MinReputation`,`RequiredAuraVision`,`RequiredTotemCategoryID_1`,`RequiredTotemCategoryID_2`,`RequiredAreasID`,`SchoolMask`,`RuneCostID`,`SpellMissileID`,`PowerDisplayID`,`EffectBonusMultiplier_1`,`EffectBonusMultiplier_2`,`EffectBonusMultiplier_3`,`SpellDescriptionVariableID`,`SpellDifficultyID`) VALUES
(89509,0,0,0,2843738496,3072,16385,1048576,128,393224,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,101,0,0,0,0,21,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,6,0,0,1,0,0,0,0,0,-1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,@IPPPHASE + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,'Phase Shift: IPP','','','','','','','','','','','','','','','',16712190,'','','','','','','','','','','','','','','','',16712172,'','','','','','','','','','','','','','','','',16712188,'','','','','','','','','','','','','','','','',16712188,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0),
(89511,0,0,0,2843738496,3072,16385,1048576,128,393224,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,101,0,0,0,0,21,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,6,0,0,1,0,0,0,0,0,-1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,@IPPPHASE_II + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,'Phase Shift: IPP','','','','','','','','','','','','','','','',16712190,'','','','','','','','','','','','','','','','',16712172,'','','','','','','','','','','','','','','','',16712188,'','','','','','','','','','','','','','','','',16712188,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0);
(89511,0,0,0,2843738496,3072,16385,1048576,128,393224,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,101,0,0,0,0,21,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,6,0,0,1,0,0,0,0,0,-1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,@IPPPHASE_II + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,'Phase Shift: IPP','','','','','','','','','','','','','','','',16712190,'','','','','','','','','','','','','','','','',16712172,'','','','','','','','','','','','','','','','',16712188,'','','','','','','','','','','','','','','','',16712188,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0),
(89513,0,0,0,2843738496,3072,16385,1048576,128,393224,4096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,101,0,0,0,0,21,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,6,0,0,1,0,0,0,0,0,-1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,@IPPPHASE_III + 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,'Phase Shift: IPP','','','','','','','','','','','','','','','',16712190,'','','','','','','','','','','','','','','','',16712172,'','','','','','','','','','','','','','','','',16712188,'','','','','','','','','','','','','','','','',16712188,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0);

View File

@@ -1,5 +1,6 @@
SET @IPPPHASE := 65536; -- this method of phasing is useful for aggressive creatures
SET @IPPPHASE_II := 131072;
SET @IPPPHASE := 65536; -- this method of phasing is useful for aggressive creatures
SET @IPPPHASE_II := 131072;
SET @IPPPHASE_III := 262144;
UPDATE `creature_template` SET `ScriptName` = 'npc_ipp_tbc' WHERE `entry` IN (16841, 19254, 16840,
20026, 20027, 20053, 20054, 20069, 18542, 20080, 20081, 20082, 21643, 20130,
@@ -64,6 +65,11 @@ UPDATE `creature_template` SET `ScriptName` = 'npc_ipp_tbc_t5' WHERE `entry` IN
-- Dragons of Nightmare
UPDATE `creature` SET `phaseMask` = @IPPPHASE WHERE `id1` IN (14887, 14888, 14889, 14890);
-- Vault of Archavon
UPDATE `creature` SET `phaseMask` = @IPPPHASE WHERE `id1` = 33993; -- Emalon the Storm Watcher
UPDATE `creature` SET `phaseMask` = @IPPPHASE_II WHERE `id1` = 35013; -- Koralon the Flame Watcher
UPDATE `creature` SET `phaseMask` = @IPPPHASE_III WHERE `id1` = 38433; -- Toravon the Ice Watcher
-- Argent Tournament
UPDATE `creature` SET `phaseMask` = @IPPPHASE WHERE `guid` IN (25, 63129, 63236, 63370, 63371, 65274, 65275, 65283, 65284, 65285, 65325, 65327, 65350, 65351, 65371, 65451,
65522, 65523, 65526, 65901, 66478, 66479, 66741, 66753, 66788, 66790, 66792, 66910, 66941, 67185, 67187, 68005, 68457, 68583, 68906, 68941, 68947, 68987, 68989, 68990, 69010,

View File

@@ -55,7 +55,8 @@ enum BuffSpells
SPELL_RUNE_TAP = 48982,
SPELL_LIFE_STEAL = 20004,
IPP_PHASE = 89509,
IPP_PHASE_II = 89511
IPP_PHASE_II = 89511,
IPP_PHASE_III = 89513
};
enum ProgressionQuestIDs

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);
}
}