h2-mod/src/client/component/achievements.hpp

95 lines
1.6 KiB
C++
Raw Normal View History

2023-04-08 17:57:00 +02:00
#pragma once
namespace achievements
{
enum achievement_rarity
{
ACHIEVEMENT_RARITY_0,
ACHIEVEMENT_RARITY_1,
ACHIEVEMENT_RARITY_2,
ACHIEVEMENT_RARITY_3,
};
enum achievement_id
{
ACHIEVEMENT_ALL_ACHIEVEMENTS = 0,
ACHIEVEMENT_START = 1,
ACHIEVEMENT_1 = 1,
ACHIEVEMENT_2,
ACHIEVEMENT_3,
ACHIEVEMENT_4,
ACHIEVEMENT_5,
ACHIEVEMENT_6,
ACHIEVEMENT_7,
ACHIEVEMENT_8,
ACHIEVEMENT_9,
ACHIEVEMENT_10,
ACHIEVEMENT_11,
ACHIEVEMENT_12,
ACHIEVEMENT_13,
ACHIEVEMENT_14,
ACHIEVEMENT_15,
ACHIEVEMENT_16,
ACHIEVEMENT_17,
ACHIEVEMENT_18,
ACHIEVEMENT_19,
ACHIEVEMENT_20,
ACHIEVEMENT_21,
ACHIEVEMENT_22,
ACHIEVEMENT_23,
ACHIEVEMENT_24,
ACHIEVEMENT_25,
ACHIEVEMENT_26,
ACHIEVEMENT_27,
ACHIEVEMENT_28,
ACHIEVEMENT_29,
ACHIEVEMENT_30,
ACHIEVEMENT_31,
ACHIEVEMENT_32,
ACHIEVEMENT_33,
ACHIEVEMENT_34,
ACHIEVEMENT_35,
ACHIEVEMENT_36,
ACHIEVEMENT_37,
ACHIEVEMENT_38,
ACHIEVEMENT_39,
ACHIEVEMENT_40,
ACHIEVEMENT_41,
ACHIEVEMENT_42,
ACHIEVEMENT_43,
ACHIEVEMENT_44,
ACHIEVEMENT_45,
ACHIEVEMENT_46,
ACHIEVEMENT_47,
ACHIEVEMENT_48,
ACHIEVEMENT_49,
ACHIEVEMENT_50,
ACHIEVEMENT_ORIGINAL_COUNT = 51,
ACHIEVEMENT_51 = 51,
2023-04-08 17:57:00 +02:00
ACHIEVEMENT_52,
ACHIEVEMENT_TOTAL_COUNT,
2023-04-08 17:57:00 +02:00
};
struct achievement_t
{
achievement_id id;
std::string_view code;
achievement_rarity rarity;
};
2023-04-09 19:11:54 +02:00
struct achievement_file_t
{
std::uint32_t signature;
std::uint8_t version;
bool achievements[ACHIEVEMENT_TOTAL_COUNT];
2023-04-09 19:11:54 +02:00
};
void get_achievements(achievement_file_t* file);
2023-04-08 17:57:00 +02:00
int get_count();
bool has_achievement(int id);
std::string get_name(int id);
std::string get_details(int id);
int get_rarity(int id);
}