mirror of
https://github.com/ZhengPeiRu21/mod-individual-progression
synced 2025-11-29 23:44:51 +08:00
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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user