summaryrefslogtreecommitdiff
path: root/src/player_spec.hpp
blob: 52b6f18083be6623818ab0d3f7a4f69cde3f428d (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 "player_race_ability_type.hpp"
#include "player_race_flag_set.hpp"
#include "skill_modifiers.hpp"
#include "skills_defs.hpp"

#include <array>

/**
 * Player class descriptor.
 */
struct player_spec
{
	const char *title = nullptr;                            /* Type of class spec */
	char *desc = nullptr;                                   /* Small desc of the class spec */

	struct skill_modifiers skill_modifiers;

	u32b skill_ideal[MAX_SKILLS] { };                       /* Ideal skill levels at level 50 */

	s16b obj_tval[5] { };
	s16b obj_sval[5] { };
	s16b obj_pval[5] { };
	s16b obj_dd[5] { };
	s16b obj_ds[5] { };
	s16b obj_num = 0;

	u32b gods = 0;

	player_race_flag_set flags;

	std::array<player_race_ability_type, 10> abilities;     /* Abilities to be gained by level(doesnt take prereqs in account) */
};