OSDN Git Service

Merge pull request #1522 from Slimebreath6078/feature/Rename_spell_msg
[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 enum skill_idx {
8     SKILL_MARTIAL_ARTS = 0,
9     SKILL_TWO_WEAPON = 1,
10     SKILL_RIDING = 2,
11     SKILL_SHIELD = 3,
12     SKILL_MAX = 4,
13 };
14
15 /* Proficiency level */
16 #define EXP_LEVEL_UNSKILLED 0
17 #define EXP_LEVEL_BEGINNER 1
18 #define EXP_LEVEL_SKILLED 2
19 #define EXP_LEVEL_EXPERT 3
20 #define EXP_LEVEL_MASTER 4
21
22 /* Proficiency of weapons and misc. skills (except riding) */
23 #define WEAPON_EXP_UNSKILLED 0
24 #define WEAPON_EXP_BEGINNER 4000
25 #define WEAPON_EXP_SKILLED 6000
26 #define WEAPON_EXP_EXPERT 7000
27 #define WEAPON_EXP_MASTER 8000
28
29 /* Proficiency of riding */
30 #define RIDING_EXP_UNSKILLED 0
31 #define RIDING_EXP_BEGINNER 500
32 #define RIDING_EXP_SKILLED 2000
33 #define RIDING_EXP_EXPERT 5000
34 #define RIDING_EXP_MASTER 8000
35
36 /* Proficiency of spells */
37 #define SPELL_EXP_UNSKILLED 0
38 #define SPELL_EXP_BEGINNER 900
39 #define SPELL_EXP_SKILLED 1200
40 #define SPELL_EXP_EXPERT 1400
41 #define SPELL_EXP_MASTER 1600
42
43 extern const concptr exp_level_str[5];
44
45 /*
46  * Information about "skill"
47  */
48 typedef struct skill_table {
49     SUB_EXP w_start[5][64]{}; /* start weapon exp */
50     SUB_EXP w_max[5][64]{}; /* max weapon exp */
51     SUB_EXP s_start[10]{}; /* start skill */
52     SUB_EXP s_max[10]{}; /* max skill */
53 } skill_table;
54
55 extern std::vector<skill_table> s_info;