summaryrefslogtreecommitdiff
path: root/src/player_spec.hpp
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2016-06-20 22:49:05 +0200
committerBardur Arantsson <bardur@scientician.net>2016-06-20 22:49:05 +0200
commit9c26f78ce556d3a0717e4bc5668a1ed59217f414 (patch)
tree4dabc3014c60d469b694022d40405baa8910d843 /src/player_spec.hpp
parent287df870759d0fc854f76d34151a597b9f529b43 (diff)
Change player_{race, spec, class} to non-POD types
Diffstat (limited to 'src/player_spec.hpp')
-rw-r--r--src/player_spec.hpp41
1 files changed, 20 insertions, 21 deletions
diff --git a/src/player_spec.hpp b/src/player_spec.hpp
index 28b32830..5105df31 100644
--- a/src/player_spec.hpp
+++ b/src/player_spec.hpp
@@ -1,38 +1,37 @@
#pragma once
#include "h-basic.h"
+#include "player_race_ability_type.hpp"
#include "skills_defs.hpp"
+#include <array>
+
/**
* Player class descriptor.
*/
struct player_spec
{
- const char *title; /* Type of class spec */
- char *desc; /* Small desc of the class spec */
+ const char *title = nullptr; /* Type of class spec */
+ char *desc = nullptr; /* Small desc of the class spec */
- char skill_basem[MAX_SKILLS]; /* Mod for value */
- u32b skill_base[MAX_SKILLS]; /* value */
- char skill_modm[MAX_SKILLS]; /* mod for mod */
- s16b skill_mod[MAX_SKILLS]; /* mod */
+ char skill_basem[MAX_SKILLS] { }; /* Mod for value */
+ u32b skill_base[MAX_SKILLS] { }; /* value */
+ char skill_modm[MAX_SKILLS] { }; /* mod for mod */
+ s16b skill_mod[MAX_SKILLS] { }; /* mod */
- u32b skill_ideal[MAX_SKILLS]; /* Ideal skill levels at level 50 */
+ 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;
+ 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;
+ u32b gods = 0;
- u32b flags1;
- u32b flags2; /* flags */
+ u32b flags1 = 0;
+ u32b flags2 = 0;
- struct
- {
- s16b ability;
- s16b level;
- } abilities[10]; /* Abilitiers to be gained by level(doesnt take prereqs in account) */
+ std::array<player_race_ability_type, 10> abilities; /* Abilities to be gained by level(doesnt take prereqs in account) */
};