Now also checking achievements for progression kills (#587)

- now checking achievements as well for progression updates
- no longer checking progression after every creature kill. now only after boss kills.
This commit is contained in:
Grimfeather
2025-07-29 05:54:58 +02:00
committed by GitHub
parent 17714b461e
commit 07a79aaa23
3 changed files with 172 additions and 73 deletions

View File

@@ -208,71 +208,146 @@ bool IndividualProgression::hasCustomProgressionValue(uint32 creatureEntry)
}
void IndividualProgression::checkIPProgression(Player* killer)
{
if (!enabled || disableDefaultProgression)
{
return;
}
if (killer->HasAchieved(HALION_KILL)) // 4815
{
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_5);
return;
}
else if (killer->HasAchieved(LICH_KING_KILL)) // 4597
{
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_4);
return;
}
else if (killer->HasAchieved(ANUB_ARAK_KILL)) // 3916
{
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_3);
return;
}
else if (killer->HasAchieved(KEL_THUZAD_KILL)) // 575
{
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_1);
return;
}
else if (killer->HasAchieved(KIL_JAEDEN_KILL)) // 698
{
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_5);
return;
}
else if (killer->HasAchieved(ZUL_JIN_KILL)) // 691
{
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_4);
return;
}
else if (killer->HasAchieved(ILLIDAN_KILL)) // 697
{
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_3);
return;
}
else if (killer->HasAchieved(KAEL_THAS_KILL)) // 696
{
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_2);
return;
}
else if (killer->HasAchieved(MALCHEZAAR_KILL)) // 690
{
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_1);
return;
}
else if (killer->HasAchieved(C_THUN_KILL)) // 687
{
UpdateProgressionState(killer, PROGRESSION_AQ);
return;
}
else if (killer->HasAchieved(NEFARIAN_KILL)) // 685
{
UpdateProgressionState(killer, PROGRESSION_BLACKWING_LAIR);
return;
}
else if (killer->HasAchieved(ONYXIAS_KILL)) // 684
{
UpdateProgressionState(killer, PROGRESSION_ONYXIA);
return;
}
else if (killer->HasAchieved(RAGNAROS_KILL)) // 686
{
UpdateProgressionState(killer, PROGRESSION_MOLTEN_CORE);
return;
}
}
void IndividualProgression::checkKillProgression(Player* killer, Creature* killed)
{
if (!enabled)
{
return;
}
if (!enabled)
{
return;
}
if (hasCustomProgressionValue(killed->GetEntry()))
{
UpdateProgressionState(killer, static_cast<ProgressionState>(customProgressionMap[killed->GetEntry()]));
return;
}
if (hasCustomProgressionValue(killed->GetEntry()))
{
UpdateProgressionState(killer, static_cast<ProgressionState>(customProgressionMap[killed->GetEntry()]));
return;
}
if (disableDefaultProgression)
{
return;
}
switch (killed->GetEntry())
{
case RAGNAROS:
UpdateProgressionState(killer, PROGRESSION_MOLTEN_CORE);
break;
case ONYXIA:
UpdateProgressionState(killer, PROGRESSION_ONYXIA);
break;
case NEFARIAN:
UpdateProgressionState(killer, PROGRESSION_BLACKWING_LAIR);
break;
case CTHUN:
UpdateProgressionState(killer, PROGRESSION_AQ);
break;
case KELTHUZAD_40:
UpdateProgressionState(killer, PROGRESSION_NAXX40);
break;
case MALCHEZAAR:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_1);
break;
case KAELTHAS:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_2);
break;
case ILLIDAN:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_3);
break;
case ZULJIN:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_4);
break;
case KILJAEDEN:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_5);
break;
case KELTHUZAD:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_1);
break;
case YOGGSARON:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_2);
break;
case ANUBARAK:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_3);
break;
case LICH_KING:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_4);
break;
case HALION:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_5);
break;
}
if (disableDefaultProgression)
{
return;
}
switch (killed->GetEntry())
{
case RAGNAROS:
UpdateProgressionState(killer, PROGRESSION_MOLTEN_CORE);
break;
case ONYXIA:
UpdateProgressionState(killer, PROGRESSION_ONYXIA);
break;
case NEFARIAN:
UpdateProgressionState(killer, PROGRESSION_BLACKWING_LAIR);
break;
case CTHUN:
UpdateProgressionState(killer, PROGRESSION_AQ);
break;
case KELTHUZAD_40:
UpdateProgressionState(killer, PROGRESSION_NAXX40);
break;
case MALCHEZAAR:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_1);
break;
case KAELTHAS:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_2);
break;
case ILLIDAN:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_3);
break;
case ZULJIN:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_4);
break;
case KILJAEDEN:
UpdateProgressionState(killer, PROGRESSION_TBC_TIER_5);
break;
case KELTHUZAD:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_1);
break;
case YOGGSARON:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_2);
break;
case ANUBARAK:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_3);
break;
case LICH_KING:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_4);
break;
case HALION:
UpdateProgressionState(killer, PROGRESSION_WOTLK_TIER_5);
break;
}
}