Freeciv21
Develop your civilization from humble roots to a global empire
achievements.h File Reference
#include "fc_types.h"
#include "name_translation.h"
#include "player.h"
+ Include dependency graph for achievements.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  achievement
 

Macros

#define achievements_iterate(_ach_)
 
#define achievements_iterate_end
 
#define achievements_re_active_iterate(_p)
 
#define achievements_re_active_iterate_end
 

Functions

void achievements_init ()
 Initialize achievements. More...
 
void achievements_free ()
 Free the memory associated with achievements. More...
 
int achievement_index (const struct achievement *pach)
 Return the achievement index. More...
 
int achievement_number (const struct achievement *pach)
 Return the achievement id. More...
 
struct achievementachievement_by_number (int id)
 Return achievements of given id. More...
 
const char * achievement_name_translation (struct achievement *pach)
 Return translated name of this achievement type. More...
 
const char * achievement_rule_name (struct achievement *pach)
 Return untranslated name of this achievement type. More...
 
struct achievementachievement_by_rule_name (const char *name)
 Returns achievement matching rule name or nullptr if there is no achievement with such name. More...
 
struct playerachievement_plr (struct achievement *ach, struct player_list *achievers)
 Check if some player has now achieved the achievement and return the player in question. More...
 
bool achievement_check (struct achievement *ach, struct player *pplayer)
 Check if player has now achieved the achievement. More...
 
const char * achievement_first_msg (struct achievement *pach)
 Return message to send to first player gaining the achievement. More...
 
const char * achievement_later_msg (struct achievement *pach)
 Return message to send to other players gaining the achievement. More...
 
bool achievement_player_has (const struct achievement *pach, const struct player *pplayer)
 Has the given player got the achievement? More...
 
bool achievement_claimed (const struct achievement *pach)
 Has anybody got the achievement? More...
 
int get_literacy (const struct player *pplayer)
 Literacy score calculated one way. More...
 

Macro Definition Documentation

◆ achievements_iterate

#define achievements_iterate (   _ach_)
Value:
{ \
int _i_; \
for (_i_ = 0; _i_ < game.control.num_achievement_types; _i_++) { \
struct achievement *_ach_ = achievement_by_number(_i_);
struct achievement * achievement_by_number(int id)
Return achievements of given id.
struct civ_game game
Definition: game.cpp:47
struct packet_ruleset_control control
Definition: game.h:74

Definition at line 58 of file achievements.h.

◆ achievements_iterate_end

#define achievements_iterate_end
Value:
} \
}

Definition at line 64 of file achievements.h.

◆ achievements_re_active_iterate

#define achievements_re_active_iterate (   _p)
Value:
{ \
if (!_p->ruledit_disabled) {
#define achievements_iterate(_ach_)
Definition: achievements.h:58

Definition at line 68 of file achievements.h.

◆ achievements_re_active_iterate_end

#define achievements_re_active_iterate_end
Value:
} \
} \
achievements_iterate_end;

Definition at line 73 of file achievements.h.

Function Documentation

◆ achievement_by_number()

struct achievement* achievement_by_number ( int  id)

Return achievements of given id.

Definition at line 90 of file achievements.cpp.

Referenced by handle_achievement_info(), handle_ruleset_achievement(), and universal_value_initial().

◆ achievement_by_rule_name()

struct achievement* achievement_by_rule_name ( const char *  name)

Returns achievement matching rule name or nullptr if there is no achievement with such name.

Definition at line 118 of file achievements.cpp.

Referenced by sg_load_player_main(), and universal_by_number().

◆ achievement_check()

bool achievement_check ( struct achievement ach,
struct player pplayer 
)

Check if player has now achieved the achievement.

Definition at line 182 of file achievements.cpp.

Referenced by achievement_plr().

◆ achievement_claimed()

bool achievement_claimed ( const struct achievement pach)

Has anybody got the achievement?

Definition at line 380 of file achievements.cpp.

◆ achievement_first_msg()

const char* achievement_first_msg ( struct achievement pach)

Return message to send to first player gaining the achievement.

Definition at line 347 of file achievements.cpp.

Referenced by end_turn().

◆ achievement_index()

int achievement_index ( const struct achievement pach)

Return the achievement index.

Definition at line 80 of file achievements.cpp.

Referenced by end_turn(), load_command(), load_game_names(), and load_ruleset_game().

◆ achievement_later_msg()

const char* achievement_later_msg ( struct achievement pach)

Return message to send to other players gaining the achievement.

Definition at line 357 of file achievements.cpp.

Referenced by end_turn().

◆ achievement_name_translation()

const char* achievement_name_translation ( struct achievement pach)

Return translated name of this achievement type.

Definition at line 101 of file achievements.cpp.

Referenced by api_methods_achievement_name_translation(), report_achievements(), req_text_insert(), universal_name_translation(), and worklist_item_postpone_req_vec().

◆ achievement_number()

int achievement_number ( const struct achievement pach)

Return the achievement id.

Definition at line 70 of file achievements.cpp.

Referenced by send_ruleset_achievements(), and universal_number().

◆ achievement_player_has()

bool achievement_player_has ( const struct achievement pach,
const struct player pplayer 
)

Has the given player got the achievement?

Definition at line 367 of file achievements.cpp.

Referenced by load_command(), report_achievements(), and sg_save_player_main().

◆ achievement_plr()

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.

Definition at line 137 of file achievements.cpp.

Referenced by end_turn().

◆ achievement_rule_name()

const char* achievement_rule_name ( struct achievement pach)

◆ achievements_free()

void achievements_free ( )

Free the memory associated with achievements.

Definition at line 57 of file achievements.cpp.

Referenced by game_ruleset_free().

◆ achievements_init()

void achievements_init ( )

Initialize achievements.

Definition at line 38 of file achievements.cpp.

Referenced by game_ruleset_init().

◆ get_literacy()

int get_literacy ( const struct player pplayer)

Literacy score calculated one way.

See also get_literacy2() for alternative way.

Definition at line 389 of file achievements.cpp.

Referenced by achievement_check(), and report_final_scores().