OSDN Git Service

[Refactor] #963 Moved calculate_upkeep() from player-status.h to pet-util.h
[hengbandforosx/hengbandosx.git] / src / player / player-skill.h
1 #pragma once
2
3 #include "system/angband.h"
4 #include <string>
5 #include <vector>
6
7 #define GINOU_SUDE 0
8 #define GINOU_NITOURYU 1
9 #define GINOU_RIDING 2
10 #define GINOU_SHIELD 3
11 #define GINOU_TEMPMAX 4
12
13 /* Proficiency level */
14 #define EXP_LEVEL_UNSKILLED 0
15 #define EXP_LEVEL_BEGINNER 1
16 #define EXP_LEVEL_SKILLED 2
17 #define EXP_LEVEL_EXPERT 3
18 #define EXP_LEVEL_MASTER 4
19
20 /* Proficiency of weapons and misc. skills (except riding) */
21 #define WEAPON_EXP_UNSKILLED 0
22 #define WEAPON_EXP_BEGINNER 4000
23 #define WEAPON_EXP_SKILLED 6000
24 #define WEAPON_EXP_EXPERT 7000
25 #define WEAPON_EXP_MASTER 8000
26
27 /* Proficiency of riding */
28 #define RIDING_EXP_UNSKILLED 0
29 #define RIDING_EXP_BEGINNER 500
30 #define RIDING_EXP_SKILLED 2000
31 #define RIDING_EXP_EXPERT 5000
32 #define RIDING_EXP_MASTER 8000
33
34 /* Proficiency of spells */
35 #define SPELL_EXP_UNSKILLED 0
36 #define SPELL_EXP_BEGINNER 900
37 #define SPELL_EXP_SKILLED 1200
38 #define SPELL_EXP_EXPERT 1400
39 #define SPELL_EXP_MASTER 1600
40
41 extern const concptr exp_level_str[5];
42
43 /*
44  * Information about "skill"
45  */
46 typedef struct skill_table {
47     SUB_EXP w_start[5][64]{}; /* start weapon exp */
48     SUB_EXP w_max[5][64]{}; /* max weapon exp */
49     SUB_EXP s_start[10]{}; /* start skill */
50     SUB_EXP s_max[10]{}; /* max skill */
51 } skill_table;
52
53 extern std::vector<skill_table> s_info;