Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
AchievementCriteriaPackets.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SKYFIRE_ACHIEVEMENT_CRITERIA_PACKETS_H
7#define SKYFIRE_ACHIEVEMENT_CRITERIA_PACKETS_H
8
9#include "Define.h"
10#include "DBCEnums.h"
11
12namespace Skyfire
13{
14namespace Achievements
15{
16 inline bool IsLiveCriteriaProgressEligible(uint32 achievementFlags)
17 {
18 return (achievementFlags & (ACHIEVEMENT_FLAG_COUNTER | ACHIEVEMENT_FLAG_HIDDEN)) == 0;
19 }
20
21 inline bool IsLiveCriteriaTypeEligible(uint32 criteriaType)
22 {
23 switch (criteriaType)
24 {
30 return false;
31 default:
32 return true;
33 }
34 }
35
36 inline bool ShouldSendLiveCriteriaProgress(bool hasLinkedAchievement, bool hasLiveEligibleAchievement)
37 {
38 return hasLinkedAchievement && hasLiveEligibleAchievement;
39 }
40}
41}
42
43#endif
@ ACHIEVEMENT_FLAG_COUNTER
Definition DBCEnums.h:53
@ ACHIEVEMENT_FLAG_HIDDEN
Definition DBCEnums.h:54
@ ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN
Definition DBCEnums.h:263
@ ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP
Definition DBCEnums.h:184
@ ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM
Definition DBCEnums.h:191
@ ACHIEVEMENT_CRITERIA_TYPE_DEATH
Definition DBCEnums.h:185
@ ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON
Definition DBCEnums.h:186
std::uint32_t uint32
Definition Define.h:77
bool IsLiveCriteriaTypeEligible(uint32 criteriaType)
bool IsLiveCriteriaProgressEligible(uint32 achievementFlags)
bool ShouldSendLiveCriteriaProgress(bool hasLinkedAchievement, bool hasLiveEligibleAchievement)