mirror of
https://github.com/mangosfour/server.git
synced 2025-12-17 07:37:03 +00:00
[10356] Drop unneeded groupFlag and rename it properly
(based on Schmoozerd's repo commit 1e8c842) Also drop `achievement_criteria_requirement` data use at start timed achivement: its will be checked at criteria update (and complete) case. So wrong criteria will started maybe (timer set but always fail - progress not updated. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
c7761a6db9
commit
3dd8c72a00
5 changed files with 11 additions and 18 deletions
|
|
@ -725,9 +725,6 @@ void AchievementMgr::StartTimedAchievementCriteria(AchievementCriteriaTypes type
|
|||
if (!achievementCriteria->IsExplicitlyStartedTimedCriteria())
|
||||
continue;
|
||||
|
||||
if (achievementCriteria->groupFlag & ACHIEVEMENT_CRITERIA_GROUP_NOT_IN_GROUP && GetPlayer()->GetGroup())
|
||||
continue;
|
||||
|
||||
AchievementEntry const *achievement = sAchievementStore.LookupEntry(achievementCriteria->referredAchievement);
|
||||
if (!achievement)
|
||||
continue;
|
||||
|
|
@ -740,9 +737,8 @@ void AchievementMgr::StartTimedAchievementCriteria(AchievementCriteriaTypes type
|
|||
if (IsCompletedCriteria(achievementCriteria,achievement))
|
||||
continue;
|
||||
|
||||
// if we have additional DB criteria, they must be met to start the criteria
|
||||
AchievementCriteriaRequirementSet const* data = sAchievementMgr.GetCriteriaRequirementSet(achievementCriteria);
|
||||
if (data && !data->Meets(GetPlayer(), NULL)) // TODO this might need more research, if this could be the player, or we also need to pass an unit
|
||||
// Only the Quest-Complete Timed Achievements need the groupcheck, so this check is only needed here
|
||||
if (achievementCriteria->requiredType == ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST && GetPlayer()->GetGroup())
|
||||
continue;
|
||||
|
||||
// do not start already failed timers
|
||||
|
|
@ -782,9 +778,6 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
|
|||
{
|
||||
AchievementCriteriaEntry const *achievementCriteria = (*i);
|
||||
|
||||
if (achievementCriteria->groupFlag & ACHIEVEMENT_CRITERIA_GROUP_NOT_IN_GROUP && GetPlayer()->GetGroup())
|
||||
continue;
|
||||
|
||||
AchievementEntry const *achievement = sAchievementStore.LookupEntry(achievementCriteria->referredAchievement);
|
||||
if (!achievement)
|
||||
continue;
|
||||
|
|
@ -1182,6 +1175,9 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui
|
|||
break;
|
||||
}
|
||||
|
||||
// As the groupFlag had wrong meaning, only the Quest-Complete Timed Achievements need the groupcheck, so this check is only needed here
|
||||
if (achievementCriteria->timeLimit > 0 && GetPlayer()->GetGroup())
|
||||
continue;
|
||||
|
||||
change = 1;
|
||||
progressType = PROGRESS_HIGHEST;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue