OSDN Git Service

Merge pull request #3532 from sikabane-works/release/3.0.0.87-alpha
[hengbandforosx/hengbandosx.git] / src / avatar / avatar.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include <map>
5 #include <string>
6
7 enum class Virtue : short {
8     NONE = 0,
9     COMPASSION = 1,
10     HONOUR = 2,
11     JUSTICE = 3,
12     SACRIFICE = 4,
13     KNOWLEDGE = 5,
14     FAITH = 6,
15     ENLIGHTEN = 7,
16     ENCHANT = 8,
17     CHANCE = 9,
18     NATURE = 10,
19     HARMONY = 11,
20     VITALITY = 12,
21     UNLIFE = 13,
22     PATIENCE = 14,
23     TEMPERANCE = 15,
24     DILIGENCE = 16,
25     VALOUR = 17,
26     INDIVIDUALISM = 18,
27     MAX,
28 };
29
30 class PlayerType;
31 extern const std::map<Virtue, std::string> virtue_names;
32 bool compare_virtue(PlayerType *player_ptr, Virtue virtue, int threshold);
33 int virtue_number(PlayerType *player_ptr, Virtue virtue);
34 void initialize_virtues(PlayerType *player_ptr);
35 void chg_virtue(PlayerType *player_ptr, Virtue virtue, int amount);
36 void set_virtue(PlayerType *player_ptr, Virtue virtue, int amount);
37 void dump_virtues(PlayerType *player_ptr, FILE *out_file);