mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 23:44:51 +08:00
Solve AQ Event Order (#114)
Oh my, this took me a while to figure out. - removed AQ skip options. AQ quest line is optional for everyone. No need for a config option for this. If you want to skip the war effort phase you just run to the Scarab Gong and hit it. - After the the pre-AQ (war effort) phase you now enter the AQ war phase. The AQ gates have been opened, the gong was rung. you can still finish the AQ quest line during this phase. New quest added to finish the AQ war, called Chaos and Destruction. objective is to kill the three Colossus bugs in the hives. - After the Chaos and Destruction quest has been completed the scarab gong will be gone. - you can ignore the Chaos and Destruction quest. it's not mandatory to complete because the gates to AQ are open. but doing so means you do not get the Field Duty quests, those are only available after the AQ war is over. I gave the Chaos and Destruction quest a 48 hour timer, but it's symbolic really. You can pick it up again at the scarab gong. I still need quest text for the Chaos and Destruction quest. Maybe someone can come up with good quest text. If not, I'll try to do it myself.
This commit is contained in:
@@ -266,7 +266,13 @@ public:
|
||||
{
|
||||
sIndividualProgression->UpdateProgressionState(player, PROGRESSION_PRE_AQ);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case CHAOS_AND_DESTRUCTION:
|
||||
if (!sIndividualProgression->disableDefaultProgression)
|
||||
{
|
||||
sIndividualProgression->UpdateProgressionState(player, PROGRESSION_AQ_WAR);
|
||||
}
|
||||
break;
|
||||
case QUEST_MORROWGRAIN:
|
||||
case QUEST_TROLL_NECKLACE:
|
||||
case QUEST_DEADWOOD:
|
||||
@@ -338,60 +344,80 @@ public:
|
||||
{
|
||||
switch (newArea) {
|
||||
case AREA_DARKSHORE:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
break;
|
||||
case AREA_GROVE_OF_THE_ANCIENTS:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
break;
|
||||
case AREA_WILDBEND_RIVER:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
break;
|
||||
case AREA_TWILIGHT_VALE:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
break;
|
||||
case AREA_SILITHUS:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE_AQ);
|
||||
player->CastSpell(player, IPP_PHASE_AQ, false);
|
||||
}
|
||||
break;
|
||||
case AREA_HIVE_ASHI:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE_AQ);
|
||||
player->CastSpell(player, IPP_PHASE_AQ, false);
|
||||
}
|
||||
break;
|
||||
case AREA_HIVE_ZORA:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE_AQ);
|
||||
player->CastSpell(player, IPP_PHASE_AQ, false);
|
||||
}
|
||||
break;
|
||||
case AREA_HIVE_REGAL:
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ)))
|
||||
if ((sIndividualProgression->hasPassedProgression(player, PROGRESSION_PRE_AQ)) && (sIndividualProgression->isBeforeProgression(player, PROGRESSION_AQ_WAR)))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE);
|
||||
player->CastSpell(player, IPP_PHASE, false);
|
||||
}
|
||||
else if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_AQ_WAR))
|
||||
{
|
||||
player->RemoveAura(IPP_PHASE_AQ);
|
||||
player->CastSpell(player, IPP_PHASE_AQ, false);
|
||||
}
|
||||
break;
|
||||
case AREA_BOUGH_SHADOW:
|
||||
if (sIndividualProgression->hasPassedProgression(player, PROGRESSION_ONYXIA))
|
||||
|
||||
Reference in New Issue
Block a user