24 enum achievement_type
type;
48 struct player_list *achievers);
55 const struct player *pplayer);
58 #define achievements_iterate(_ach_) \
61 for (_i_ = 0; _i_ < game.control.num_achievement_types; _i_++) { \
62 struct achievement *_ach_ = achievement_by_number(_i_);
64 #define achievements_iterate_end \
68 #define achievements_re_active_iterate(_p) \
69 achievements_iterate(_p) \
71 if (!_p->ruledit_disabled) {
73 #define achievements_re_active_iterate_end \
76 achievements_iterate_end;
bool achievement_check(struct achievement *ach, struct player *pplayer)
Check if player has now achieved the achievement.
void achievements_init()
Initialize achievements.
bool achievement_player_has(const struct achievement *pach, const struct player *pplayer)
Has the given player got the achievement?
const char * achievement_first_msg(struct achievement *pach)
Return message to send to first player gaining the achievement.
const char * achievement_later_msg(struct achievement *pach)
Return message to send to other players gaining the achievement.
int achievement_index(const struct achievement *pach)
Return the achievement index.
struct player * achievement_plr(struct achievement *ach, struct player_list *achievers)
Check if some player has now achieved the achievement and return the player in question.
int get_literacy(const struct player *pplayer)
Literacy score calculated one way.
int achievement_number(const struct achievement *pach)
Return the achievement id.
const char * achievement_rule_name(struct achievement *pach)
Return untranslated name of this achievement type.
void achievements_free()
Free the memory associated with achievements.
struct achievement * achievement_by_number(int id)
Return achievements of given id.
struct achievement * achievement_by_rule_name(const char *name)
Returns achievement matching rule name or nullptr if there is no achievement with such name.
bool achievement_claimed(const struct achievement *pach)
Has anybody got the achievement?
const char * achievement_name_translation(struct achievement *pach)
Return translated name of this achievement type.
enum achievement_type type
struct name_translation name