summaryrefslogtreecommitdiff
path: root/src/object_flag_meta.hpp
blob: d488c0d5dddac3587b10b71575d51ba7876ab72f (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#pragma once

#include "object_flag_set.hpp"

#include <vector>

struct object_flag_meta {

	/**
	 * Flag set representation of the object flag.
	 */
	const object_flag_set flag_set;

	/**
	 * Name of the object flag.
	 */
	const char *name;

	/**
	 * Edit file name of the object flag.
	 */
	const char *e_name;

	/**
	 * Character sheet name of the object flag.
	 */
	const char *c_name;

	/**
	 * Character sheet page.
	 */
	const int c_page;

	/**
	 * Character sheet column.
	 */
	const int c_column;

	/**
	 * Character sheet row.
	 */
	const int c_row;

	/**
	 * Character sheet type.
	 */
	char c_type;

	/**
	 * Priority wrt. other flags in the same position
	 * on the character sheet.
	 */
	int c_priority;

	/**
	 * Is this flag *described* using PVAL?
	 */
	bool is_pval;

	/**
	 * Is this a flag which affects ESP?
	 */
	bool is_esp;

};

/**
 * Get a vector of all the object flags.
 */
std::vector<object_flag_meta const *> const &object_flags_meta();

/**
 * Get a flag representing all ESP flags.
 */
object_flag_set const &object_flags_esp();