fix(Core/Achievements): new achievement criteria type ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES (#7756)

- Closes #7613
This commit is contained in:
UltraNix
2021-09-11 11:02:38 +02:00
committed by GitHub
parent 83e0096349
commit e5b8dbeb29
3 changed files with 99 additions and 69 deletions
+12 -5
View File
@@ -55,9 +55,10 @@ enum AchievementCriteriaDataType
ACHIEVEMENT_CRITERIA_DATA_TYPE_MAP_ID = 20, // map_id 0 player must be on map with id in map_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_PLAYER_CLASS_RACE = 21, // class_id race_id
ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22, // N login on day of N-th Birthday
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE = 23 // title_id known (pvp) title, values from dbc
ACHIEVEMENT_CRITERIA_DATA_TYPE_S_KNOWN_TITLE = 23, // title_id known (pvp) title, values from dbc
ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24, // winner_score loser score player's team win bg and their teams have exact scores
};
#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 24 // maximum value in AchievementCriteriaDataType enum
#define MAX_ACHIEVEMENT_CRITERIA_DATA_TYPE 25 // maximum value in AchievementCriteriaDataType enum
enum AchievementCommonCategories
{
@@ -156,7 +157,7 @@ struct AchievementCriteriaData
uint32 min_score;
uint32 max_score;
} bg_loss_team_score;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_INSTANCE_SCRIPT = 18 (no data)
// ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM = 19
struct
{
@@ -168,16 +169,22 @@ struct AchievementCriteriaData
{
uint32 mapId;
} map_id;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 21
// ACHIEVEMENT_CRITERIA_DATA_TYPE_NTH_BIRTHDAY = 22
struct
{
uint32 nth_birthday;
} birthday_login;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 22
// ACHIEVEMENT_CRITERIA_DATA_TYPE_KNOWN_TITLE = 23
struct
{
uint32 title_id;
} known_title;
// ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_TEAMS_SCORES = 24
struct
{
uint32 winner_score;
uint32 loser_score;
} teams_scores;
// ...
struct
{