feat(Core): improved some hooks (#6302)

This commit is contained in:
Yehonal
2021-06-13 10:23:24 +02:00
committed by GitHub
parent 806dc4052f
commit baf437bb98
43 changed files with 162 additions and 93 deletions

View File

@@ -359,7 +359,7 @@ bool AchievementCriteriaData::Meets(uint32 criteria_id, Player const* source, Un
return false;
return target->getGender() == gender.gender;
case ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT:
return sScriptMgr->OnCriteriaCheck(ScriptId, const_cast<Player*>(source), const_cast<Unit*>(target));
return sScriptMgr->OnCriteriaCheck(ScriptId, const_cast<Player*>(source), const_cast<Unit*>(target), criteria_id);
case ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_DIFFICULTY:
{
if (source->GetMap()->IsRaid())
@@ -2025,6 +2025,11 @@ void AchievementMgr::SetCriteriaProgress(AchievementCriteriaEntry const* entry,
if (entry->timeLimit && timedIter == m_timedAchievements.end())
return;
if (!sScriptMgr->OnBeforeCriteriaProgress(GetPlayer(), entry))
{
return;
}
#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS)
LOG_DEBUG("achievement", "AchievementMgr::SetCriteriaProgress(%u, %u) for %s", entry->ID, changeValue, m_player->GetGUID().ToString().c_str());
#endif
@@ -2180,6 +2185,11 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
return;
}
if (!sScriptMgr->OnBeforeAchievementComplete(GetPlayer(), achievement))
{
return;
}
if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || HasAchieved(achievement->ID))
return;