aboutsummaryrefslogtreecommitdiff
path: root/src/armor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/armor.cc')
-rw-r--r--src/armor.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/armor.cc b/src/armor.cc
new file mode 100644
index 0000000..00e1b05
--- /dev/null
+++ b/src/armor.cc
@@ -0,0 +1,33 @@
+#include "json.hpp"
+#include "armor.h"
+
+using namespace std;
+
+namespace item {
+ Armor::Armor(const nlohmann::json& data) : Item(data), acBonus(data["ac"]), armorType(data["type"]), strRequirement(data["strength"]), stealthDis(data["disadvantage"]) {}
+
+ int Armor::getACBonus() const {
+ return acBonus;
+ }
+
+ string Armor::getArmorType() const {
+ return armorType;
+ }
+
+ int Armor::getStrRequirement() const {
+ return strRequirement;
+ }
+
+ bool Armor::stealthDisadvantage() const {
+ return stealthDis;
+ }
+
+ nlohmann::json Armor::toJson() const {
+ auto data = Item::toJson();
+ data["ac"] = acBonus;
+ data["type"] = armorType;
+ data["strength"] = strRequirement;
+ data["disadvantage"] = stealthDis;
+ return data;
+ }
+}