summaryrefslogtreecommitdiff
path: root/src/skill_type.hpp
blob: 95ce3516e2b25114a63e14f2ff9d705ac5a38801 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#pragma once

#include "h-basic.h"
#include "skill_flag_set.hpp"
#include "skills_defs.hpp"

/**
 * Skill descriptors and runtime data.
 */
struct skill_type
{
	const char *name = nullptr;             /* Name */
	char *desc = nullptr;                   /* Description */

	const char *action_desc = nullptr;      /* Action Description */

	s16b action_mkey = 0;                   /* Action do to */

	s32b i_value = 0;                       /* Current value */
	s32b i_mod = 0;                         /* Modifier, i.e. how much value 1 skill point gives */

	s32b value = 0;                         /* Current value */
	s32b mod = 0;                           /* Modifier, i.e. how much value 1 skill point gives */

	s16b action[MAX_SKILLS] = { 0 };        /* List of actions against other skills */

	s16b father = 0;                        /* Father in the skill tree */
	bool_ dev = FALSE;                      /* Is the branch developped ? */
	s16b order = 0;                         /* Order in the tree */
	bool_ hidden = FALSE;                   /* Inactive */

	byte random_gain_chance = 0;            /* Chance to gain from Lost Sword quest; if applicable */

	skill_flag_set flags;                   /* Skill flags */
};