summaryrefslogtreecommitdiff
path: root/src/player_race_mod.hpp
diff options
context:
space:
mode:
authorManoj Srivastava <srivasta@debian.org>2020-05-22 19:57:41 -0700
committerManoj Srivastava <srivasta@debian.org>2020-05-22 20:02:19 -0700
commitc3d2579ad8d7eb33059aa8fdbaf5b564411a57f2 (patch)
tree1570cda0676fdcf4171a69a7fe313c1b89a52b0c /src/player_race_mod.hpp
parent986b7742bf244b4073ecca0723615f70be8a1ab6 (diff)
parent4e9b9c402ed95bf9a17fd6d795bc49bb4128a6fa (diff)
Merge branch 'upstream' into debian-cmake-fixes
Diffstat (limited to 'src/player_race_mod.hpp')
-rw-r--r--src/player_race_mod.hpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/player_race_mod.hpp b/src/player_race_mod.hpp
new file mode 100644
index 00000000..8eb984b7
--- /dev/null
+++ b/src/player_race_mod.hpp
@@ -0,0 +1,52 @@
+#pragma once
+
+#include "body.hpp"
+#include "h-basic.h"
+#include "object_flag_set.hpp"
+#include "object_proto.hpp"
+#include "player_defs.hpp"
+#include "player_level_flag.hpp"
+#include "player_race_ability_type.hpp"
+#include "player_race_flag_set.hpp"
+#include "player_shared.hpp"
+#include "skill_modifiers.hpp"
+#include "skills_defs.hpp"
+
+#include <array>
+#include <string>
+#include <vector>
+
+struct player_race_mod
+{
+ std::string title;
+ std::string description;
+
+ bool_ place = FALSE; /* TRUE = race race modifier, FALSE = Race modifier race */
+
+ char luck = '\0'; /* Luck */
+ s16b mana = 0; /* Mana % */
+
+ player_shared ps;
+
+ char infra = '\0'; /* (+) Infra-vision range */
+
+ u32b choice[2] { }; /* Legal race choices */
+
+ u32b pclass[2] { }; /* Classes allowed */
+ u32b mclass[2] { }; /* Classes restricted */
+
+ char body_parts[BODY_MAX] { }; /* To help to decide what to use when body changing */
+
+ player_race_flag_set flags;
+
+ std::array<player_level_flag, PY_MAX_LEVEL+1> lflags;
+
+ byte g_attr = 0; /* Overlay graphic attribute */
+ char g_char = '\0'; /* Overlay graphic character */
+
+ struct skill_modifiers skill_modifiers;
+
+ std::vector<object_proto> object_protos;
+
+ std::vector<player_race_ability_type> abilities; /* Abilities to be gained by level; ignores prereqs */
+};